[Linux]シャットダウンストラテジー(Shutdown Strategy)の動作について

LifeKeeperのデフォルトの設定ではshutdownコマンド等の通常のノード停止時にフェイルオーバは行いません。

■通常のノード停止と障害によるノード停止の判別の仕方

    メンテナンス等の通常のノード停止と、ハードウェア障害、ソフトウェア障害等によるノード停止をLifeKeeperではnofailoverフラグファイルの有無によって判別しています。
    LifeKeeperではクラスタ構成を取っている相手ノードが停止すると、コミュニケーションパスの通信が行えなくなるため、コミュニケーションパスの全断が発生します。
    コミュニケーションパスの全断が発生すると、コミュニケーションパスの全断を検知したノードではnofailoverフラグファイルの有無を確認する動作を行います。
    ここでnofailoverフラグが存在していれば、フェイルオーバせず、LifeKeeperの動作を終了します。逆にnofailoverフラグファイルが存在しなければ、LifeKeeperはフェイルオーバの処理を開始します。

    シャットダウンストラテジーがデフォルト設定の”Do not Switchover Resources”ではノードを停止するときに、コミュニケーションパスを経由して、フェイルオーバを抑止するためnofailoverフラグを対向ノードに作成します。通常のノード停止ではnofailoverフラグを作成する動作になるため、通常のノード停止ではフェイルオーバは起きません。

    障害によるノード停止のときは、nofailoverフラグは作成する動作は行なわれないため、フェイルオーバが起きます。シャットダウンストラテジーの設定が”Switchover Resources”のときはノードを停止しても、永続的にnofailoverフラグを作成しない動作に変わります。そのため、通常のノード停止、障害によるノード停止がどちらが発生しても、常にフェイルオーバが起きます。本動作を踏まえ、アクティブスタンバイの2ノード構成でshutdownコマンドを実行したときに、シャットダウンストラテジーの設定による動作の違いを以下に説明します。

    [前提条件] o2ノードのアクティブ/スタンバイのクラスタ環境
    o稼動系のホスト名をhostA、待機系のホスト名をhostBとする
    oサーバのメンテナンスのため、hostAのシャットダウンをする

    シャットダウンストラテジーが”Do not Switchover Resources”のとき
    hostAのshutdown処理が完了し、hostAがノード停止します。hostBがhostAのノード停止を受けて、コミュニケーションパスの全断を検知します。hostBでnofailoverフラグファイルが存在するため、フェイルオーバは行いません。ノード停止を検知したことで発生するフェイルオーバは、hostAのリソース状態に依存しません。そのため、仮にhostAに存在するリソースを全て停止(もしくは一部停止)をしても、hostBでリソースは全て起動します。

    シャットダウンストラテジーが”Switchover Resources”のとき
    hostAのshutdown処理が完了し、hostAがノード停止する。hostBがhostAのノード停止を受けて、コミュニケーションパスの全断を検知します。hostBでnofailoverフラグファイルが存在しないため、hostAからhostBの方向にフェイルオーバ処理を開始します。

■シャットダウンストラテジーの変更方法

    シャットダウンストラテジーの設定を変更を行う方法を以下に記載します。設定変更はGUIクライアントから行う方法と、CUIから行う方法の2つがあります。

    [GUI クライアントから行う方法] 1)GUIクライアントにログインします。
    2)GUIクライアント上部のツールバーから[Edit]->[Server]->[Properties…]を押下します。
    3)Generalタブに表示される Shutdown Strategy の箇所のプルダウンメニューから”Do not Switchover Resources”もしくは”Switchover Resources”に変更し、[Apply]ボタンを押下します。

    [CUIから行う方法] CUIから設定変更を行うときは、flg_createもしくはflg_removeコマンドを使用します。フラグの設定はflg_listコマンドで確認できます。

    “Do not Switchover Resources”から”Switchover Resources”に変更するとき
    # /opt/LifeKeeper/bin/flg_create -f shutdown_switchover

    “Switchover Resources”から”Do not Switchover Resources”に変更するとき
    # /opt/LifeKeeper/bin/flg_remove -f shutdown_switchover

掲載日: 2011年12月5日

return top