Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
適用先 SUSE Linux Enterprise High Availability Extension 12 SP5

16 保守タスクの実行

概要

クラスタノードで保守タスクを実行するには、そのノードで実行中のリソースを停止し、それらを移動するか、あるいはそのノードをシャットダウンするか再起動する必要がある場合があります。また、クラスタからリソースの制御を一時的に引き継ぐか、またはリソースを実行中のままにしてクラスタサービスを停止することも必要な場合があります。

この章では、負の影響を及ぼすことなくクラスタノードを手動で切断する方法について説明します。また、クラスタスタックが保守タスクを実行するために提供するさまざまなオプションの概要についても説明します。

16.1 クラスタノードを切断する意味

クラスタノードをシャットダウンまたは再起動する(またはノード上でPacemakerサービスを停止する)場合、次のプロセスがトリガされます。

  • ノード上で実行されているリソースは停止されるか、ノードから移動します。

  • リソースの停止が失敗するか、タイムアウトする場合、STONITHメカニズムはノードをフェンシングし、シャットダウンします。

手順 16.1: クラスタノードの手動による再起動

ノードをシャットダウンまたは再起動する前に、順序だった方法でノードのサービスをオフにしたい場合は、次の操作を実行します。

  1. 再起動またはシャットダウンするノードで、rootまたは同等な権限でログインします。

  2. ノードをstandbyモードにします。

    root # crm node standby

    このようにすると、サービスはPacemakerのシャットダウンタイムアウトによって制限されることなく、ノードをオフに移行できます。

  3. 以下を使用してクラスタの状態を確認します。

    root # crm status

    standbyモード状態の各ノードが示されます。

    [...]
    Node bob: standby
    [...]
  4. そのノードでPacemakerサービスを停止します。

    root # systemctl stop pacemaker.service
  5. ノードを再起動します。

ノードが再びクラスタに参加しているかどうかを確認するには:

  1. rootまたは同等の権限でノードにログインします。

  2. Pacemakerサービスが開始されているかどうかを確認します。

    root # systemctl status pacemaker.service
  3. 開始されていない場合は、開始します。

    root # systemctl start pacemaker.service
  4. 以下を使用してクラスタの状態を確認します。

    root # crm status

    ノードが再びオンラインになっていることが示されます。

16.2 保守タスクのためのさまざまなオプション

Pacemakerはシステム保守を実行するためのさまざまなオプションを提供しています。

クラスタを保守モードにする

グローバルクラスタプロパティmaintenance-modeにより、すべてのリソースを瞬時に保守状態にすることができます。クラスタはモニタリングを停止し、ステータスが追跡されなくなります。

ノードを保守モードにする

このオプションにより、特定のノードで実行されているすべてのリソースを瞬時に保守状態にすることができます。クラスタはモニタリングを停止し、ステータスが追跡されなくなります。

ノードをスタンバイモードにする

スタンバイモードのノードはリソースを実行できなくなります。ノード上で実行されているすべてのリソースは移動するか停止されます(他のノードがリソースを実行する資格がない場合)。また、ノード上のすべての監視操作は停止されます(role="Stopped"に設定された操作を除く)。

別のノードで実行されているサービスを提供し続けながら、クラスタ内の1台のノードを停止する必要がある場合は、このオプションを使用できます。

リソースを保守モードにする

リソースに対してこのモードが有効な場合、リソースの監視操作はトリガされません。

このリソースで管理されるサービスに手動で介入する必要があり、その間にリソースの監視操作をクラスタに実行させない場合は、このオプションを使用します。

リソースを非管理対象モードにする

is-managedメタ属性により、リソースを一時的にクラスタスタックによって管理されている状態から解放することができます。これは、このリソースによって管理されるサービスに手動で介入できることを意味します(たとえば、コンポーネントを調整するなど)。ただし、クラスタはリソースの「監視」と障害の報告を継続して行います。

クラスタによるリソースの「監視」を停止したい場合は、代わりにリソース単位の保守モードを使用します(リソースを保守モードにするを参照してください)。

16.3 保守作業の準備と終了

警告
警告: データ損失の危険

テストまたは保守作業を実行する必要がある場合は、以下の一般的な手順に従います。

従わない場合、リソースが順序だった方法で起動できない、クラスタノード間でCIBが同期されない、データ損失などの、望ましくない負の影響が及ぼされるリスクがあります。

  1. 開始する前に、16.2項で概説されている、自分の状況に適したオプションを選択します。

  2. Hawk2またはcrmshを使用してこのオプションを適用します。

  3. 保守タスクまたはテストを実行します。

  4. 終了したら、リソース、ノードまたはクラスタを通常の操作状態に戻します。

16.4 クラスタを保守モードにする

クラスタをcrmシェル上で保守モードにするには、次のコマンドを使用します。

root # crm configure property maintenance-mode=true

保守作業が完了した後で、クラスタを通常のモードに戻すには次のコマンドを使用します。

root # crm configure property maintenance-mode=false
手順 16.2: クラスタをHawk2を使用して保守モードにする
  1. 7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタ設定を選択します。

  3. CRMの環境設定グループで、空のドロップダウンボックスからmaintenance-mode属性を選択し、プラスアイコンをクリックして追加します。

  4. maintenance-mode=trueを設定するには、maintenance-modeの隣のチェックボックスをオンにして、変更を確認します。

  5. クラスタ全体の保守作業が完了したら、maintenance-mode属性の隣のチェックボックスをオフにします。

    この時点から、High Availability Extensionはクラスタ管理をもう一度引き継ぎます。

16.5 ノードを保守モードにする

crmシェル上でノードを保守モードにするには、次のコマンドを使用します。

root # crm node maintenance NODENAME

保守作業が完了した後で、ノードを通常のモードに戻すには、次のコマンドを使用します。

root # crm node ready NODENAME
手順 16.3: ノードをHawk2を使用して保守モードにする
  1. 7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 個々のノードのビューのいずれかで、ノードの隣のレンチアイコンをクリックして、保守を選択します。

  4. 保守タスクが終了したら、ノードの横にあるレンチアイコンをクリックして、準備完了を選択します。

16.6 ノードをスタンバイモードにする

ノードをcrmシェル上でスタンバイモードにするには、次のコマンドを使用します。

root # crm node standby NODENAME

保守作業が完了した後でノードをオンライン状態に戻すには、次のコマンドを使用します。

root # crm node online NODENAME
手順 16.4: ノードをHawk2を使用してスタンバイモードにする
  1. 7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、クラスタステータスを選択します。

  3. 個々のノードのビューのいずれかで、ノードの隣のレンチアイコンをクリックして、スタンバイを選択します。

  4. ノードの保守タスクを完了します。

  5. スタンバイモードを無効化するには、そのノードの隣のレンチアイコンをクリックして準備完了を選択します。

16.7 リソースを保守モードにする

crmシェル上でリソースを保守モードにするには、次のコマンドを使用します。

root # crm resource maintenance RESOURCE_ID true

保守作業が完了した後で、リソースを通常のモードに戻すには次のコマンドを使用します。

root # crm resource maintenance RESOURCE_ID false
手順 16.5: リソースをHawk2を使用して保守モードにする
  1. 7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左のナビゲーションバーで、リソースを選択します。

  3. 保守モードまたは非管理対象モードにするリソースを選択し、そのリソースの隣のレンチアイコンをクリックして、リソースの編集を選択します。

  4. メタ属性カテゴリが開きます。

  5. 空のドロップダウンボックスからmaintenance属性を選択し、プラスアイコンをクリックして追加します。

  6. maintenanceの隣のチェックボックスをオンにして、maintenance属性をyesに設定します。

  7. 変更内容を確認します。

  8. 該当するリソースの保守作業が完了したら、そのリソースのmaintenance属性の隣のチェックボックスをオフにします。

    リソースは、この時点から再びHigh Availability Extensionソフトウェアによって管理されます。

16.8 リソースを非管理対象モードにする

crmシェル上でリソースを非管理対象モードにするには、次のコマンドを使用します。

root # crm resource unmanage RESOURCE_ID

保守作業が完了した後で再び管理対象モードにするには、次のコマンドを使用します。

root # crm resource manage RESOURCE_ID
手順 16.6: リソースをHawk2を使用して非管理対象モードにする
  1. 7.2項 「ログイン」で説明したように、Webブラウザを起動してクラスタにログインします。

  2. 左ナビゲーションバーから、状態を選択し、リソースリストに移動します。

  3. 操作列で、変更したいリソースの横にある下矢印アイコンをクリックして編集を選択します。

    リソース設定画面が開きます。

  4. メタ属性の下で、空のドロップダウンボックスからis-managedエントリを選択します。

  5. その値をNoに設定し、適用をクリックします。

  6. 保守タスクが終了した後で、is-managedYesに設定し(デフォルト値です)、変更を適用します。

    リソースは、この時点から再びHigh Availability Extensionソフトウェアによって管理されます。

16.9 保守モード中のクラスタノードの再起動

注記
注記: 意味

クラスタまたはノードが保守モードの場合、クラスタリソースを任意に停止したり再起動したりできます。High Availability Extensionはこれらを再起動しようとしません。ノード上のPacemakerサービスを停止する場合、(Pacemakerの管理対象クラスタリソースとして最初に起動された)すべてのデーモンとプロセスの実行は継続されます。

クラスタまたはノードが保守モードのときに、ノード上でPacemakerサービスを起動しようとする場合、Pacemakerはリソースごとに1つのワンショット監視操作(probe)を開始し、そのノードで現在どのリソースが実行されているかを評価します。ただし、リソースのステータスを決定する以外の操作は行いません。

クラスタまたはノードが保守モードのときにノードを切断する場合は、次のようにします。

  1. 再起動またはシャットダウンするノードで、rootまたは同等な権限でログインします。

  2. ocf:pacemaker:controldタイプのリソースを使用しているのか、またはこのタイプのリソースに依存しているリソースを使用しているのかどうかを確認します。ocf:pacemaker:controldタイプのリソースはDLMリソースです。

    1. その場合は、DLMリソースとそれに依存しているすべてのリソースを明示的に停止します。

      crm(live)resource# stop RESOURCE_ID

      その理由は、Pacemakerを停止すると、DLMが依存するメンバーシップとメッセージングサービスを持つCorosyncサービスも停止するからです。Corosyncが停止した場合、DLMリソースではスプリットブレインシナリオが発生したと見なされ、フェンシング操作がトリガされます。

    2. そうでない場合は、ステップ 3に進みます。

  3. そのノードでPacemakerサービスを停止します。

    root # systemctl stop pacemaker.service
  4. ノードをシャットダウンするか再起動します。

このページを印刷