Pacemakerで特定ノードのアップグレードを防止

Pacemakerで特定ノードのアップグレードを防止

3つのノードを持つdrbd + pacemakerクラスタがあり、そのうちの1つは定足数デバイス専用です。アップグレード可能なdrbd-resourceは3つのデバイスすべてで実行する必要がありますが、アービトレーションデバイスでは絶対にアップグレードされないようにペースメーカーリソースを設定しようとしています。リソースに位置制限を設定しようとしましたが、これにより、Pacemakerが定足数デバイスでリソースをまったく起動できなくなり、drbdがフェイルオーバー中に定足数を維持できなくなりました。

希望の状態は次のとおりです。

  • drbd リソースは、3 つのノードすべてで開始されます。
  • drbdリソースを昇格できます。
  • 心拍数調整器は決して合法的な機器を宣伝しません。

ドキュメントには何も見つかりませんが、drbdリソースで見逃した「デバイスXからアップグレードしない」などのパラメータを想定しています。

答え1

この操作には、単純な位置制約を使用するだけでは十分ではありません。 Pacemakerはrules必要な高度な表現を処理できます。

RHEL/Pacemakerのバージョンに応じて、次のいずれかの規則が適しています。

# pcs constraint location <clone> rule role=promoted score=-INFINITY node eq <quorum-node-name>

# pcs constraint location <clone> rule role=master score=-INFINITY node eq <quorum-node-name>

関連情報