Sun Cluster 数据服务开发者指南(适用于 Solaris OS)

监视资源

通常需要使用监视器,以对资源运行周期性故障探测程序来检测所测的资源是否工作正常。 如果故障探测程序失败,监视器可尝试在本地进行重启,或通过调用 scha_control () RMAPI 函数或 scds_fm_action() DSDL 函数请求对受影响的资源组进行故障切换。

您也可以监视资源的性能并进行调节或报告性能。 是否编写特定于资源类型的故障监视器完全是可选的操作。 即使您选择不编写故障监视器,Sun Cluster 本身进行的基本群集监视操作也会为资源类型带来好处。 Sun Cluster 将检测主机硬件的故障、主机操作系统的严重故障以及主机的故障,以便可以在其公共网络上进行通信。

尽管 RGM 并不直接调用资源监视器,但它为资源提供了自动启动的监视器。 当使资源脱机时,RGM 将在停止资源本身之前,调用 Monitor_stop 方法来停止该资源在本地节点上的监视器。 当使资源联机时,RGM 将在启动资源本身之后调用 Monitor_start 方法。

scha_control() RMAPI 函数和 scds_fm_action() DSDL 函数(它调用 scha_control())允许资源监视器向其它节点发出资源组的故障切换请求。 作为一种合理性检查,scha_control() 将调用 Monitor_check(如果进行了定义)来确定被请求节点在控制包含该资源的资源组方面是否可靠。 如果 Monitor_check 报告该节点不可靠或方法超时,RGM 将寻找其它节点来接受故障切换请求。 如果 Monitor_check 在所有节点上都失败,将取消故障切换。

资源监视器可以设置 StatusStatus_msg 特性以反映监视器查看到的资源状态。 请使用 RMAPI scha_resource_setstatus() 函数或 scha_resource_setstatus 命令或 DSDL scds_fm_action() 函数来设置这些特性。


注意:

尽管对于资源监视器来说,StatusStatus_msg 具有特定的作用,但是也可以使用任意程序来设置这些特性。


要想获得使用 RMAPI 实现的故障监视器实例,请参阅定义故障监视器。 要想获得使用 DSDL 实现的故障监视器实例,请参阅SUNW.xfnts 故障监视器。 有关在 Sun 提供的数据服务中内置的故障监视器的信息,请参阅Sun Cluster 数据服务规划和管理指南(适用于 Solaris OS)