LifeKeeperのデフォルトの設定ではshutdownコマンド等の通常のノード停止時にフェイルオーバーは行いません。
■通常のノード停止と障害によるノード停止の判別の仕方
LifeKeeperではメンテナンス等の通常のノード停止とソフトウェア、ハードウェア障害等によるノード停止をnofailoverフラグの有無によって判別しています。 LifeKeeperではクラスター構成を取っている相手ノードが停止すると、コミュニケーションパスの通信が行えなくなるため、コミュニケーションパスの全断が発生します。 コミュニケーションパスの全断が発生すると、コミュニケーションパスの全断を検知したノードではnofailoverフラグの有無を確認する動作を行います。 ここでnofailoverフラグが存在していれば、フェイルオーバーせず処理を終了します。逆にnofailoverフラグが存在しなければ、LifeKeeperはフェイルオーバーの処理を開始します。
シャットダウンストラテジーがデフォルト設定の”Do not Switchover Resources”ではノードを停止するときに、コミュニケーションパスを経由して、フェイルオーバーを抑止するためnofailoverフラグを対向ノードに作成します。通常のノード停止ではnofailoverフラグを作成する動作になるため、通常のノード停止ではフェイルオーバーは起きません。障害によるノード停止のときは、nofailoverフラグは作成しないないため、フェイルオーバーが起きます。
シャットダウンストラテジーの設定が”Switchover Resources”のときはノードを停止しても、nofailoverフラグを作成しない動作に変わります。そのため、通常のノード停止、障害によるノード停止がどちらが発生しても、常にフェイルオーバーが起きます。ノード停止を検知したことで発生するフェイルオーバは、hostAのリソース状態に依存しません。そのため、仮にhostAに存在するリソースを全て停止(もしくは一部停止)をしても、hostBでリソースは全て起動します。
本動作を踏まえ、アクティブスタンバイの2ノード構成でshutdownコマンドを実行したときに、シャットダウンストラテジーの設定による動作の違いを以下に説明します。
[前提条件]
o2ノードのアクティブ/スタンバイのクラスター環境
o稼動系のホスト名をhostA、待機系のホスト名をhostBとする
oサーバーのメンテナンスのため、hostAのシャットダウンをする
シャットダウンストラテジーが”Do not Switchover Resources”のとき
hostAのshutdown処理の中でhostBにnofailoverフラグを生成します。hostAのノード停止を受けて、コミュニケーションパスの全断を検知します。hostBにnofailoverフラグが存在するため、フェイルオーバーは行いません。
シャットダウンストラテジーが”Switchover Resources”のとき
hostAのshutdown処理が完了し、hostAがノード停止する。hostBがhostAのノード停止を受けて、コミュニケーションパスの全断を検知します。hostBでnofailoverフラグが存在しないため、hostAからhostBの方向にフェイルオーバー処理を開始します。ノード停止を検知したことで発生するフェイルオーバーは、hostAのリソース状態に依存しません。そのため、仮にhostAに存在するリソースを全て停止(もしくは一部停止)をしていても、hostBで全てのリソースの起動を試みます。
■シャットダウンストラテジーの変更方法
シャットダウンストラテジーの設定を変更を行う方法を以下に記載します。設定変更はGUIクライアントから行う方法と、CUIから行う方法の2つがあります。
[GUI クライアントから行う方法]
1)GUIクライアントにログインします。
2)GUIクライアント上部のツールバーから[Edit]->[Server]->[Properties…]を押下します。
3)Generalタブに表示される Shutdown Strategy の箇所のプルダウンメニューから”Do not Switchover Resources”もしくは”Switchover Resources”に変更し、[Apply]ボタンを押下します。
[CLIから行う方法]
CLIから設定変更を行うときは、lkcliコマンドをご利用ください。
"Do not Switchover Resources" に設定する方法
# /opt/LifeKeeper/bin/lkcli server shutdown-strategy --mode do_not_switchover
”Switchover Resources” に設定する方法
# /opt/LifeKeeper/bin/lkcli server shutdown-strategy --mode switchover
シャットダウンストラテジーの設定の確認
# /opt/LifeKeeper/bin/lkcli server info
参考
https://docs.us.sios.com/spslinux/9.6.0/ja/topic/lkcli-lifekeeper-command-interface
掲載日: 2011年12月5日