对于使用heartbeat v2版的CRM配置的集群信息都是保存在一个名为cib.xml的配置文件中,存放在/var/lib/heartbeat/crm/下。CIB:Cluster Information Base,由于xml文件配置不是那么方便,所以出现了crmsh或者hb_gui等配置工具。由于crmd守护进程监听在TCP 5560端口,它可以接收命令行或者图形化配置工具所编辑的配置信息。
配置信息一般首先是在DC节点实现,各个节点的crmd守护进程之间是可以通信的。想配置集群资源,在集群的任何一个节点使用配置工具连接到该节点的crmd进程,crmd收到编辑的集群资源信息后会首先提交给DC节点,DC收到后保存至cib.xml文件并同步给集群的其他节点,这是heartbeat v1版所不具备的。
上图来自SUSE官方对高可用集群的架构描述。除了展示了高可用集群的4个层次之外,在DC节点上存在了policy engine和transition engine两个组件。policy engine实现整个集群的事务决策,transition engine根据事务决策触发执行相应的操作。transition engine将指令下达给CRM,由CRM传递到LRM,LRM再调用resource agent完成最终的资源操作。而CCM(Cluster Consensus Membership)可以判断哪些节点是否可以成为集群成员,当票数发生变化时该怎么做出决策,可以理解为集群的投票系统。