midja****@tsuna*****
midja****@tsuna*****
2013年 6月 25日 (火) 18:03:27 JST
松浦と申します。 アドバイスをいただきたくメールさせていただきました。 以前STONITHの動作について質問いたしました。 その後、gihyo.jpの紹介ページ(http://gihyo.jp/admin/serial/01/pacemaker/0004?page=1)に設定ファイル例としてある apache+stonith.crmファイル((http://image.gihyo.co.jp/assets//files/admin/serial/01/pacemaker/0004/apache+stonith.crm) を参考にstonith-helper,meatwareを設定しました。 【問題】 動作評価のためにインターコネクトLANをすべて抜いてSTONITHの動作を確認したところ プライマリ、セカンダリの状態にかかわらずnode01.hoge.com(192.168.0.1)が再起動するようになった 【構成】 ノード :node01.hoge.com , node02.hoge.com サービスLAN :192.168.0.1 , 192.168.0.2 仮想IP :192.168.0.3 インターコネクトLAN:192.168.1.1/192.168.2.1 , 192.168.1.2/192.168.2.2 IPMIポート :192.168.3.10 , 192.168.3.20 使用しているRA :drbd , Filesystem , IPaddr2 , pingd 【以下設定したファイル】 ----ここから------------------------------------------------- #####クラスタ全体に関係する設定 property $id="cib-bootstrap-options" \ no-quorum-policy="ignore" \ stonith-enabled="true" \ startup-fencing="false" #####リソース動作のデフォルト値を設定 rsc_defaults $id="rsc-options" \ resource-stickiness="INFINITY" \ migration-threshold="1" #####リソースを登録 #DRBD primitive res_drbd0 ocf:linbit:drbd \ params \ drbd_resource="r0" \ drbdconf="/etc/drbd.conf" \ op start timeout="240s" interval="0s" on-fail="restart" \ op monitor timeout="60s" interval="10s" on-fail="restart" \ op stop timeout="100s" interval="0s" on-fail="fence" #Filesystem primitive res_fs_drbd0 ocf:heartbeat:Filesystem \ params \ device="/dev/drbd0" \ directory="/hogeroot" \ fstype="ext3" \ op start timeout="60s" interval="0s" on-fail="restart" \ op monitor timeout="60s" interval="10s" on-fail="restart" \ op stop timeout="60s" interval="0s" on-fail="fence" #IPaddr2 primitive res_vip ocf:heartbeat:IPaddr2 \ params \ nic="eth0" \ ip="192.168.0.3" \ cidr_netmask="24" \ op start timeout="60s" interval="0s" on-fail="restart" \ op monitor timeout="60s" interval="10s" on-fail="restart" \ op stop timeout="60s" interval="0s" on-fail="fence" #pingd primitive res_ping ocf:pacemaker:pingd \ params \ name="default_ping_set" \ host_list="192.168.0.254" \ multiplier="100" \ interval="1" \ timeout="2" \ attempts="5" \ dampen="15" #####グループ登録 group rg_drbd \ res_vip res_fs_drbd0 #####マスタースレーブ制御 ms ms_drbd0 res_drbd0 \ meta \ master-max="1" \ master-node-max="1" \ clone-max="2" \ clone-node-max="1" \ notify="true" #####クローン制御 clone cl_ping res_ping \ meta \ clone-max="2" \ clone-node-max="1" #####ロケーション設定 location loc_rg_drbd rg_drbd \ rule 200: #uname eq node01.hoge.com \ rule 100: #uname eq node02.hoge.com \ rule role=master -inf: defined fail-count-res_fs_drbd0 \ rule role=master -inf: defined fail-count-res_vip \ rule -inf: defined default_ping_set and default_ping_set lt 100 location loc_ms_drbd0 ms_drbd0 \ rule 200: #uname eq node01.hoge.com \ rule 100: #uname eq node02.hoge.com \ rule role=master -inf: defined default_ping_set and default_ping_set lt 100 #####リソースの制約設定 colocation col_rg_on_drbd inf: rg_drbd ms_drbd0:Master order ord_rg_aft_drbd inf: ms_drbd0:promote rg_drbd:start #####STONITH設定 #stonith-helperリソースを追加(node01.hoge.comフェンシング用) primitive stonith1-1 stonith:external/stonith-helper \ params \ priority="1" \ stonith-timeout="80s" \ hostlist="node01.hoge.com" \ dead_check_target="192.168.0.1 192.168.1.1 192.168.2.1 192.168.3.10" \ standby_check_command="/usr/sbin/crm_resource -r vip -W | grep -q `hostname`" \ op monitor interval="10s" #ipmiリソースを追加(node01.hoge.comフェンシング用) primitive stonith1-2 stonith:external/ipmi \ params \ priority="2" \ userid="user" \ passwd="pass" \ ipaddr="192.168.3.10" \ hostname="node01.hoge.com" \ interface="lanplus" \ op monitor interval="300s" #meatwareリソースを追加(node01.hoge.comフェンシング用) primitive stonith1-3 stonith:meatware \ params \ priority="3" \ stonith-timeout="600s" \ hostlist="node01.hoge.com" \ op monitor interval="3600s" #stonith-helperリソースを追加(node02.hoge.comフェンシング用) primitive stonith2-1 stonith:external/stonith-helper \ params \ priority="1" \ stonith-timeout="80s" \ hostlist="node02.hoge.com" \ dead_check_target="192.168.0.2 192.168.1.2 192.168.2.2 192.168.3.20" \ standby_check_command="/usr/sbin/crm_resource -r vip -W | grep -q `hostname`" \ op monitor interval="10s" #ipmiリソースを追加(node02.hoge.comフェンシング用) primitive stonith2-2 stonith:external/ipmi \ params \ priority="2" \ userid="user" \ passwd="pass" \ ipaddr="192.168.3.20" \ hostname="node02.hoge.com" \ interface="lanplus" \ op monitor interval="300s" #meatwareリソースを追加(node02.hoge.comフェンシング用) primitive stonith2-3 stonith:meatware \ params \ priority="3" \ stonith-timeout="600s" \ hostlist="node02.hoge.com" \ op monitor interval="3600s" #node01.hoge.comをフェンシングするSTONITHリソースのグループ設定を追加 group grpStonith1 \ stonith1-1 stonith1-2 stonith1-3 #node02.hoge.comをフェンシングするSTONITHリソースのグループ設定を追加 group grpStonith2 \ stonith2-1 stonith2-2 stonith2-3 #grpStonith1がnode02.hoge.com上で起動する制約を追加 location location-grpStonith1 grpStonith1 \ rule 200: #uname eq node02.hoge.com \ rule -inf: #uname eq node01.hoge.com # grpStonith2がnode01.hoge.com上で起動する制約を設定 location location-grpStonith2 grpStonith2 \ rule 200: #uname eq node01.hoge.com \ rule -inf: #uname eq node02.hoge.com ----ここまで------------------------------------------------- STONITHの設定以外は以前設定して問題なく動作は確認していたのですが、 stonith-helperとmeatwareを追加する際に、上記の設定例ファイルを ほぼそのまま流用したため、この内容で合っているか不安です。 あと、質問ですが stonith-helperでACT-SBY判定して、この際ACTが生き残るのが正しい動作ですよね? このACT-SBY判定は何を以て判断しているのでしょうか? お忙しいところ申し訳ありませんが設定内容に不備など、 また対処方法などわかりましたらご教授願します。 以上、よろしくお願いいたします。