7.3. 接続状態が変化したためリソースの移動を行う

外部の接続が失われた場合、次の 2 ステップでクラスターがリソースを移動するよう設定します。
  1. クラスターに ping リソースを追加します。ping リソースは同じ名前のシステムユーティリティーを使って一覧のマシン (DNS ホスト名または IPv4/IPv6 アドレスで指定) へのアクセスが可能かをテストし、その結果を使って pingd というノード属性を維持管理します。
  2. 接続が失われたときに別のノードにリソースを移動させるためのリソース場所制約を設定します。
表5.1「リソースのプロパティ」 では ping リソースに設定できるプロパティを示します。

表7.1 ping リソースのプロパティ

フィールド説明
dampen
さらに変化が起こった場合に備えて待機させる時間 (dampen)、ノードによって接続が失われたことを認識する時間にずれが生じた場合にクラスター内のノード間で何度も移動が行われないようにするための待機時間です
multiplier
接続している ping ノード数にこの値をかけてスコアを取得、ping ノードが複数設定されている場合に役立ちます
host_list
現在の接続状態を確認するため通信を行うマシン、解決可能な DNSホスト名、 IPv4 や IPv6 アドレスなどが値として使用できます
次のコマンド例では www.example.com への接続性を検証する ping リソースが作成されます。実際には使用しているネットワークのゲートウェイやルーターへの接続性を検証することになります。リソースがクラスターの全ノードで実行されるよう ping リソースはクローンとして設定します。
# pcs resource create ping ocf:pacemaker:ping dampen=5s multiplier=1000 host_list=www.example.com --clone
次の例では既存の Webserver と言うリソースに場所の制約ルールを設定しています。 Webserver リソースを現在実行しているホストが www.example.com に ping できない場合、www.example.com に ping できるホストに移動されます。
# pcs constraint location Webserver rule score=-INFINITY pingd lt 1 or not_defined pingd