2022年9月20日火曜日

停電後などに仮想マシンが立ち上がらないときの対処法

 当院では、ESXi3台構成のVDI環境を2組運用させているが、これからの台風シーズンなど突然の停電や雷などのサージによって、分散しているUPSの一部だけがダメになってしまったがために、ESXiが2台での運転になり、DRSによって停止した1台分に乗っていた仮想マシンが他のホストに移行した後に全停電などが起きた場合に起こりやすい(自分も2度ほど経験した)トラブルの対処法のご紹介です。


まず、DRS(vSphere Distributed Resource Scheduler)のおさらいですが、 ハードウェアの使用率を自動的に最適化し、状況の変化にリアルタイムで対応することで、データ センターの運用効率を向上させるものです。また、ホスト1台に障害が発生して物理的に修理が必要になっても、残りのホストにダウンタイムなしで仮想マシンを移動させ、サーバ メンテナンスを実行することが可能です。

とても便利ですね。


vSphere HA では、アドミッション コントロールを使用して、ホストで障害が発生した場合に仮想マシンをリカバリするのに十分なリソースが確保されるようにします。


アドミッション コントロールは、リソース使用量に制約を適用します。これらの制約に違反する可能性のあるアクションは許可されません。許可されない可能性のあるアクションには、次のものが挙げられます。


仮想マシンのパワーオン

仮想マシンの移行

仮想マシンの CPU またはメモリ予約の増加


vSphere HA アドミッション コントロールの基本は、クラスタでどれだけの数のホスト障害を許容しながら、フェイルオーバーを行うかにあります。


ここで、一番最初に記載させていただいたトラブルでESXiが落ちている場合、最後に残ったESXiにDRS機能が頑張って仮想マシンを移動させたがために、復電時にアドミッション コントロールがリソース使用量で制限をかけて、仮想マシンが起動してこないことがあります。私も最初はなぜだか全くわからなかったです(笑)















このように理由がわかっている場合は、アドミッション コントロールのチェックを外して無効化して、CPUとメモリには負荷はかかりますが、それで強引に起動して下さい。ある程度、起動したら手動で積極的にDRSをかけて(もしくは手動で稼働ホストを移行する)リソースの空いているESXiに仮想マシンを分散させてください。そうすれば無事立ち上がるかと思います。

もちろん、普段はアドミッション コントロールは有効が推奨です。あくまで、イレギュラーの話です。


台風シーズンに突入しますが、皆様にこのようなトラブルが出ないことを切に願います。もしもの時に、こういうこともあり得ることを頭の片隅に置いていただければ幸いです。