クラスタノードで保守タスクを実行するには、そのノードで実行中のリソースを停止し、それらを移動するか、あるいはそのノードをシャットダウンするか再起動する必要がある場合があります。また、クラスタからリソースの制御を一時的に引き継ぐか、またはリソースを実行中のままにしてクラスタサービスを停止することも必要な場合があります。
この章では、負の影響を及ぼすことなくクラスタノードを手動で切断する方法について説明します。また、クラスタスタックが保守タスクを実行するために提供するさまざまなオプションの概要についても説明します。
クラスタノードをシャットダウンまたは再起動する(またはノード上でPacemakerサービスを停止する)場合、次のプロセスがトリガされます。
ノード上で実行されているリソースは停止されるか、ノードから移動します。
リソースの停止が失敗するか、タイムアウトする場合、STONITHメカニズムはノードをフェンシングし、シャットダウンします。
ノードをシャットダウンまたは再起動する前に、順序だった方法でノードのサービスをオフにしたい場合は、次の操作を実行します。
再起動またはシャットダウンするノードで、root
または同等な権限でログインします。
ノードをstandby
モードにします。
root #
crm node standby
このようにすると、サービスはPacemakerのシャットダウンタイムアウトによって制限されることなく、ノードをオフに移行できます。
以下を使用してクラスタの状態を確認します。
root #
crm status
standby
モード状態の各ノードが示されます。
[...] Node bob: standby [...]
そのノードでPacemakerサービスを停止します。
root #
systemctl stop pacemaker.service
ノードを再起動します。
ノードが再びクラスタに参加しているかどうかを確認するには:
root
または同等の権限でノードにログインします。
Pacemakerサービスが開始されているかどうかを確認します。
root #
systemctl status pacemaker.service
開始されていない場合は、開始します。
root #
systemctl start pacemaker.service
以下を使用してクラスタの状態を確認します。
root #
crm status
ノードが再びオンラインになっていることが示されます。
Pacemakerはシステム保守を実行するためのさまざまなオプションを提供しています。
グローバルクラスタプロパティmaintenance-mode
により、すべてのリソースを瞬時に保守状態にすることができます。クラスタはモニタリングを停止し、ステータスが追跡されなくなります。
このオプションにより、特定のノードで実行されているすべてのリソースを瞬時に保守状態にすることができます。クラスタはモニタリングを停止し、ステータスが追跡されなくなります。
スタンバイモードのノードはリソースを実行できなくなります。ノード上で実行されているすべてのリソースは移動するか停止されます(他のノードがリソースを実行する資格がない場合)。また、ノード上のすべての監視操作は停止されます(role="Stopped"
に設定された操作を除く)。
別のノードで実行されているサービスを提供し続けながら、クラスタ内の1台のノードを停止する必要がある場合は、このオプションを使用できます。
リソースに対してこのモードが有効な場合、リソースの監視操作はトリガされません。
このリソースで管理されるサービスに手動で介入する必要があり、その間にリソースの監視操作をクラスタに実行させない場合は、このオプションを使用します。
is-managed
メタ属性により、リソースを一時的にクラスタスタックによって管理されている状態から「解放」することができます。これは、このリソースによって管理されるサービスに手動で介入できることを意味します(たとえば、コンポーネントを調整するなど)。ただし、クラスタはリソースの「監視」と障害の報告を継続して行います。
クラスタによるリソースの「監視」を停止したい場合は、代わりにリソース単位の保守モードを使用します(リソースを保守モードにするを参照してください)。
テストまたは保守作業を実行する必要がある場合は、以下の一般的な手順に従います。
従わない場合、リソースが順序だった方法で起動できない、クラスタノード間でCIBが同期されない、データ損失などの、望ましくない負の影響が及ぼされるリスクがあります。
開始する前に、16.2項で概説されている、自分の状況に適したオプションを選択します。
Hawk2またはcrmshを使用してこのオプションを適用します。
保守タスクまたはテストを実行します。
終了したら、リソース、ノードまたはクラスタを「通常」の操作状態に戻します。
クラスタをcrmシェル上で保守モードにするには、次のコマンドを使用します。
root #
crm
configure property maintenance-mode=true
保守作業が完了した後で、クラスタを通常のモードに戻すには次のコマンドを使用します。
root #
crm
configure property maintenance-mode=false
7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。
左のナビゲーションバーで、
を選択します。グループで、空のドロップダウンボックスから 属性を選択し、プラスアイコンをクリックして追加します。
maintenance-mode=true
を設定するには、maintenance-mode
の隣のチェックボックスをオンにして、変更を確認します。
クラスタ全体の保守作業が完了したら、maintenance-mode
属性の隣のチェックボックスをオフにします。
この時点から、High Availability Extensionはクラスタ管理をもう一度引き継ぎます。
crmシェル上でノードを保守モードにするには、次のコマンドを使用します。
root #
crm
node maintenance NODENAME
保守作業が完了した後で、ノードを通常のモードに戻すには、次のコマンドを使用します。
root #
crm
node ready NODENAME
7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。
左のナビゲーションバーで、
を選択します。個々のノードのビューのいずれかで、ノードの隣のレンチアイコンをクリックして、
を選択します。保守タスクが終了したら、ノードの横にあるレンチアイコンをクリックして、
を選択します。ノードをcrmシェル上でスタンバイモードにするには、次のコマンドを使用します。
root #
crm node standby NODENAME
保守作業が完了した後でノードをオンライン状態に戻すには、次のコマンドを使用します。
root #
crm node online NODENAME
7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。
左のナビゲーションバーで、
を選択します。個々のノードのビューのいずれかで、ノードの隣のレンチアイコンをクリックして、
を選択します。ノードの保守タスクを完了します。
スタンバイモードを無効化するには、そのノードの隣のレンチアイコンをクリックして
を選択します。crmシェル上でリソースを保守モードにするには、次のコマンドを使用します。
root #
crm
resource maintenance RESOURCE_ID true
保守作業が完了した後で、リソースを通常のモードに戻すには次のコマンドを使用します。
root #
crm
resource maintenance RESOURCE_ID false
7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。
左のナビゲーションバーで、
を選択します。保守モードまたは非管理対象モードにするリソースを選択し、そのリソースの隣のレンチアイコンをクリックして、
を選択します。カテゴリが開きます。
空のドロップダウンボックスから
属性を選択し、プラスアイコンをクリックして追加します。
maintenance
の隣のチェックボックスをオンにして、maintenance属性をyes
に設定します。
変更内容を確認します。
該当するリソースの保守作業が完了したら、そのリソースのmaintenance
属性の隣のチェックボックスをオフにします。
リソースは、この時点から再びHigh Availability Extensionソフトウェアによって管理されます。
crmシェル上でリソースを非管理対象モードにするには、次のコマンドを使用します。
root #
crm
resource unmanage RESOURCE_ID
保守作業が完了した後で再び管理対象モードにするには、次のコマンドを使用します。
root #
crm
resource manage RESOURCE_ID
7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。
左ナビゲーションバーから、
を選択し、 リストに移動します。列で、変更したいリソースの横にある下矢印アイコンをクリックして を選択します。
リソース設定画面が開きます。
の下で、空のドロップダウンボックスから エントリを選択します。
その値をNo
に設定し、 をクリックします。
保守タスクが終了した後で、Yes
に設定し(デフォルト値です)、変更を適用します。
リソースは、この時点から再びHigh Availability Extensionソフトウェアによって管理されます。
クラスタまたはノードが保守モードの場合、クラスタリソースを任意に停止したり再起動したりできます。High Availability Extensionはこれらを再起動しようとしません。ノード上のPacemakerサービスを停止する場合、(Pacemakerの管理対象クラスタリソースとして最初に起動された)すべてのデーモンとプロセスの実行は継続されます。
クラスタまたはノードが保守モードのときに、ノード上でPacemakerサービスを起動しようとする場合、Pacemakerはリソースごとに1つのワンショット監視操作(「probe」)を開始し、そのノードで現在どのリソースが実行されているかを評価します。ただし、リソースのステータスを決定する以外の操作は行いません。
クラスタまたはノードが保守モード
のときにノードを切断する場合は、次のようにします。
再起動またはシャットダウンするノードで、root
または同等な権限でログインします。
ocf:pacemaker:controld
タイプのリソースを使用しているのか、またはこのタイプのリソースに依存しているリソースを使用しているのかどうかを確認します。ocf:pacemaker:controld
タイプのリソースはDLMリソースです。
その場合は、DLMリソースとそれに依存しているすべてのリソースを明示的に停止します。
crm(live)resource#
stop RESOURCE_ID
その理由は、Pacemakerを停止すると、DLMが依存するメンバーシップとメッセージングサービスを持つCorosyncサービスも停止するからです。Corosyncが停止した場合、DLMリソースではスプリットブレインシナリオが発生したと見なされ、フェンシング操作がトリガされます。
そうでない場合は、ステップ 3に進みます。
そのノードでPacemakerサービスを停止します。
root #
systemctl stop pacemaker.service
ノードをシャットダウンするか再起動します。