实现细节
有两个对 Clinfo 很重要的组件:clinfo 守护程序和 API 库。
clinfo 守护程序是基于 SNMP 的监视器。 SNMP 是一组用于监视和管理基于 TCP/IP 的网络的业界标准。 SNMP 包括一个协议、一个数据库规范和多组数据对象。
多组数据对象构成了管理信息库 (MIB)。 SNMP 提供了包括诸如 IP 地址信息和活动 TCP 连接数目信息的标准 MIB。 实际 MIB 定义被编码到在系统上运行的代理程序。 AIX® 中的标准 SNMP 代理程序是 SNMP 守护程序 snmpd。
程序员使用 SNMP 操作来实现将监视和管理网络的程序。 这些程序可以从 snmpd 接收有关网络状态的信息,然后将此信息传递到客户机和应用程序。
可以使用 SNMP 多路复用 (SMUX) 协议将 SNMP 扩展为包括特定于企业的 MIB,这些 MIB 包含与独立环境或应用程序有关的信息。 管理代理程序(SMUX 同级守护程序)将检索和维护有关在其 MIB 中定义的对象的信息,并对专用的网络监视器或网络管理站提供此信息。
PowerHA® SystemMirror® 软件通过群集管理器守护进程提供 SMUX 对等功能。 Clinfo 守护进程可从 PowerHA SystemMirror MIB(也可间接通过群集管理器)获取此信息。
Clinfo API 库(包括所有变体)与 clinfo 守护程序进行交互,以提供对集群信息的访问权。 虽然可以通过 SNMP 直接获得相同的信息,但 Clinfo 库提供了一个非常简化的编程模型,以使客户机程序能够避免 SNMP API 的复杂性。 Clinfo API 提供了例程来检索与诸如节点或资源组之类的集群实体相关的所有信息(SNMP 要求您逐个访存这些项),并提供了例程来注册特定集群事件(SNMP 需要陷阱来实现类似的功能)。 库的变体(C、C++ 和线程安全等等)为各种运行时环境提供了一致的模型。
只要守护进程能通过 TCP/IP 访问集群节点上的 SNMP, Clinfo 守护进程和库就能在 PowerHA SystemMirror 集群节点或非集群节点上运行。