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

控制和初始化回叫方法

主要的控制和初始化回叫方法用来启动和停止资源。 其它方法用来执行对资源的初始化和终止代码。

Start

当包含该资源的资源组在某个群集节点联机时,会对此节点调用此必需方法。 此方法激活该节点上的资源。

在所激活的资源启动并且在本地节点上可用之前,Start 方法不应退出。 因此,在退出之前,Start 方法应轮询该资源,以确定该资源是否已启动。 此外,您应该为此方法设置足够长的超时值。 例如,某些资源(例如数据库守护程序)需要较长的时间进行启动,因此,就要求该方法具有较长的超时值。

RGM 对 Start 方法失败的响应方式取决于 Failover_mode 特性的设置。

资源类型登记文件中的 START_TIMEOUT 特性用来设置资源的 Start 方法的超时值。

Stop

当包含该资源的资源组在群集节点上脱机时,将对该群集节点调用此必需方法。 如果该资源处于激活状态,则此方法可取消激活该资源。

在所控制资源在本地节点上完全停止所有活动并关闭所有文件描述符之前,Stop 方法不应退出, 否则,因为 RGM 将认为该资源已经停止,而实际上它仍处于活动状态,就会导致数据被破环。 避免数据被破坏的最可靠方法是终止与该资源有关的本地节点上的所有进程。

在退出之前,Stop 方法应该轮询该资源,以确定该资源是否停止。 此外,您应该为此方法设置足够长的超时值。 例如,某些资源(如数据库守护程序)需要较长的时间进行停止操作,因此,就要求该方法具有较长的超时值。

RGM 对 Stop 方法失败的响应方式取决于 Failover_mode 特性的设置 (请参阅表 A–2)。

资源类型登记文件中的 STOP_TIMEOUT 特性用来设置资源的 Stop 方法的超时值。

Init

当资源变为被管理的资源时(资源所在的资源组从未被管理状态切换到已管理状态或资源创建在已被管理的资源组中),调用此可选方法以对资源执行一次性初始化。 对哪些节点调用该方法由 Init_nodes 资源特性决定。

Fini

当资源变为未被管理的资源时(资源所在的资源组切换到未被管理状态或从被管理的资源组中删除了该资源),调用此可选方法以清除资源。 对哪些节点调用该方法由 Init_nodes 资源特性决定。

Fini

此可选方法与 Init 相似,在包含资源的资源组处于 RGM 的管理之下后调用此方法可初始化与群集相连接的节点上的资源。 对哪些节点调用该方法由 Init_nodes 资源特性决定。 引导或重新引导操作导致该节点连接或重新连接群集时,将调用 Boot 方法。


注意:

InitFiniBoot 方法的失败将导致 syslog() 函数生成错误消息,但是不会影响该资源的 RGM 管理。