10.4. QDevice を使用した 2 ノードクラスターでの watchdog-only SBD フェンシングの設定
2 ノードクラスターを使用する場合、クォーラムデバイス (corosync-qdevice) を追加すると、クォーラムに 1 票が追加されます。その結果、クラスターの動作が奇数ノードのクラスターに近いものになります。これにより、クラスターは watchdog-only SBD フェンシングにおける標準的な最小 3 ノードのクォーラム投票の制限を回避できます。
QDevice を watchdog-only SBD フェンシングと組み合わせる場合、タイムアウト値を厳密に調整する必要があります。そうしないと、SBD によって起動が妨げられます。
手順
クラスターに必要なタイムアウト値を特定します。
-
qdevice-sync_timeout: デフォルト値は30sです。 -
SBD_WATCHDOG_TIMEOUT: この値がqdevice-sync_timeoutより小さい場合、クォーラム状態の更新が遅延し、スプリットブレイン状態が発生する可能性があります。 -
stonith-watchdog-timeout: この値は、ノードの自己フェンスが完了するまでクラスターが十分な時間待機するように、SBD_WATCHDOG_TIMEOUTよりも高くする必要があります。これはSBD_WATCHDOG_TIMEOUTの値の 2 倍に設定してください。そのため、SBD_WATCHDOG_TIMEOUTが 30 の場合は60に設定してください。
-
SBD を有効にし、ウォッチドッグタイムアウトを設定します。ブロックデバイスを指定しない場合、SBD は自動的に watchdog-only フェンシングをデフォルトで使用します。
# pcs stonith sbd enable SBD_WATCHDOG_TIMEOUT=30暗黙的な "非表示" のウォッチドッグデバイスである STONITH を有効にするために、クラスタープロパティー
stonith-watchdog-timeoutを設定します。# pcs property set stonith-watchdog-timeout=60オプション: 明示的なウォッチドッグフェンシングデバイスを作成します。このデバイスをフェンシングトポロジーに組み込みます。たとえば、他のフェンシングデバイスで障害が発生した場合の代替手段としてデバイスを設定したり、デバイスの適用対象を特定のノードリストに限定したりします。
fence_watchdogエージェントを使用してデバイスを設定します。# pcs stonith create sbd_watchdog fence_watchdog