別冊あんどりゅーくん(第4号)


先日、Pacemaker 1.1.7のリリースノートを紹介させていただきましたが
そのなかで気になっていた項目を調べてみました。

  • 順序制約の新機能について
  • 複数STONITHの設定について
  • 故障時にフェイルカウントがインクリメントされない
  • on-failの設定が反映されない



順序制約の新機能について
順序制約にrequire-allを設定すると、次のような動作が可能となります。
例) リソースAもしくはリソースBのいずれかが起動していればリソースCは起動することができる。

今回は、A,Bという2個のリソースに対してrequire-allを設定しましたが、3個以上のリソースに対しても同様の条件を設定することができます。


設定例)

<resources>
 <primitive class="ocf" id="A" provider="pacemaker" type="Dummy"/>
 <primitive class="ocf" id="B" provider="pacemaker" type="Dummy">
 <primitive class="ocf" id="C" provider="pacemaker" type="Dummy"/>
</resources>

<constraints>
 <rsc_order id="order01">
   <resource_set id="require-all-set-1" sequential="false" require-all="false">
     <resource_ref id="A"/>
     <resource_ref id="B"/>
   </resource_set>
   <resource_set id="require-all-set-2">
     <resource_ref id="C"/>
   </resource_set>
  </rsc_order>
</constraints>

えーっと、いつもの便利なcrm shellさんは、まだrequire-allに対応していません!
というわけで久しぶりにXMLでごりごり設定してみましたが、require-allはまだちょっと微妙だなーということがわかりました。
上記の設定を使用して、1ノードで動作を確認してみると確かに期待通りに動いています。
でも、2ノードで試してみると、colocationとかlocationを設定していないのでAとBが別のノードで起動しちゃうんですよね。
AとBとCは同じノードで起動させたい場合が多いんじゃないかなと思うんですがcolocationを設定するとrequire-allが効いてませんでした。
これはまだちょっとお披露目程度の機能だと思っていたほうがよいですね。

Pages: 1 2 3

Comments are closed.