Oracle® Solaris Cluster 数据服务规划和管理指南

退出打印视图

更新时间: 2014 年 9 月
 
 

强制一个资源组与另一个资源组共存

某个资源组代表的某项服务对另一个资源组中的某项服务的依赖性是如此之强,以致于这两项服务必须在同一个节点上运行。例如,由多个相互依赖的服务守护进程组成的应用程序可能要求所有守护进程在同一节点上运行。

在这种情况下,应强制使依赖服务的资源组与所需的其他服务的资源组共存。要强制某个资源组与另一个资源组共存,请在该资源组上声明对另一个资源组的正向强关联性。

# clresourcegroup set|create -p RG_affinities=++target-rg source-rg
source-rg

指定作为正向强关联性源的资源组。此资源组是要在其上声明对另一个资源组的正向强关联性的资源组。

-p RG_affinities=++target-rg

指定作为正向强关联性目标的资源组。此资源组是要对其声明正向强关联性的资源组。

资源组会跟随与其有正向强关联性的目标资源组。如果目标资源组迁移到了其他节点,则源资源组会自动切换到与目标相同的节点。但是,会阻止声明了正向强关联性的资源组故障转移到关联性目标尚未运行的节点上。


注 -  仅阻止由资源监视器发起的故障转移。如果在运行源资源组和目标资源组的节点发生故障,则两个资源组都会故障转移到同一个存活节点。

例如,资源组 rg1 声明了对资源组 rg2 的正向强关联性。如果 rg2 故障转移到其他节点,则 rg1 也会故障转移到该节点。即使 rg1 中的所有资源都正常,也会发生这种故障转移。但是,如果 rg1 中的某个资源尝试将 rg1 故障转移到未运行 rg2 的节点,该尝试将被阻止。

在将正向强关联性的目标联机时,正向强关联性的源可能在所有节点上处于脱机状态。在这种情况下,正向强关联性的源会在与目标相同的节点上自动联机。

例如,资源组 rg1 声明了对资源组 rg2 的正向强关联性。两个资源组在所有节点上最初都处于脱机状态。如果管理员将 rg2 在某个节点上联机,则 rg1 也会在同一个节点上自动联机。

可以使用 clresourcegroup suspend 命令阻止资源组由于强关联性或群集重新配置而自动联机。

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

示例 2-48  强制一个资源组与另一个资源组共存

以下示例展示了修改资源组 rg1 以使其声明对资源组 rg2 的正向强关联性的命令。这种关联关系导致的结果是 rg1 仅在 rg2 运行的节点上联机。此示例假设两个资源组都存在。

# clresourcegroup set -p RG_affinities=++rg2 rg1