群集可能配置为同时运行关键任务服务和非关键服务。例如,支持关键客户服务的数据库可能在与非关键研究任务相同的群集中运行。
要确保非关键服务不影响关键服务的性能,可指定关键服务有优先权。通过指定关键服务有优先权,可以防止非关键服务与关键服务在相同的节点上运行。
在所有节点都正常运行的情况下,关键服务在不同于非关键服务的节点上运行。但是,关键服务发生故障可能会导致该服务故障转移到非关键服务运行的节点。在这种情况下,非关键服务会立即脱机以确保节点的计算资源完全专用于关键任务服务。
要指定某个关键服务有优先权,可在每个非关键服务的资源组上声明对包含关键服务的资源组的负向强关联性。
# clresourcegroup set|create -p RG_affinities=--critical-rg noncritical-rg
指定包含非关键服务的资源组。此资源组是要在其上声明对另一个资源组的负向强关联性的资源组。
指定包含关键服务的资源组。此资源组是要对其声明负向强关联性的资源组。
资源组会避开与其有负向强关联性的目标资源组。
将负向强关联性目标脱机时,负向强关联性源可能会在所有节点上脱机。在这种情况下,负向强关联性源会自动联机。一般情况下,资源组会根据节点在节点列表中的顺序和声明的关联性,在最佳首选节点上联机。
例如,资源组 rg1 声明了对资源组 rg2 的负向强关联性。资源组 rg1 最初在所有节点上脱机,而资源组 rg2 则在某个节点上联机。如果管理员将 rg2 脱机,则 rg1 会自动联机。
可以使用 clresourcegroup suspend 命令阻止负向强关联性源由于强关联性或群集重新配置而自动联机。
示例 2-51 指定某项关键服务有优先权此示例展示了修改非关键资源组 ncrg1 和 ncrg2 的命令,这些命令用以确保关键资源组 mcdbrg 优先于这些资源组。此示例假设资源组 mcdbrg、ncrg1 和 ncrg2 存在。
# clresourcegroup set -p RG_affinities=--mcdbrg ncrg1 ncrg2