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

控制和初始化回调方法

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

Start

当包含资源的资源组在群集节点上联机后,RGM 将在该节点上运行此方法。此方法激活该节点上的资源。

Start 方法激活的资源启动并在本地节点上可用之前,不应退出 Start 方法。因此,在退出之前,Start 方法应轮询该资源,以确定该资源是否已启动。另外,应为此方法设置足够长的超时值。例如,诸如数据库守护进程之类的特定资源需要较长的时间才能启动,因而要求方法有较长的超时值。

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

资源类型注册 (RTR) 文件中的 Start_timeout 属性用于为资源的 Start 方法设置超时值。

Stop

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

Stop 方法控制的资源完全停止该资源在本地节点上的所有活动并关闭所有文件描述符之前,不应退出 Stop 方法。否则,由于 RGM 假定资源已停止,而实际上该资源仍处于活动状态,可能会导致损坏数据。避免损坏数据的最安全的方法是终止与资源相关的本地节点上的所有进程。

在退出之前,Stop 方法应该轮询该资源,以确定该资源是否停止。另外,应为此方法设置足够长的超时值。例如,诸如数据库守护进程之类的特定资源需要较长的时间才能停止,因而要求方法有较长的超时值。

RGM 响应 Stop 方法失败的方法取决于 Failover_mode 属性的设置。请参见资源属性

RTR 文件中的 Stop_timeout 属性用于为资源的 Stop 方法设置超时值。

Init

当资源成为受管理的资源后,RGM 将运行此可选方法来执行对资源的一次性初始化。当 RGM 的资源组从不受管理状态切换为受管理状态时,或者当在受管理资源组中创建资源时,RGM 将运行此方法。对 Init_nodes 资源属性所标识的节点调用此方法。

Fini

当资源成为不受管理的资源之后,RGM 将运行此可选方法以清理该资源。当 RGM 的资源组切换为不受管理的状态时,或从受管理的资源组中删除资源时,RGM 将运行此方法。对 Init_nodes 资源属性所标识的节点调用此方法。

Boot

当包含资源的资源组已经受 RGM 管理之后,RGM 将运行此可选方法(类似于 Init)以初始化加入了群集的节点上的资源。RGM 将在由 Init_nodes 资源属性标识的节点上运行此方法。由于引导或重新引导节点而使节点加入或重新加入群集时,将调用 Boot 方法。


注 –

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