失效域是集群成员的子集。失效域有一下的特性:
无限制 — 允许你指定要优选的成员子集,但是被分派到这个域的服务可以在任何可用的成员上运行。
有限制 — 允许你限制能够运行某个特定服务的成员。如果在限制的失效转移域中没有一个可用的成员,服务就无法被启动(手工启动或被群集软件启动)。
无序 — 当服务被分派给一个无序的失效转移域,运行服务的成员就会从失效转移域成员中不按优先顺序被选择。
有序 — 允许你在失效转移域成员中指定一个优选顺序。在列表最前面的是最优先的,跟着是次一级的,依此类推。
按照默认设置,失效转移域是无限制和无序的。
CCS 支持集群信息的在线改变,而且会自动同步到其他的节点。
3.2 失效切换能力
类似于STONITH,fence设备是一个节点在它重新启动它的服务前可以power cycle另一个节点。
Fence设备可以在一个没有响应的节点恢复后,防止数据冲突。如果CMAN检测到一个节点失败, 失败的节点会从集群中删除。如果不使用fence设备,那么一个失效的节点可能会导致集群服务在多余一个节点运行,从而造成数据冲突甚至是系统崩溃。
四.针对这两个厂家的商业高可用性解决方案如何选择:
表1 对Red Hat 和 Novell 高可用软件的作了技术比较。

表一
个人认为:
对于费用敏感的企业Heartbeat是个不错的选择,它在Novell的发行版中提供。
对于想寻求易用的企业可以选在RHCS和它的GUI功能。RHCS和RHEL是独立的产品
高可用集群软件通常要包括几个通用的特性。至少要提供:
1.一种机制来定义哪些系统可以被用作集群节点
2.哪些服务或者应用可以在节点间作失效切换(fail-over)
3.节点间内部相互通信的方式
4.当失效的节点控制相同的集群资源的情况下,防止资源的冲突
5.防止集群裂脑(split-brain)发生
6.Fence机制或者更加复杂的I/O fence机制
7.提供集群合作管理的机制
8.提供监控工具
9.预先定义的应用和服务的监控脚本
二.Heartbeat和SUSE Linux Enterprise Server
Heartbeat来自于High-Availability项目 (
www.linux-ha.org)。SLES9和SLES10所带的版本不同,SLES9包含的版本是Heartbeat1.x, 它允许创建2个节点的集群,提供基本的高可用性failover服务。SLES10包含的版本是Heartbeat2.x.它允许创建多个节点的集群,提供增强的特性
2.1) Heartbeat 1.x的特性
Heartbeat1.x允许集群节点和资源通过/etc/ha.d目录下面的两个文件来配置
ha.cf:定义集群节点,失效检测和切换时间间隔,集群时间日志机制和节点Fence方法
haresources: 定义集群资源组,每一行定义可以一起进行失效切换的一个默认的节点和一组资源,资源包括IP地址,文件系统,服务或者应用
2.2) Heartbeat 2.0的特性
Heartbeat 2.0 即支持基于Heartbeat1.x 的配置(仅限于2个节点)又支持模块结构的配置方法-集群资源管理器(Cluster Rescource Manager-CRM).
CRM模型可以支持最多16个节点,这个模型使用基于XML的集群信息(Cluster Information Base-CIB)配置。CIB文件(/var/lib/heartbeat/crm/cib.xml)会在各个节点间自动复制,它定义了下面的对象和动作:
*集群节点
*集群资源,包括属性,优先级,组和依赖性
*日志,监控,仲裁和fence标准
*当服务失败或者其中设定的标准满足时,需要执行的动作