Pacmekaerでは、Pacmekaer自身の計画的なバージョンアップやリソースの設定変更時などにおいて、予期せぬリソースのフェイルオーバーやSTONITH発動を抑止することを目的として「メンテナンスモード」という機能が用意されている。
メンテナンスモード実行方法
クラスタ全体をメンテナンスモードにする場合
クラスタ全体をメンテナンスモードにする場合は、以下を実行する。「maintenance」のスペルが長くて面倒くさいが、頑張って入力する。
# pcs node maintenance --all
クラスタ全体をメンテナンスモードから通常状態に戻すには、以下を実行する。
# pcs node unmaintenance --all
各ノード単位でメンテナンスモードにする場合
ノード単位でメンテナンスモードにする場合は、以下を実行する。対象ノード名を省略した場合は、コマンドを実行したノードがメンテナンスモードになる。
# pcs node maintenance <対象ノード名>
ノード単位でメンテナンスモードから通常状態に戻すには、以下を実行する。対象ノード名を省略した場合は、コマンドを実行したノードが通常状態に戻る。
# pcs node unmaintenance <対象ノード名>
実際にメンテナンスモードを試してみた
実際にクラスタをメンテナンスモードにした際の動作を確認してみよう。
ノード#1 (t3021cent) をメンテナンスモードにした状態で、手動でSquidのサービスを停止しても、リソースのフェイルオーバーが発生しないことを確認する。
まずは、ノード#1をメンテナンスモードにする。ノードのステータスが「maintenance」となり(★1箇所)、各リソースは「unmanaged」と表示される(★2箇所)。
# pcs node maintenance t3021cent
# pcs status
Cluster name: clst-01
Cluster Summary:
* Stack: corosync
* Current DC: t3021cent (version 2.0.3-5.el8_2.1-4b1f869f0f) - partition with quorum
* Last updated: Wed Jul 29 08:50:02 2020
* Last change: Wed Jul 29 08:49:57 2020 by root via cibadmin on t3021cent
* 2 nodes configured
* 8 resource instances configured
Node List:
* Node t3021cent: maintenance ★1
* Online: [ t3022cent ]
Full List of Resources:
* Resource Group: rg-01:
* rs-vip-33 (ocf::heartbeat:IPaddr2): Started t3021cent (unmanaged) ★2
* rs-systemd-squid (systemd:squid): Started t3021cent (unmanaged) ★2
* Clone Set: rs-systemd-unbound-clone [rs-systemd-unbound]:
* rs-systemd-unbound (systemd:unbound): Started t3021cent (unmanaged) ★2
* Started: [ t3022cent ]
* Clone Set: rs-ping-33-clone [rs-ping-33]:
* rs-ping-33 (ocf::pacemaker:ping): Started t3021cent (unmanaged) ★2
* Started: [ t3022cent ]
* rs-stonith-01 (stonith:fence_ESXi): Started t3021cent (unmanaged) ★2
* rs-stonith-02 (stonith:fence_ESXi): Started t3022cent
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
この状態でsquidを手動で停止させてみる。
# systemctl status squid | grep Active
Active: active (running) since Sat 2020-07-25 15:45:49 JST; 3 days ago
# systemctl stop squid
# systemctl status squid | grep Active
Active: inactive (dead)
Squidを停止させても、Squidのリソースである「rs-systemd-squid」のステータスは「Started t3021cent (unmanaged)」となっており(★箇所)、フェイルオーバーが発生しないことがわかる。
# pcs status
Cluster name: clst-01
Cluster Summary:
* Stack: corosync
* Current DC: t3021cent (version 2.0.3-5.el8_2.1-4b1f869f0f) - partition with quorum
* Last updated: Wed Jul 29 08:55:31 2020
* Last change: Wed Jul 29 08:49:57 2020 by root via cibadmin on t3021cent
* 2 nodes configured
* 8 resource instances configured
Node List:
* Node t3021cent: maintenance
* Online: [ t3022cent ]
Full List of Resources:
* Resource Group: rg-01:
* rs-vip-33 (ocf::heartbeat:IPaddr2): Started t3021cent (unmanaged)
* rs-systemd-squid (systemd:squid): Started t3021cent (unmanaged) ★
* Clone Set: rs-systemd-unbound-clone [rs-systemd-unbound]:
* rs-systemd-unbound (systemd:unbound): Started t3021cent (unmanaged)
* Started: [ t3022cent ]
* Clone Set: rs-ping-33-clone [rs-ping-33]:
* rs-ping-33 (ocf::pacemaker:ping): Started t3021cent (unmanaged)
* Started: [ t3022cent ]
* rs-stonith-01 (stonith:fence_ESXi): Started t3021cent (unmanaged)
* rs-stonith-02 (stonith:fence_ESXi): Started t3022cent
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
Squidを停止したままメンテナンスモードを解除するとフェイルオーバーしてしまうので、Squidを起動した後、メンテナンスモード解除を行う。
# systemctl start squid
# pcs node unmaintenance t3021cent
# pcs status
Cluster name: clst-01
Cluster Summary:
* Stack: corosync
* Current DC: t3021cent (version 2.0.3-5.el8_2.1-4b1f869f0f) - partition with quorum
* Last updated: Wed Jul 29 08:56:52 2020
* Last change: Wed Jul 29 08:56:48 2020 by root via cibadmin on t3021cent
* 2 nodes configured
* 8 resource instances configured
Node List:
* Online: [ t3021cent t3022cent ]
Full List of Resources:
* Resource Group: rg-01:
* rs-vip-33 (ocf::heartbeat:IPaddr2): Started t3021cent
* rs-systemd-squid (systemd:squid): Started t3021cent
* Clone Set: rs-systemd-unbound-clone [rs-systemd-unbound]:
* Started: [ t3021cent t3022cent ]
* Clone Set: rs-ping-33-clone [rs-ping-33]:
* Started: [ t3021cent t3022cent ]
* rs-stonith-01 (stonith:fence_ESXi): Started t3021cent
* rs-stonith-02 (stonith:fence_ESXi): Started t3022cent
Daemon Status:
corosync: active/disabled
pacemaker: active/disabled
pcsd: active/enabled
以上でメンテナンスモードの動作確認は完了となる。
0 件のコメント:
コメントを投稿