[Linux-ha-jp] cib.xml でfailback off を実現したい

Back to archive index

Takenaka Kazuhiro taken****@oss*****
2007年 12月 25日 (火) 11:55:26 JST


関根さん

竹中といいます。よろしくお願いいたします。

> 今現在は下記の様にしてみましたが・・・起動してくれません。

起動しないというのは

1. そもそも IPaddr も cmsgrouter も起動しない
2. どちらかのみが起動しない

のどっちでしょう?

これは Heartbeat の起動前にあらかじめ端末を開き crm_mon -i 1 を
実行しておけば確認できます。

あと念のためお聞きしますが /etc/init.d/cmsgrouter という RC は
インストールされているのですよね?

cmsgrouter がどのようなものかはわからないのですが、この RC が
仮想IPアドレス 192.168.30.8 が同一サーバ上に振られていないと
起動できないように設定されている場合、関根さんが提示された
以下の cib.xml の設定では cmsgrouter は起動しない可能性があります。

<primitive id="ip_sample01" class="ocf" type="IPaddr" provider="heartbeat">
  <operations>
    <op id="monitor01" name="monitor" interval="10s" timeout="5s" on_fail="restart"/>
  </operations>
  <instance_attributes id="ip_sample1:attr">
    <attributes>
      <nvpair id="ip01" name="ip" value="192.168.30.8"/>
      <nvpair id="mask01" name="netmask" value="24"/>
      <nvpair id="nic01" name="nic" value="bond0"/>
    </attributes>
  </instance_attributes>
</primitive>
<primitive class="lsb" id="cmsgrouter" type="cmsgrouter">
  <operations>
    <op id="op_start_cmsgrouter" name="start" prereq="nothing" timeout="600s"/>
  </operations>
</primitive>

何故ならばなんの制約も使用せずにプリミティブリソースを複数定義した場合、
Heartbeat はノード当たりのリソース数が均等になるようにリソースを配置
しようとするからです。

この場合だと IPaddr と cmsgrouter は別ノードで起動されます。

同じノードでこれらのリソースを起動するためには次のように group 要素を
用いてグループ化します。

<group id="group0">
  <primitive ... type="IPaddr" ...>
    ...
  </primitive>
  <primitive ... type="cmsgrouter" ...>
    ...
  </primitive>
</group>

定義された順に起動されることにも注意してください。

ではでは。

> 関根です。
> 
> 先日は早期に解答いただきありがとうございました。
> 
> 先日の設定に/etc/init.d 以下に配置したスクリプトをキックする様な設定を
> 追加するにはどうしたら良いでしょうか。
> 
> 実現したいことはVIPがフェイルする際に起動してほしいプロセスを起動したい
> といったものです。
> <primitive class>のなかで実現してある自称をnetで見つけたのですが、どうも
> グループ分けの仕方や、起動したいプロセスの起動動作が理解できません。
> 申し訳有りませんが分かれば教えていただけるとありがたいです。
> 
> 今現在は下記の様にしてみましたが・・・起動してくれません。
> 
> <primitive id="ip_sample01" class="ocf" type="IPaddr" provider="heartbeat">
> <operations>
> <op id="monitor01" name="monitor" interval="10s" timeout="5s"
> on_fail="restart"/>
> </operations>
> <instance_attributes id="ip_sample1:attr">
> <attributes>
> <nvpair id="ip01" name="ip" value="192.168.30.8"/>
> <nvpair id="mask01" name="netmask" value="24"/>
> <nvpair id="nic01" name="nic" value="bond0"/>
> </attributes>
> </instance_attributes>
> </primitive>
> <primitive class="lsb" id="cmsgrouter" type="cmsgrouter">
> <operations>
> <op id="op_start_cmsgrouter" name="start" prereq="nothing" timeout="600s"/>
> </operations>
> </primitive>
> 
> 
> 宜しくお願いします。
-- 
竹中 一博
Takenaka Kazuhiro <taken****@oss*****>





Linux-ha-japan メーリングリストの案内
Back to archive index