在Sun Cluster3.1 u3(9/04)及其以后的版本中,为资源组增加了一个新的属性: Rg_Affinities,以此来控制和强化有相互依存关系的资源组之间的行为,而在此版本之前,资源组之间只是具有简单的依存关系.
为了问题的方便描述,将依存的资源组(或称为上层资源组)称之为RG_A,而被依存的资源组(或称为底层资源组)称之为RG_B.
新的资源组级别的Affinity属性为相互依存的资源组提供如下两种基本特性:
- RG_A与RG_B具有同向关系,即节点1拥有对RG_B的控制权(master),则RG_A也跟随在节点1上激活.这种关系称为正向吸引(positive affintity).
- RG_A与RG_B具有逆向关系, 即节点1拥有对RG_B的控制权(master),则RG_A不能够在节点1上激活,只能在cluster的其它节点上被激活,这种关系称为负向吸引(negative affintity).
在资源组的正向吸引关系中,又细分为以下三种:
◎ 弱正向吸引(weak positive affintity),用”+”表示.RG_A与RG_B运行在同一个节点上,假如RG_B由于故障而切换到另一个节点,此时RG_A不跟随切换.
◎ 强正向吸引(strong positive affintity),用”++”表示.RG_A必须与RG_B运行在同一个节点上, 假如RG_B由于故障而切换到另一个节点,此时RG_A也跟随切换;如果RG_A发生故障,但RG_B正常,则RG_A无法切换到另一节点.
◎ 强正向吸引+(strong positive affintity with failover delegation),用”+++”表示.与”++”不同的是,当RG_A故障,但RG_B正常时,RG_A可以切换到另一节点,但RG_B必须先转移到另一节点.
负向吸引关系中,又细分为以下二种:
◎ 弱负向吸引(weak negative affintity),用”-”表示.RG_A与RG_B运行在不同的节点上.假如RG_B由于故障切换到RG_A运行的节点,RG_A将不发生切换,继续运行在该节点.
◎ 强负向吸引(strong negative affintity),用”--”表示.RG_A与RG_B必须运行在不同的节点上. 假如RG_B由于故障切换到RG_A运行的节点上,RG_A将切换到另一节点.
设置/更改资源组的affinity属性:
# scrgadm –c –g RG_A.RG_affinities=[+|++|+++|-|--]RG_B