同様の事象にハマった先人の教えが全くそのままであった・・・。
→ http://mokky14.hatenablog.com/entry/2014/08/01/044235
■原因
構築時に動作確認として以下を実施していたため。
crm resource move VIP ホスト名 force →VIP強制移動
crm resource move VIP ホスト名 force →VIP強制移動
これを実行すると
WARNING: Creating rsc_location constraint 'cli-standby-vip' with a score of -INFINITY for resource vip on host1
This will prevent vip from running on host1 until the constraint is removed using the 'crm_resource -U' command or manually with cibadmin
This will be the case even if 0270-host1 is the last node in the cluster
This message can be disabled with -Q
と出る。
そして以下の location 定義が追加される。
crm configure show
:
location cli-prefer-VIP VIP \
rule $id="cli-prefer-rule-VIP" inf: #uname eq tomi-test-001
location cli-standby-VIP VIP \
rule $id="cli-standby-rule-VIP" -inf: #uname eq tomi-test-001
:
このlocationの定義があると
tomi-test-rediss001には絶対にVIPは切り替わらない(-inf)ことが分かった。
■修復方法
location 定義を以下のコマンドをマスタ or スレーブどちらかで発行して消す。
crm resource unmigrate VIP
■今後の再発防止策
まず今後は以下のコマンドは使わないことにする。
crm resource move VIP <host名> force
その代わりに構築時にVIPが切り替わるか確認するために
/etc/init.d/heartbeat stop
もしくは
OS再起動
を実施したほうが良さそうだ。
※コマンドでnodeを操作することもできるので参考まで。(現実的な障害想定ではない)
1)マスタ落ちた想定(standbyステータスにする)
crm node standby <マスタホスト名>
→VIPがスレーブに切り替わる
2)マスタ復活想定(onlineステータスにする)
crm node online <マスタホスト名>
→VIPはスレーブのまま
3)スレーブ落ちた想定(standbyステータスにする)
crm node standby <スレーブホスト名>
→VIPがマスタに切り替わる
4)スレーブ復活想定(onlineステータスにする)
crm node online <スレーブホスト名>
→VIPはマスタのまま
本当に冒頭の先人の方の記事は助かりました。感謝。