Pacemakerでかんたんクラスタリング体験してみよう!

第4回 Pacemakerを運用してみよう![保守運用編(1)]

この記事を読むのに必要な時間:およそ 4 分

ネットワーク故障が起こった場合どうなるの?

Pacemakerにおいてネットワークを監視するのは,第2回で紹介された pingd です。pingdはネットワーク故障を検知すると,default_ping_set の値を異常を示す"0"に更新します。その後Pacemakerは default_ping_set の値からネットワーク故障が発生したと判断し,リソースのフェイルオーバ処理を実施します。

図2 ネットワーク故障

図2 ネットワーク故障

故障を発生させてみよう

では,実際にネットワーク故障を発生させて,Pacemakerの動きを見てみましょう。今回はネットワーク故障を起こすため,サービスLAN用のLANケーブルを引き抜きます。

LANケーブルを引き抜いた後crm_monコマンドを実行すると,default_ping_setの属性値が異常を示す"0"となっていて,リソースがpm02にフェイルオーバしていることが確認できます。

Online: [ pm01 pm02 ]

   Resource Group: web
       vip (ocf::heartbeat:IPaddr2): Started pm02
       httpd (ocf::heartbeat:apache): Started pm02
                            《中略》
 Node Attributes:
   * Node pm01:
    + default_ping_set                  : 0    : Connectivity is lost
    + pm02-eth1                         : up
    + pm02-eth2                         : up

このとき,pm01のpm_logconv.outにはネットワークの故障検知のログと,default_ping_setの属性値を"0"に更新したログが出力されます。

Mar 30 11:53:28 pm01 ERROR: Network to 192.168.68.2 is unreachable.
Mar 30 11:53:31 pm01 ERROR: Network to 192.168.68.2 is unreachable.
Mar 30 11:53:33 pm01 info: Attribute "default_ping_set" is updated to "0".

復旧してみよう

復旧では,ネットワークの監視が正常に戻ることを確認します。引き抜いていたサービスLAN用のLANケーブルを再び接続し,ネットワークを復旧します。

ネットワークの状態が回復すると,モニタ表示のdefault_ping_setの属性値が異常を示す"0"から正常を示す"100"に変わります。この状態になればpm01でリソースを稼動させることができます。

 Node Attributes:
 * Node pm01:
     + default_ping_set                  : 100
     + pm02-eth1                         : up
     + pm02-eth2                         : up

リソースを稼動していたサーバに戻したい場合は,"crm resource move [リソースグループ名] [移動先サーバ名] force"を実行して,リソースをpm02からpm01に移動します。このコマンドはクラスタ内のどのサーバからでも実行可能です。また,コマンド実行時にWARNINGが出力されますが,後の手順を説明しているだけなので気にしないでください。

# crm resource move web pm01 force

コマンド実行後のモニタ表示では,以下のようにリソースがpm02からpm01に移動していることが確認できます。

Online: [ pm01 pm02 ]

 Resource Group: web
       vip (ocf::heartbeat:IPaddr2): Started pm01
     httpd (ocf::heartbeat:apache): Started pm01

crm resource moveコマンドでは,そのサーバでリソースを稼動できない状態としているため,元に戻す必要があります。pm01でリソースが稼動していることを確認した上で,"crm resource unmove [リソースグループ名]"を実行します。

# crm resource unmove web

「保守運用編(1)」の今回は,Pacemakerの保守運用で役立つ2つのツールと,ネットワーク故障が起こった場合どうなるの? を紹介しました。次回は,リソースが故障した場合どうなるの?とPacemakerのプロセス故障が起きた場合どうなるの?について紹介します。お楽しみに!

コラム : Pacemaker応援キャラって何? [その1]

なぜPacemakerの応援キャラがいるのか? なぜ萌えキャラなのか?

不思議に思う人は多いでしょうが,HAクラスタと言う基盤ソフトをより親しみやすくするためにというのと,Pacemakerのイメージをやわらげたいために作ったと理解してください!

お姉さんは,高良かなちゃん。妹は高良かよちゃん。そう「高くて良い可用性。」ですよね!(お姉ちゃんへの名前の突っ込みは禁止ですよ…⁠

プロフィール詳細は,Linux-HA Japanのホームページでご確認くださいね。

かなちゃん

かなちゃん

かよちゃん

かよちゃん

著者プロフィール

岡和田拓也(おかわだたくや)

株式会社DTS所属。Linux-HA Japanプロジェクトには2009年から参加。Pacemakerの検証を担当しバグを発掘中。バイクと牛乳とアイスとチョコレートには目がない。