| 中国 |
|
|
|
![]() |
管理 Serviceguard 第 15 版 > 第 3 章 了解
Serviceguard 的软件组件Serviceguard 体系结构 |
|
下图显示 Serviceguard 所使用的主要软件组件。本章较为详细地讨论了这些组件。
Serviceguard 使用下列守护程序:
上述各个守护程序均将日志记录到 /var/adm/syslog/syslog.log 文件中,但 /opt/cmom/lbin/cmomd 守护程序除外,它将日志记录到 /var/opt/cmom/cmomd.log 中。Quorum Server 在群集外部运行。缺省情况下,它将日志记录到标准输出中,建议您将该输出重定向到名为 /var/adm/qs/qs.log 的文件中。 Serviceguard 命令使用该守护程序来收集群集中所有节点的信息。它收集配置信息,如有关网络和卷组的信息。它还将群集二进制配置文件分发给群集中的所有节点。该守护程序由 inetd(1M) 启动。/etc/inetd.conf 文件中包含与该守护程序对应的条目。 通过向 Serviceguard 群集内其他节点上的 cmcld 守护程序发送心跳线消息,该守护程序可确定群集成员。它按照实时优先级运行且锁定在内存中。cmcld 守护程序在内核中设置了一个安全定时器,用于检测内核挂起。如果此定时器未由 cmcld 定期复位,则内核将产生系统 TOC(即控制转移)或 INIT,也就是立即使系统复位而不是进行正常关闭(本手册通常将此事件仅归为系统复位)。发生这种情况的原因可能是 cmcld 无法与大多数群集成员通信;或者是因为 cmcld 异常退出、中止以及无法运行足够长的时间并无法更新内核计时器(内核挂起)。在因安全定时器过期而导致系统复位之前,消息将会写入 /var/adm/syslog/syslog.log 和内核消息的缓冲区中,并执行系统转储。 安全定时器的有效期取决于群集配置参数 HEARTBEAT_INTERVAL 和 NODE_TIMEOUT,还取决于群集配置的特性,如它是使用 Quorum Server 还是使用群集锁(以及锁的类型),以及是否配置了备用 LAN(要进一步的探讨,请参阅“节点超时时发生的情况”。有关设置 HEARTBEAT_INTERVAL 和 NODE_TIMEOUT 的建议,请参阅“群集配置参数 ”)。 cmcld 也管理 Serviceguard 程序包,确定在何处运行它们以及何时启动它们。
cmcld 使用 cmlogd 将消息写入 syslog。任何通过 cmcld 写入 Syslog 的消息都是通过 cmlogd 写入的。这样可以防止在写入 Syslog 的过程中出现的延迟影响 cmcld 的计时。 此守护程序负责将有关群集的信息 提供给客户端 - 需要获取群集对象状态信息的外部产品或工具。 客户端向对象管理器发送查询,并从该管理器接收响应(该通信间接通过 Serviceguard API 完成)。查询将分解为隶属于不同提供者的(多个类的)类别。提供者从各种源(这些源通常包括连接的所有节点上的 cmclconfd 守护程序)收集数据,然后将数据返回到一个中心分解点进行过滤,以满足特定查询的需要。 该守护程序由 inetd(1M) 启动。/etc/inetd.conf 文件中包含与该守护程序对应的条目。 该守护程序可能未在您的系统上运行,它仅用于 Object Manager 的客户端。 该守护程序协同 SNMP 主代理程序为群集管理信息库 (MIB) 提供规范。 SNMP 主代理程序和 cmsnmpd 为与群集相关的事件提供通知(陷阱)。例如,只要群集配置更改或 Serviceguard 程序包发生故障就发送陷阱。您必须编辑 /etc/SnmpAgent.d/snmpd.conf 以告知 cmsnmpd 将该信息发送至何处。 同时还必须编辑 /etc/rc.config.d/cmsnmpagt 以自动启动 cmsnmpd。将 cmsnmpd 配置为在 Serviceguard 群集之前启动。 有关详细信息,请参阅 cmsnmpd (1m) 联机帮助页。 该守护程序按照群集守护程序 cmcld 的要求派生并执行任何脚本或进程。该守护程序执行两种类型的派生操作:
就服务而言,cmcld 用于监视服务进程;同时根据服务重试的次数,cmcld 通过 cmsrvassistd 重新启动服务,或者暂停程序包并将该程序包移到一个可用的备用节点。 使用 Quorum Server 是一种在群集重组时进行仲裁并建立定额的方法;另一种方法是使用群集锁。请参阅“避免脑分裂症状的群集定额”和“群集锁”。 Quorum Server(如果使用它)在群集外部的系统上运行,并且由系统管理员(而不是 Serviceguard)启动。通常使用 respawn 选项从 /etc/inittab 启动此守护程序,这意味着如果此守护程序失败或被强行终止,它也可自动重新启动。群集的所有成员都将启动并维护与 Quorum Server 的连接;如果 Quorum Server 终止运行,则 Serviceguard 节点将会检测到此情况,并定期尝试重新连接 Quorum Server。如果在 Quorum Server 已关闭时对群集进行重组,并且需要仲裁,则此重组将失败并且所有节点将暂停(系统复位)。因此,应尽快重新启动 Quorum Server,这一点很重要。 有关 Quorum Server 软件及其如何工作的详细信息,请参阅《HP Serviceguard Quorum Server 发行说明》,该文档位于 http://docs.hp.com/zh_cn/allproducts.html。 如果正在使用某个锁定 LUN,则 cmdisklockd 将在群集中的每个节点上运行,并且在节点加入群集时,由 cmcld 启动。 群集的每个成员都将启动并维护与 cmdisklockd 守护程序的本地连接。如果 cmdisklockd 守护程序终止运行,将由 cmcld 重新启动它,并且节点将重新连接到该守护程序。如果在 cmdisklockd 终止运行时对群集进行重新配置,并且群集中的某个分区需要仲裁,则这种重新配置将失败。 HP Serviceguard Storage Management Suite 提供了额外的组件,用于与 HP-UX 当前某些版本上的 Veritas Cluster File System 进行接口通信(请参阅“关于 Symantec 的 Veritas CFS 和 CVM”)。管理套件的相应文档可在 http://docs.hp.com 上找到。 Veritas CFS 组件直接在连接群集内节点的以太网上运行。为了避免单点故障,还需要冗余网络。 Veritas CFS 组件包括: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||