集群管理器和 Clinfo
群集管理器守护进程 (clstrmgr) 是 PowerHA® SystemMirror® 子系统,用于监控群集并在必要时启动恢复操作。 集群管理器将报告集群行为,以便其他程序可以确定集群中是否发生了更改,并在必要时对那些更改作出响应。
一旦群集管理器获得群集信息,它就会在 PowerHA SystemMirror for AIX® MIB 中维护群集的最新拓扑结构,同时跟踪群集的事件和由此产生的状态。 在客户机或集群节点上运行的 Clinfo 可查询 MIB 的最新集群信息,并通过应用编程接口让应用程序访问 PowerHA SystemMirror AIX MIB 信息。
缺省情况下,Clinfo 将定期轮询 SNMP 进程以获取有关事件的已更新信息(每隔 15 秒轮询一次)。 可以使用选项 (-a) 来启动 Clinfo,该选项使 Clinfo 能够在事件一发生时就接收到此信息。 在这种情况下,集群管理器在接收到事件信息时会发送陷阱消息。 然后 Clinfo 立即查询 MIB 以获取事件信息,而不会等待下一个轮询周期。
当 Clinfo 启动时,它会读取 /usr/sbin/cluster/etc/clhosts 文件。 此文件列示每个相关集群中所有可用节点的服务网络接口 IP 地址或 IP 标签。 Clinfo 通过此文件搜索节点上的活动 SNMP 进程,将从 clhosts 文件中的第一个 IP 地址开始。 一旦找到 SNMP 进程,Clinfo 就会从该 SNMP 进程接收到有关集群的拓扑和状态的信息。
如果此连接中断(例如,节点关闭),那么 Clinfo 会尝试与另一个节点的 SNMP 进程建立连接。 一旦 Clinfo 从它首先与其建立通信的 SNMP 进程接收到集群信息,它就会将集群拓扑信息存放在内部(即,存放在本地节点上动态分配的数据结构中)。 因此,它知道集群中其他节点的情况。
下图显示了集群管理器、Clinfo 以及集群节点之间的关系。

要让 Clinfo 按预期运行, clhosts 文件必须包含所有 PowerHA SystemMirror 服务器和客户端节点的 IP 地址,这样 Clinfo 才能与之通信。 Clinfo 守护进程通过 SNMP 从 PowerHA SystemMirror 服务器节点获取信息,该节点上正在运行群集管理器守护进程 (clstrmgr )。 在启动期间,clinfo 守护程序按如下所示读入 clhosts 文件,以确定哪些节点可以通过 SNMP 进行通信:
- 对于与 clstrmgr 守护程序在同一服务器上运行的 clinfo 守护程序,它将读入基于本地服务器的 /usr/es/sbin/cluster/etc/clhosts 文件,该文件仅包含与回送地址相关联的 IP 地址。
- 对于在客户端节点(即未运行 clstrmgr 守护进程的节点)上运行的 Clinfo 守护进程,为实现最高可用性,基于客户端的 /usr/es/sbin/cluster/etc/clhosts 文件应包含所有 PowerHA SystemMirror 服务器节点的 IP 地址。 这样,如果某个 PowerHA SystemMirror 服务器节点不可用(例如断电),客户端节点上的 clinfo 守护进程就可以尝试通过 SNMP 连接到另一个 PowerHA SystemMirror 服务器节点。
如果 Clinfo 在启动时与本地 SNMP 进程通信未成功,那么它未获取集群映射,因此无法尝试连接至另一个 SNMP 进程。