C 函数用于资源类型的回叫方法的 C 程序实现,该资源类型表示群集的 RGM 所控制的服务。 您可以使用这些函数执行以下操作:
存取关于资源、资源类型、资源组和群集的信息
与监视器配套使用以设置资源的 Status 和 Status_msg 特性
请求重新启动或重定位资源组
将错误代码转换成相应的错误消息
虽然本节中提供了对 C 函数的简单说明,但是各个 (3HA) 手册页中提供的信息才是有关 C 函数的权威参考。 每个函数都对应一个具有相同名称的手册页,除非另外注明。 有关 C 函数的输出变量和返回代码的信息,请参阅 scha_calls( 3HA) 手册页。
下面这些函数用来存取关于 RGM 所管理的资源的信息或用来指示监视器探测到的资源状态。
这些函数共同用于存取有关 RGM 所管理的资源的信息。 scha_resource_open() 函数用来初始化对资源的存取并返回 scha_resource_get () 的句柄,用于存取资源信息。 scha_resource_close() 函数可使该句柄无效并释放为 scha_resource_get() 的返回值分配的内存。
在 scha_resource_open() 返回资源的句柄后,通过群集重新配置或管理操作,可以更改资源; 在这种情况下,scha_resource_get() 通过该句柄获得的信息可能不准确。 对资源进行群集重新配置或管理操作时,RGM 将向 scha_resource_get () 返回 scha_err_seqid 错误代码,以表明该资源的信息可能已更改。 这是一个非致命性错误消息;函数将成功返回。 您可以选择忽略该消息并接受返回的信息;您也可以关闭当前句柄并打开一个新的句柄,以存取该资源的信息。
在单个手册页中描述了这三个函数。 您可以通过以下任意一个函数存取此手册页:scha_resource_open(3HA)、scha_resource_get(3HA) 或 scha_resource_close(3HA)。
设置 RGM 所控制的资源的 Status 和 Status_msg 特性。 资源的监视器使用此函数指示该资源的状态。
虽然对于资源监视器来说 scha_resource_setstatus() 有特定用途,但是任何程序都可以调用该函数。
下面这些函数共同用于存取通过 RGM 登记的资源类型的信息。
scha_resourcetype_open() 函数用来初始化对资源类型的存取并返回 scha_resourcetype_get () 的句柄,用于存取资源类型的信息。 scha_resourcetype_close() 函数可使该句柄无效并释放为 scha_resourcetype_get() 的返回值分配的内存。
在 scha_resourcetype_open() 返回资源类型的句柄后,通过群集重新配置或管理操作,可以更改资源类型;在这种情况下,scha_resourcetype_get() 通过该句柄获得的信息可能不准确。 对资源类型进行群集重新配置或管理操作时,RGM 将向 scha_resourcetype_get() 返回 scha_err_seqid 错误代码,以表明该资源类型的信息可能已更改。 这是一个非致命性错误消息;函数将成功返回。 您可以选择忽略该消息并接受返回的信息;您也可以关闭当前句柄并打开一个新的句柄,以存取关于该资源类型的信息。
在单个手册页中描述了这三个函数。 您可以通过以下任意一个函数存取此手册页:scha_resourcetype_open(3HA)、scha_resourcetype_get(3HA) 或 scha_resourcetype_close(3HA)。
这些函数共同用于存取有关 RGM 所管理的资源组的信息。 scha_resourcegroup_open() 函数用来初始化对资源组的存取并返回 scha_resourcegroup_get () 的句柄,用于存取资源组信息。 scha_resourcegroup_close() 函数可使该句柄无效并释放为 scha_resourcegroup_get() 的返回值分配的内存。
可以在 scha_resourcegroup_open() 返回该资源的句柄后通过群集重新配置或管理操作更改资源类型,这时 scha_resourcegroup_get() 通过该句柄获得信息可能会不准确。 对资源组进行群集重新配置或管理操作时,RGM 将向 scha_resourcegroup_get () 返回 scha_err_seqid 错误代码,以表明该资源组的信息可能已更改。 这是一个非致命性错误消息;函数将成功返回。 您可以选择忽略该消息并接受返回的信息;您也可以关闭当前句柄并打开一个新的句柄,以存取关于该资源组的信息。
请求重新启动 RGM 所控制的资源组或将其重定位到其它节点。
这些函数共同用来存取群集信息,例如节点名称、节点 ID 和节点状态、群集名称、资源组等。
可以在 scha_cluster_open() 返回该资源的句柄后通过群集重新配置或管理操作更改资源,这时 scha_cluster_get() 通过该句柄获得信息可能会不准确。 对群集进行重新配置或管理操作时,RGM 将向 scha_cluster_get() 返回 scha_err_seqid 错误代码,以表明该群集的信息可能已更改。 这是一个非致命性错误;函数将成功返回。 您可以选择忽略该消息并接受返回的信息;您也可以关闭当前句柄并打开一个新的句柄,以存取关于该群集的信息。
返回用作群集记录的系统记录工具的数量。 使用返回值和 Solaris syslog() 函数将事件和状态消息记录到群集记录中。
返回在其上调用该函数的群集节点的名称。
将某个 scha_ 函数返回的错误代码转换成相应的错误消息。 使用此函数和 logger 可以将消息记录到系统日志 (syslog) 中。