| 中国 |
|
|
|
![]() |
管理 MC/ServiceGuard > 第 3 章 了解
MC/ServiceGuard 软件组件MC/ServiceGuard 的体系结构 |
|
下图显示 MC/ServiceGuard 所使用的主要软件组件。本章较为详细地讨论了这些组件。 共有九个守候进程与 ServiceGuard 有关。它们是:
除仲裁服务器外的每一守候进程都记录到 /var/adm/syslog/syslog.log 文件中,仲裁服务器记录到标准输出(建议您将输出重定向到名为 /var/adm/qs/qs.log 的文件)和 /usr/lbin/cmomd 中,/usr/lbin/cmomd 记录到 /var/opt/cmom/cmomd.log 中。 该守候进程是 ServiceGuard 命令和 SAM 接口用来收集群集中所有节点信息的。它收集配置信息,如关于网络或卷组的信息。它还给群集中所有节点分配群集二进制配置文件。此守候进程由 inetd(1M) 启动。在 /etc/inetd.conf 文件中有几个条目。 通过向 ServiceGuard 群集内其他节点上的 cmcld 守候进程发送心跳线消息,该守候进程可以用来确定群集成员身份。它按照实时优先级运行且锁定在内存中。cmcld 守候进程在内核中设置了一个安全定时器,用于检测内核暂挂。如果此定时器未由 cmcld 定期复位,则内核将产生系统 TOC,即控制转移,它意味着 CPU 的复位和崩溃转储文件的创建。此现象的发生可能是因为 cmcld 无法与群集的大多数成员通信,或者是因为 cmcld 异常退出、异常终止或无法运行足够长的时间而导致无法更新内核定时器,即出现内核挂起。在由于安全定时器到期而出现 TOC 之前,消息将写入 /var/adm/syslog/syslog.log 和内核的消息缓冲区。 cmcld 守候进程还检测系统中网络的健康状况并执行本地局域网故障切换。最后,此守候进程负责 ServiceGuard 程序包的管理,确定在何处运行它们以及何时启动它们。
cmcld 用 cmlogd 将信息写入系统日志。任何通过 cmcld 写入 syslog 的信息都用 cmlogd 来写。这样就会避免向系统日志的写入延迟对 cmcld 的定时造成影响。 此守候进程负责将有关群集的信息提供给客户端,即外部产品或工具,如 ServiceGuard Manager,它们需要知道群集对象的状态。客户机向对象管理器发送查询,并从该管理器接收响应。此守候进程可能未在您的系统上运行,它仅用于对象管理器的客户机。 cmomd 接受来自客户机的连接,并检验查询。查询将分解为可由各种提供者服务的类别(属于类)。提供者从各种来源收集信息,这些来源通常包括连接的所有节点上的 cmclconfd 守候进程,然后将数据返回到一个中心分解点进行过滤,以切实满足客户机查询的需要。此守候进程由 inetd(1M) 启动。在 /etc/inetd.conf 文件中有几个条目。 该守候进程是 ClusterView 用来获取群集信息的。此守候进程产生群集 MIB。有关群集 MIB 的详细信息可以在 URL http://docs.hp.com/hpux/ha 中的 Frequently Asked Questions(常见问题解答)区域下找到。只有在 /etc/rc.config.d/cmsnmpagt 文件被编辑成自动启动此辅助代理程序时,它才可运行。cmsnmpd 只有在 ServiceGuard 群集之前启动才能正确执行。 该守候进程按照群集守候进程 cmcld 的要求衍生并执行任何脚本或进程。该守候进程执行两种类型的衍生指令:
就服务而言,cmcld 可监视服务进程,并且,根据服务进程重试次数的多少,cmcld 或者通过 cmsrvassistd 重新启动服务进程,或者暂停程序包并将该程序包移到一个可用的备用节点。 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||