用于 Solaris OS 的 Sun Cluster 数据服务规划和管理指南

强制一个资源组与另一个资源组位于同一位置

一个资源组所表示的服务可能非常强烈地依赖于另一个资源组中的服务,从而要求这两种服务必须在同一节点上运行。例如,由多个相互依赖的服务守护进程组成的应用程序可能需要所有守护进程都在同一节点上运行。

在此情况下,应强制依赖服务的资源组与另一个服务的资源组位于同一节点上。要强制某个资源组与另一个资源组位于同一位置,请在该资源组上为另一个资源组声明强正关联。


# scrgadm -c|-a -g source-rg -y RG_affinities=++target-rg
-g source-rg

指定强正关联的源资源组。此资源组是要在其上声明与另一个资源组有强正关联的资源组。

-y RG_affinities=++target-rg

指定强正关联的目标资源组。此资源组是要声明与其有强正关联的资源组。

资源组跟在与其有强正关联的资源组的后面。但是,声明强正关联的资源组无法故障转移到关联的目标资源组尚未在其上运行的节点。


注意 –

仅禁止资源监视器启动的故障转移。如果源资源组和目标资源组正在其上运行的节点发生故障,则这两个资源组将在仍然可用的同一节点上重新启动。


例如,资源组 rg1 为资源组 rg2 声明强正关联。如果 rg2 故障转移到另一个节点,则 rg1 也将故障转移到该节点。即使 rg1 中的所有资源均运行正常,仍将发生此故障转移。但是,如果 rg1 中的资源尝试将 rg1 故障转移到 rg2 未在其上运行的节点,此尝试将被阻止。

如果需要允许声明强正关联的资源组进行故障转移,则必须委托故障转移。有关更多信息,请参见委托资源组的故障转移或切换转移


实例 2–6 强制一个资源组与另一个资源组位于同一位置

此例说明了用于修改资源组 rg1 以声明与资源组 rg2 有强正关联的命令。由于存在此关联关系,因此 rg1 仅在 rg2 运行所在的节点上联机。此例假定两个资源组都存在。


# scrgadm -c -g rg1 -y RG_affinities=++rg2