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

监视资源

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

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

尽管 RGM 并不直接调用资源监视器,但是 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 属性来反映监视器所监测到的资源状态视图。使用 scha_resource_setstatus() RMAPI 函数、scha_resource_setstatus 命令或 scds_fm_action() DSDL 函数来设置这些属性。


注 –

尽管 StatusStatus_msg 属性对于资源监视器有特定的作用,但是任何程序均可以设置这些属性。


要获得使用 RMAPI 实现的故障监视器的示例,请参见定义故障监视器。要获得使用 DSDL 实现的故障监视器的示例,请参见SUNW.xfnts 故障监视器。有关在 Sun 提供的数据服务中内置的故障监视器的信息,请参见《Sun Cluster Data Services Planning and Administration Guide for Solaris OS》