[Linux-ha-jp] スプリットブレイン時の回復方法

Back to archive index

Hibari Michiro hibar****@lab*****
2014年 1月 23日 (木) 10:54:39 JST


コヤマさま

ヒバリです。
横から失礼します。

> ※ 両方のホストで、同じ仮想アドレス192.168.1.90が作成されているのでマズイ!!
これまでのやり取りで、高塚さまからスプリットブレインの回避策として
話が出ておりましたが、両系のホストで同じVIPが作成されないように
するため「vipcheck」を利用すると良いです。

具体的には以下のprimitiveを追加し、

primitive v_check ocf:heartbeat:VIPcheck \
params target_ip="192.168.1.90" count="1" wait="10" \
op start start-delay="4s" timeout="90s" on-fail="restart"

groupの設定で、v_checkをv_ipの前に追記することになります。

#以前投稿していただいた"crmの設定の質問"に記載されていた
#設定に追記する前提での設定例です。
#このときにvipcheckについても言及すればよかったですね><;

vipcheckの設定を施した状態でスプリットブレインを発生させると、
host1でVIPが作成され、host2ではVIPが作成されない状態(vipcheckで
失敗し、それ以降のリソースが起動されない)となるはずです。


> 私が質問したかったのは、この状態からの復帰方法です。
> host1、host2 のHAを停止し、キャッシュを削除した後で、
> 再度、両ホストのHAを起動すれば同期する事はわかっているのですが、
> そうではなくて、
>
>  両ホストのHAはこの状態のまま稼動させたままで、どのように復旧させるか?
スプリットブレインからの復旧の際、両系のHAを停止する必要は
ありません。

インターコネクトLANの疎通が復旧していることを確認した後、
vipcheckで失敗し、それ以降のリソースが起動されなくなって
いる側のhostのPacemakerを再起動、もしくはhostそのものを
再起動すれば復旧できます。

ただ、インターコネクトランの通信に障害が発生したとなると
ハードウェアの故障も疑えるので、Pacemakerの再起動ではなく
hostそのものを再起動し、ちゃんと起動できることを確認した
うえで復旧した方が安全かと思われます。

> crmのコマンドを使ってどのように復旧させれば良いのか、
> ご教授頂ければ幸いです。
上記の通りスプリットブレインからの復旧はhostの再起動もしくは
Pacemakerの再起動が基本だと思いますので、crmコマンドだけでの
復旧は難しいかと。
#crmコマンドだけで絶対できないかと言われるとちょっと自信がないですが・・・


(2014/01/23 9:47), mlus wrote:
> コヤマです。
> 高塚さん、松島さん ご丁寧なご返答ありがとうございます。
>
>> スプリットブレインは双方音信不通の状態をいいます。
>> HAクラスタにとっての連絡経路はインタコネクトLANのみで、その他のNICは単なるリソースです。
> スプリットブレインについて、少々誤解していたようです。
> インターコネクト回線がリソース回線をコントロールできなくなった
> 状態を、スプリットブレインだと思っていたのですが、
> インターコネクト回線自体の障害を言うのですね。
>
> 上記を踏まえて、host1のインターコネクト回線を引き抜く事で
> スプリットブレインを引き起こしてみた所、無事に?両DCが
> partition WITHOUT quorum
> 状態になってくれました。
>
>
>
> host1(active)
> host2(standby)
>
> 0:host1のインターコネクト回線を停止***>
> 0:host1 --------------------------------
> Last change: Thu Jan 23 08:59:22 2014 by hacluster via crmd on host1
> Stack: corosync
> Current DC: host1 (2130706433) - partition WITHOUT quorum
> Version: 1.1.10-1.2-d9bb763
> 3 Nodes configured
> 5 Resources configured
>
>
> Online: [ host1 ]
> OFFLINE: [ host2 host1 ]
>
> Full list of resources:
>
>  Resource Group: grp
>      v_ip       (ocf::heartbeat:IPaddr2):       Started host1
>      failmail   (ocf::heartbeat:MailTo):        Started host1
>  Clone Set: clone_v_ping [v_ping]
>      Started: [ host1 ]
>      Stopped: [ host2 ]
>
> Node Attributes:
> * Node host1:
>     + pingcheck                         : 100
>
> Migration summary:
> * Node host1:
> -----------------------------------------------------------
>
> 1:host2 ---------------------------------
> Last updated: Thu Jan 23 09:07:23 2014
> Last change: Thu Jan 23 08:58:57 2014 by hacluster via crmd on host2
> Stack: corosync
> Current DC: host2 (2886926338) - partition WITHOUT quorum
> Version: 1.1.10+git20140110.3e89301-99.3-1.1.10+git20140110.3e89301
> 2 Nodes configured
> 4 Resources configured
>
>
> Online: [ host2 ]
> OFFLINE: [ host1 ]
>
> Full list of resources:
>
>  Resource Group: grp
>      v_ip    (ocf::heartbeat:IPaddr2):    Started host2
>      failmail    (ocf::heartbeat:MailTo):    Started host2
>  Clone Set: clone_v_ping [v_ping]
>      Started: [ host2 ]
>      Stopped: [ host1 ]
>
> Node Attributes:
> * Node host2:
>     + pingcheck                           : 100
>
> Migration summary:
> * Node host2:
> -----------------------------------------------------------
>
> 1:host1 仮想アドレス確認 ***
> # ip addr show
>     inet 192.168.1.7/24 brd 192.168.1.255
>     inet 192.168.1.90/24 brd 192.168.1.255
> ------------------------------------------------------------
>
> 1:host2 仮想アドレス確認 ***
> # ip addr show
>     inet 192.168.1.254/24 brd 192.168.1.255
>     inet 192.168.1.90/24 brd 192.168.1.255
> ------------------------------------------------------------
> ※ 両方のホストで、同じ仮想アドレス192.168.1.90が作成されているのでマズイ!!
>
>
> 私が質問したかったのは、この状態からの復帰方法です。
> host1、host2 のHAを停止し、キャッシュを削除した後で、
> 再度、両ホストのHAを起動すれば同期する事はわかっているのですが、
> そうではなくて、
>
>  両ホストのHAはこの状態のまま稼動させたままで、どのように復旧させるか?
>
> が知りたかったのです。
>
> crmのコマンドを使ってどのように復旧させれば良いのか、
> ご教授頂ければ幸いです。
>
> _______________________________________________
> Linux-ha-japan mailing list
> Linux****@lists*****
> http://lists.sourceforge.jp/mailman/listinfo/linux-ha-japan
>


-- 
雲雀 路朗 (Michiro Hibari)
MAIL:  hibar****@lab*****
所属:  NTT OSSセンタ 基盤技術ユニット 高信頼担当
TEL : 03-5860-5135 / FAX: 03-5463-5490





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