8.2. 障害発生によるリソースの移動

リソースの作成時、リソースに migration-threshold オプションをセットし、セットした回数の障害が発生するとリソースが新しいノードに移動されるよう設定することができます。このしきい値に一旦達してしまうと、このノードは障害が発生したリソースを実行できなくなります。解除には以下が必要になります。
  • 管理者は pcs resource failcount コマンドを使用して手作業でリソースの failcount をリセットします。
  • リソースの failure-timeout 値に達する
デフォルトで migration-threshold の値が INFINITY に設定されています。INFINITY は、内部的に非常に大きく有限の数として定義されます。0 にすると、migration-threshold 機能を無効にします。

注記

リソースの migration-threshold を設定するのと、リソースの状態を維持しながら別の場所に移動させるリソースの移行を設定するのは異なります。
次の例では dummy_resource というリソースに移行しきい値 10 を追加しています。この場合、障害が 10 回発生するとそのリソースは新しいノードに移動されます。
# pcs resource meta dummy_resource migration-threshold=10
次のコマンドを使用するとクラスター全体にデフォルトの移行しきい値を追加することができます。
# pcs resource defaults migration-threshold=10
リソースの現在の障害回数とリミットを確認するには pcs resource failcount コマンドを使用します。
移行しきい値の概念には、リソース起動の失敗とリソース停止の失敗の 2 つの例外があります。クラスタープロパティー start-failure-is-fataltrue に設定された場合 (デフォルト)、起動の失敗によって failcountINFINITY に設定され、リソースが常に即座に移動するようになります。start-failure-is-fatal オプションの説明は、表12.1「クラスターのプロパティ」を参照してください。
停止時の失敗は起動時とは若干異なり重大です。リソースの停止に失敗し STONITH が有効になっている場合、リソースを別のノードで起動できるようクラスターによるノードの排他処理が行われます。STONITH を有効にしていない場合にはクラスターに続行する手段がないため別のノードでのリソース起動は試行されません。ただし、障害タイムアウト後に停止が再度試行されます。