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-fatal
が true
(デフォルト)に設定されている場合、起動の失敗により failcount
が INFINITY
に設定され、リソースが常に即座に移動するようになります。start-failure-is-fatal
オプションの詳細は、表12.1「クラスターのプロパティー」 を参照してください。
停止時の失敗は、起動時とは若干異なり、極めて重大となります。リソースの停止に失敗し STONITH が有効になっていると、リソースを別のノードで起動できるように、クラスターによるノードのフェンスが行われます。STONITH を有効にしていない場合はクラスターに続行する手段がないため、別のノードでのリソース起動は試行されません。ただし、障害のタイムアウト後に再度停止が試行されます。