9.9. クリーンノードのシャットダウンで停止するようにリソースを設定 (Red Hat Enterprise Linux 7.8 以降)
クラスターノードがシャットダウンしたときの Pacemaker のデフォルトの応答は、シャットダウンが正常なシャットダウンであっても、そのノードで実行中のすべてのリソースを停止し、別の場所でリソースを復元することです。Red Hat Enterprise Linux 7.8 以降では、ノードが正常にシャットダウンすると、ノードに接続されているリソースがノードにロックされ、シャットダウンしたノードがクラスターに再度参加するときに再び起動するまで、他の場所で起動できないように、Pacemaker を設定できます。これにより、ノードのリソースをクラスター内の他のノードにフェイルオーバーせずに、サービスの停止が許容できるメンテナンスウィンドウ中にノードの電源を切ることができます。
9.9.1. クリーンノードシャットダウンで停止するようにリソースを設定するためのクラスタープロパティー リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
ノードの正常なシャットダウンでリソースがフェイルオーバーしないようにする機能は、以下のクラスタープロパティーで実装されます。
- shutdown-lock
- このクラスタープロパティーをデフォルト値の
false
に設定すると、クラスターは、ノードで正常にシャットダウンされているノードでアクティブなリソースを復旧します。このプロパティーをtrue
に設定すると、適切にシャットダウンしているノードでアクティブなリソースは、クラスターに再参加した後にノードで再起動するまで別の場所で起動できません。shutdown-lock
プロパティーはクラスターノードまたはリモートノードのいずれかで機能しますが、ゲストノードでは機能しません。shutdown-lock
をtrue
に設定すると、ノードがダウンしたときに 1 つのクラスターリソースのロックを削除し、次のコマンドを使用してノードで手動更新を実行してリソースを別の場所で起動できるようになります。pcs resource refresh resource --node node
pcs resource refresh resource --node node
Copy to Clipboard Copied! Toggle word wrap Toggle overflow リソースのロックが解除されると、クラスターはリソースを別の場所に移動できるようになることに注意してください。リソースのスティッキネスの値または場所の設定を使用することにより、これが発生する可能性を抑制できます。注記手動更新は、最初に次のコマンドを実行するとリモートノードで機能します。- リモートノードで systemctl stop pacemaker_remote コマンドを実行してノードを停止します。
- pcs resource disable remote-connection-resource コマンドを実行します。
その後、リモートノードで手動更新を実行できます。 - shutdown-lock-limit
- このクラスタープロパティーをデフォルト値の 0 以外の値に設定すると、シャットダウンを開始してから指定した時間内にノードが再参加しない場合に、他のノードの復旧にリソースが利用可能になります。ただし、この間隔は cluster
-recheck-interval クラスター
プロパティーの値よりも頻繁にチェックされないことに注意してください。注記shutdown-lock-limit
プロパティーは、以下のコマンドを最初に実行した場合に限りリモートノードで動作します。- リモートノードで systemctl stop pacemaker_remote コマンドを実行してノードを停止します。
- pcs resource disable remote-connection-resource コマンドを実行します。
このコマンドを実行すると、shutdown-lock-limit
で指定した時間が経過すると、リモートノード上で実行しているリソースが他のノードの復旧に利用できます。
9.9.2. shutdown-lock クラスタープロパティーの設定 リンクのコピーリンクがクリップボードにコピーされました!
リンクのコピーリンクがクリップボードにコピーされました!
以下の例では、サンプルのクラスターで
shutdown-lock
クラスタープロパティーを true
に設定し、ノードをシャットダウンして再起動したときの影響を示しています。この例のクラスターは、z1.example.com
、z2.example.com
、および z3.example.com
の 3 つのノードで設定されます。
shutdown-lock
プロパティーをtrue
に設定し、その値を確認します。この例では、shutdown-lock-limit
プロパティーはデフォルト値の 0 を維持します。[root@z3.example.com ~]# pcs property set shutdown-lock=true [root@z3.example.com ~]# pcs property list --all | grep shutdown-lock shutdown-lock: true shutdown-lock-limit: 0
[root@z3.example.com ~]# pcs property set shutdown-lock=true [root@z3.example.com ~]# pcs property list --all | grep shutdown-lock shutdown-lock: true shutdown-lock-limit: 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスターのステータスを確認します。この例では、3 番
目
と5 番目
のリソースがz1.example.com
で実行しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow z1.example.com
をシャットダウンします。これにより、そのノードで実行されているリソースを停止します。[root@z3.example.com ~] # pcs cluster stop z1.example.com Stopping Cluster (pacemaker)... Stopping Cluster (corosync)...
[root@z3.example.com ~] # pcs cluster stop z1.example.com Stopping Cluster (pacemaker)... Stopping Cluster (corosync)...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow pcs status コマンドを実行すると、ノードz1.example.com
がオフラインで、z1.example.com
で実行していたリソースがノードの停止時にLOCKED
であることを示しています。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - クラスターサービスを
z1.example.com
で再度起動し、クラスターに再参加できるようにします。ロックされたリソースは、そのノードで開始する必要がありますが、いったん起動すると、必ずしも同じノードに留まるわけではありません。[root@z3.example.com ~]# pcs cluster start z1.example.com Starting Cluster...
[root@z3.example.com ~]# pcs cluster start z1.example.com Starting Cluster...
Copy to Clipboard Copied! Toggle word wrap Toggle overflow この例では、3 番目と 5 番目のリソースが z1.example.com ノードで復元されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow