| 中国 |
|
|
|
![]() |
管理 Serviceguard 第 13 版 > 第 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,则可以通过注释掉 /etc/inetd.conf 中的下列条目执行此操作:
然后强制 inetd 重新读取 inetd.conf: /usr/sbin/inetd -c 可以通过尝试执行以下命令检查以上操作实际上是否禁用了 Serviceguard: cmquerycl -n 节点名 其中,节点名是本地系统的名称。 如果该命令失败,则表明已经成功禁用了 Serviceguard。
通过向 Serviceguard 群集内其他节点上的 cmcld 守护程序发送心跳线消息,该守护程序可确定群集成员。它按照实时优先级运行且锁定在内存中。cmcld 守护程序在内核中设置了一个安全定时器,用于检测内核挂起。如果此定时器未由 cmcld 定期复位,则内核将产生系统 TOC(即控制转移),也就是立即暂停系统而不是进行正常关闭。发生这种情况的原因可能是 cmcld 无法与大多数群集成员通信;或者是因为 cmcld 异常退出、中止以及无法运行足够长的时间并无法更新内核计时器(内核挂起)。在因安全定时器过期而导致 TOC 之前,消息将会写入 /var/adm/syslog/syslog.log 和内核消息的缓冲区中,并执行系统转储。 安全定时器的有效期取决于群集配置参数 HEARTBEAT_INTERVAL 和 NODE_TIMEOUT,还取决于群集配置的特性,如它是使用 Quorum Server 还是使用群集锁(以及锁的类型),以及是否配置了备用 LAN(要进一步的探讨,请参阅“节点超时时发生的情况”。有关设置 HEARTBEAT_INTERVAL 和 NODE_TIMEOUT 的建议,请参阅“群集配置参数 ”)。 cmcld 守护程序还监视群集网络的运行状况并执行本地局域网故障切换。最后,cmcld 管理 Serviceguard 程序包,确定在何处运行它们以及何时启动它们。
cmcld 使用 cmlogd 将消息写入 syslog。任何通过 cmcld 写入 Syslog 的消息都是通过 cmlogd 写入的。这样可以防止在写入 Syslog 的过程中出现的延迟影响 cmcld 的计时。 该守护程序负责将有关群集的信息提供给客户端 - 需要获取群集对象状态信息的外部产品或工具(如 Serviceguard Manager 的工作站管理版本以及插件程序的命令行版本)。 客户端向对象管理器发送查询,并从该管理器接收响应(该通信间接通过 Serviceguard API 完成)。查询将分解为隶属于不同提供者的(多个类的)类别。提供者从各种源(这些源通常包括连接的所有节点上的 cmclconfd 守护程序)收集数据,然后将数据返回到一个中心分解点进行过滤,以满足特定查询的需要。 该守护程序由 inetd(1M) 启动。/etc/inetd.conf 文件中包含与该守护程序对应的条目。 该守护程序可能未在您的系统上运行,它仅用于 Object Manager 的客户端。 Serviceguard Manager 的管理工作站版本使用该守护程序获取有关群集的信息。该守护程序生成群集 MIB(有关群集 MIB 的详细信息,请访问 http://docs.hp.com -> High Availability 并查看 Frequently Asked Questions 下面的内容)。只有编辑了 /etc/rc.config.d/cmsnmpagt 文件以自动启动该子代理时,cmsnmpd 才会运行。为确保正常运行,cmsnmpd 必须在 Serviceguard 群集之前启动。 该守护程序按照群集守护程序 cmcld 的要求派生并执行任何脚本或进程。该守护程序执行两种类型的派生操作:
就服务而言,cmcld 监视服务进程;同时根据服务重试的次数,cmcld 通过 cmsrvassistd 重新启动服务,或者暂停程序包并将该程序包移到一个可用的备用节点。 使用 Quorum Server 是一种在群集重组时进行仲裁并建立定额的方法;另一种方法是使用群集锁。请参阅“避免脑分裂症状的群集定额”和“群集锁”。 Quorum Server(如果使用它)在群集外部的系统上运行,并且由系统管理员(而不是 Serviceguard)启动。通常使用 respawn 选项从 /etc/inittab 启动此守护程序,这意味着如果此守护程序失败或被强行终止,它也可自动重新启动。 群集的所有成员都将启动并维护与 Quorum Server 的连接;如果 Quorum Server 终止运行,则 Serviceguard 节点将会检测到此情况,并定期尝试重新连接 Quorum Server。 如果在 Quorum Server 已关闭时对群集进行重组,并且需要仲裁,则此重组将失败并且所有节点将暂停 (TOC)。 因此,应尽快重新启动 Quorum Server,这一点很重要。 HP Serviceguard Storage Management Suite 提供了额外的组件,用于与 HP-UX 当前某些版本上的 VERITAS Cluster File System 进行接口通信(请参阅“关于 VERITAS CFS 和 CVM”)。管理套件的相应文档可在 http://docs.hp.com 上找到。 VERITAS CFS 组件直接在连接群集内节点的以太网上运行。为了避免单点故障,还需要冗余网络。 VERITAS CFS 组件包括: |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||