あるリソースグループによって表されるサービスが、2 つ目のリソースグループ内のサービスを使用することがあります。その結果、これらのサービスは、同じノード上で実行されている場合にもっとも効率的に実行されます。たとえば、データベースを使用するアプリケーションは、そのアプリケーションとデータベースが同じノード上で実行されている場合にもっとも効率的に実行されます。ただし、効率の低下の方がリソースグループのフェイルオーバーの増加より害は少ないため、各サービスを別のノード上で実行できます。
この状況では、可能であれば両方のリソースグループが共用されるように指定します。リソースグループの別のリソースグループとの優先共用関係を指定するには、そのリソースグループ上で、ほかのリソースグループに対する弱い肯定的なアフィニティーを宣言します。
# clresourcegroup set|create -p RG_affinities=+target-rg source-rg
弱い肯定的なアフィニティーのソースであるリソースグループを指定します。このリソースグループは、別のリソースグループに対する弱い肯定的なアフィニティーを宣言している場所のリソースグループです。
弱い肯定的なアフィニティーのターゲットであるリソースグループを指定します。このリソースグループは、弱い肯定的なアフィニティーを宣言している相手のリソースグループです。
あるリソースグループ上で別のリソースグループに対する弱い肯定的なアフィニティーを宣言することによって、両方のリソースグループが同じノード上で実行される確率が高くなります。弱い肯定的なアフィニティーのソースは、その弱い肯定的なアフィニティーのターゲットがすでに実行されているノード上で最初にオンラインになります。ただし、リソースモニターのために弱い肯定的なアフィニティーのターゲットがフェイルオーバーした場合、そのアフィニティーのソースはフェイルオーバーしません。同様に、弱い肯定的なアフィニティーのターゲットがスイッチオーバーされた場合、そのアフィニティーのソースはフェイルオーバーしません。どちらの状況でも、このソースは、すでに実行されているノード上でオンラインのままになります。
この例では、リソースグループ rg1 を、リソースグループ rg2 に対する弱い肯定的なアフィニティーを宣言するように変更するためのコマンドを示します。このアフィニティー関係の結果として、rg1 と rg2 は、同じノード上で最初にオンラインになります。ただし、rg2 内のリソースのために rg2 がフェイルオーバーした場合、rg1 は、これらのリソースグループが最初にオンラインになったノード上でオンラインのままになります。この例では、両方のリソースグループが存在すると仮定します。
# clresourcegroup set -p RG_affinities=+rg2 rg1