LoginSignup
8
7

More than 5 years have passed since last update.

Pacemaker/Heartbeat環境でVIPが切り替わらないケースと対応

Last updated at Posted at 2015-08-05

同様の事象にハマった先人の教えが全くそのままであった・・・。

 → 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はマスタのまま


本当に冒頭の先人の方の記事は助かりました。感謝。

8
7
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7