こんにちは。SCSKの津田です。
システムの計画的なメンテナンスやトラブル対応時に、サーバの停止や再起動を行うことは少なくないですよね。
LifeKeeperを導入する環境では、こうした場面で「稼働系サーバを停止・再起動した場合にフェイルオーバが発生するのか?」というご質問を利用者の方からよくいただきます。
結論から申し上げますと、サーバ停止時の挙動は、LifeKeeperの設定 (シャットダウンストラテジー) によって選択することが可能です。
本記事では、LifeKeeper導入環境におけるサーバ停止時の動作についてご説明します。
シャットダウンストラテジーについて
LifeKeeperでは、「シャットダウンストラテジー(Shutdown Strategy)」の設定によって、通常のサーバ停止時の動作を選択できます。
シャットダウンストラテジーとは、クラスタ内の稼働系サーバが通常のサーバ停止をする際に、待機系サーバへリソースをフェイルオーバするかどうかを制御する LifeKeeper のオプションです。
以下の2つから選択ができます(デフォルトは “Do not Switchover Resources” )。
シャットダウンストラテジー オプション | 動作内容 |
Do not Switchover Resources(デフォルト) | 通常のサーバ停止時、待機系サーバでリソースは起動しない(フェイルオーバしない)。 |
Switchover Resources | 通常のサーバ停止時、待機系サーバでリソースが起動する(フェイルオーバする)。 |
LifeKeeperが「通常のサーバ停止」とみなす操作例:
・Linux:shutdown、rebootコマンド
・Windows:Windowsメニューからのシャットダウン、再起動
・クラウド環境:コンソールからのサーバ停止、再起動
通常のサーバ停止と障害によるサーバ停止の判別の仕組み
ちなみに、LifeKeeperでは通常のサーバ停止と障害によるサーバ停止を、バックアップサーバでの「nofailoverフラグ」の有無によって判別しています。
・「nofailoverフラグ」なし:障害によるサーバ停止と判定し、フェイルオーバ処理を開始
“Do not Switchover Resources”を設定している場合、 通常のサーバ停止時は、コミュニケーションパスを通じて、バックアップサーバに「nofailoverフラグ」が作成されるため、フェイルオーバは発生しません。
一方、障害によるサーバ停止の場合は「nofailoverフラグ」が作成されないため、フェイルオーバが実施されます。
“Switchover Resources”を設定している場合、 通常のサーバ停止時に「nofailoverフラグ」は作成されません。
そのため、通常のサーバ停止か障害によるサーバ停止かに関わらず、必ずフェイルオーバが発生します。
また、稼働系サーバのリソース状態にかかわらず(一部リソース停止、もしくは全停止状態でも)、待機系サーバ上でリソースが全て起動します。
シャットダウンストラテジー設定変更方法
シャットダウンストラテジーは、各サーバごとに設定が可能です。
①LifeKeeper GUIを開き、[Edit] メニュー で [Server] ⇒ [Properties] をクリックします。
②[Server Properties] ダイアログが表示されるため、
[General] タブ で、[Server]、 [Shutdown Strategy] の値をプルダウンから選択し、[Apply]をクリックします。
※シャットダウンストラテジーはサーバごとに個別設定が可能です。
どちらを選択すべきか?
・ Do not Switchover Resources
メンテナンスやスケジュールなどによる、意図的なサーバ停止時にリソースの切り替えが不要な場合に適しています。
・ Switchover Resources
メンテナンス等によるサーバの通常停止時にも、自動でフェイルオーバさせることで必ず待機系サーバでサービス提供を継続したい場合
に適しています。( ※”Do not Switchover Resources” を設定している場合もサーバ停止前に手動で待機系にスイッチオーバすること
で、サービス提供は継続可能です。)
当社で構築してきたシステムでは” Do not Switchover Resources ”を設定するケースが多いです。
運用ポリシーやメンテナンス計画に応じて、適切な設定を選択しましょう。
注意事項
シャットダウンストラテジーの設定には以下の点にご注意ください。
・シャットダウンストラテジーが有効に機能するには、正常なシャットダウン時に LifeKeeper のプロセスが起動している必要があり
ます。※再起動時は、LifeKeeper のプロセスも自動で起動されます。
・LifeKeeper for Windows環境において、DataKeeperのリソースを作成し、シャットダウンストラテジーで“Switchover Resources”を
設定している場合、通常のサーバ停止時にリソースの切り替えに失敗する可能性があります。
(参考:https://lkdkuserportal.sios.jp/hc/ja/articles/360037693491)
まとめ
今回はLifeKeeperのシャットダウンストラテジーの設定についてご紹介しましたが、いかがでしたでしょうか?
本記事でLifeKeeperでは 通常のサーバ停止時にリソースの切り替えを行うかどうかを選択できるということをご理解いただけましたら幸いです。
シャットダウンストラテジー オプション | 動作内容 | 適したケース |
Do not Switchover Resources | 通常のサーバ停止では、フェイルオーバしない。 (nofailoverフラグがバックサーバに作成されることにより、フェイルオーバが抑止される。) |
メンテナンスやスケジュール等による意図的なサーバ停止時にリソースの切り替えが不要な場合 |
Switchover Resources | 通常のサーバ停止でも、フェイルオーバする。 (nofailoverフラグがバックサーバに作成されないため、フェイルオーバする。) |
サーバ障害時だけでなく、通常のサーバ停止時にも自動でリソースの切り替えを行い、サービスを継続させたい場合 |