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フラグファイルが存在するため、フェイルオーバは行いません。<color=ff0000>ノード停止を検知したことで発生するフェイルオーバは、hostAのリソース状態に依存しません。そのため、仮にhostAに存在するリソースを全て停止(もしくは一部停止)をしても、hostBでリソースは全て起動します。 </color=ff0000>
シャットダウンストラテジーが”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日