我一直在考虑尝试一些免费集群软件。IIUC 我们服务器的两个主要用途,Apache 和 PostgreSQL,可以通过负载平衡模块和 Slony-I 复制设置为在集群上冗余运行。文件共享也可以,可能更容易一些。
您通常需要提供哪些重要的服务?不会能够在集群上托管(即,您或多或少会被困在一台强大的机器上托管?)
答案1
为了使集群运行可靠,人们真的以令人难以置信的方式发挥创造力。
说到集群(或者至少是 HA 集群),有共享存储集群和无共享集群。共享存储集群通常在集中式阵列(如 SAN)上使用集群感知文件系统。它们使用 OCFS、GFS 或类似的东西。
这些上运行的服务有时是主动/主动的,其中两台机器都完全能够向客户端提供全方位的服务,并且通常使用加权或循环式负载平衡,但也可以设置为主动/被动的,其中“首选”机器充当服务器直到它发生故障,在这种情况下另一个集群成员将接管。
无共享集群通常为主动/被动模式,因为需要状态更改才能激活被动成员。随着 DRBD 等技术的出现,这种情况正在改变,DRBD 使用网络上的块级文件系统复制。
使用这两种方法中的一种,我能想到的几乎所有服务都可以在服务器阵列上进行复制,特别是如果你不太在意将状态文件放在哪里。如果所有内容(包括锁定文件)都从集中存储中引用,甚至可以在客户端不冻结的情况下复制 NFS。
总体而言,企业计算一直坚信单机正常运行时间并不比服务可用性更重要。为此,服务的设计应确保一台机器发生故障并不意味着对用户造成影响。