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

确定使用哪种 StartStop 方法

与使用 Prenet_startPostnet_stop 方法相比,本节介绍了一些有关何时使用 StartStop 方法的提示。您必须对客户机和数据服务的客户机-服务器联网协议的知识都有深入了解,才能确定要使用的正确方法。

使用网络地址资源的服务可能需要按照与逻辑主机名地址配置相对的特定顺序来执行启动或停止步骤。可选的回调方法 Prenet_start 允许资源类型实现在将同一资源组中的网络地址配置为启用之前执行特定的启动操作,而可选的回调方法 Postnet_stop 允许资源类型实现在将同一资源组中的网络地址配置为关闭之后执行特定的关闭操作。

在调用数据服务的 Prenet_start 方法之前,RGM 调用检测网络地址(但不将网络地址配置为启用)的方法。在调用数据服务的 Postnet_stop 方法之后,RGM 调用不检测网络地址的方法。RGM 使资源组联机时,采用以下顺序:

  1. 检测网络地址。

  2. 调用数据服务的 Prenet_start 方法(如果有)。

  3. 将网络地址配置为启用。

  4. 调用数据服务的 Start 方法(如果有)。

RGM 使资源组脱机时采用相反的顺序:

  1. 调用数据服务的 Stop 方法(如果有)。

  2. 将网络地址配置为关闭。

  3. 调用数据服务的 Postnet_stop 方法(如果有)。

  4. 取消检测网络地址。

在决定使用以下哪一个方法时,请首先考虑服务器端:StartStopPrenet_startPostnet_stop 方法。当使同时包含数据服务应用程序资源和网络地址资源的资源组联机时,RGM 将在调用该数据服务资源的 Start 方法之前,调用用来将网络地址配置为启用的方法。因此,如果数据服务需要在启动时将网络地址配置为启用,请使用 Start 方法启动该数据服务。

同样,当使同时包含数据服务资源和网络地址资源的资源组脱机时,RGM 将在调用数据服务资源的 Stop 方法之后,调用用来将网络地址配置为关闭的方法。因此,如果数据服务需要在停止时将网络地址配置为关闭,请使用 Stop 方法来停止该数据服务。

例如,要启动或关闭某个数据服务,您可能需要运行该数据服务的管理实用程序或库。有时,数据服务具有使用客户机-服务器网络接口进行管理的管理实用程序或库。即管理公用程序将调用服务器守护进程,因此可能需要将网络地址配置为启用来使用管理公用程序或库。在此情况中使用 StartStop 方法。

如果数据服务需要在启动和停止时将网络地址配置为关闭,请使用 Prenet_startPostnet_stop 方法来启动和停止该数据服务。请考虑在进行群集重新配置(带有 SCHA_GIVEOVER 参数的 scha_control() 或带有 scswitch 命令的切换)之后,网络地址还是数据服务首先联机的不同情况会不会使客户机软件做出不同响应。例如,客户机实现可能进行最小限度的重试,当确定数据服务端口不可用后将立即放弃重试。

如果数据服务不需要在启动时将网络地址配置为启用,请在将网络接口配置为启用之前启动该数据服务。使用此方法启动数据服务,可确保当网络地址配置为启用时,数据服务能够立即响应客户机请求。其结果是,客户机不太可能停止重试。在这种情况下,请勿使用 Start 方法,最好使用 Prenet_start 方法来启动数据服务。

如果使用 Postnet_stop 方法,在将网络地址配置为关闭时,数据服务资源仍然可用。仅在将网络地址配置为关闭后,才能运行 Postnet_stop 方法。其结果是,数据服务的 TCP 或 UDP 服务端口或其 RPC 程序号始终可供网络上的客户机使用(除非网络地址也未响应)。


注 –

如果在群集中安装 RPC 服务,则该服务不能使用以下程序号:100141、100142 和 100248。这些编号分别专用于 Sun Cluster 守护进程 rgmd_receptionistfedpmfd。如果您安装的 RPC 服务使用上述程序号之一,请更改该 RPC 服务的程序号。


与使用 Prenet_startPostnet_stop 方法相比,决定使用 StartStop 方法时,或者决定同时使用这两套方案,必须考虑服务器和客户机的要求和行为。