(質問)
ネットワーク負荷分散(NLB)でwebサーバが異常終了した後の対処
ネットワーク負荷分散の構成にした2台のサーバで、それぞれにJavaのWebサーバを稼動させています。Webサーバはサービスへ登録してあり、サーバの起動/停止時にWebサーバも起動/停止する設定を行なっています。
目的はWebが異常終了した場合には、新たなリクエストを相手側のWebサーバが受け取れる様にすることです。
ネットワーク負荷分散の仕組みとして、サーバ上の特定のプロセスもしくはソケットを監視することができないことは過去のトピックを見て理解しました。
そこで、コントロールパネルの「サービス」から、対象サービスの「回復」タブを使って、なんとかできないものかと考えました。考えた方法は下の二つです。
-
サービスを再起動させる
-
バッチスクリプトを実行して、自サーバの状態を「ドレイン停止」にする
1.は試したのですが、サービスが再起動されていませんでした。2.は具体的な方法が分からずに止まっています。
何か、良い知恵があれば、お貸しいただくことはできませんか。
(回答)
○○○○です。
NLB でドレイン停止を設定するスクリプト、がご希望なら、したのページにまとまった情報がありますね。該当する内容を確認してください。
http://www.yottun8.com/wiki/PowerShell%20NLB.html
PowerShellをスクリプトで実行する場合、powershell.exe -file "<スクリプトのフルパス>"普通に実行できるはずです。
(MSのページ)
ネットワーク負荷分散の新しいトラフィック処理を指定のポートに対して無効にする
(参考ブログ)
Windows Server 2008 R2のNLBで使用できるPowerShellコマンドレット (Stop-NlbCluster) について-焦げlog
http://social.technet.microsoft.com/Forums/ja-JP/windowsserver2008ja/thread/0da47049-84b1-4e6f-a17b-b1105349b719/#0e7f584a-8905-481a-9b8e-8ecd391b6aaePR