質問: サーバにESXiOS(ver5.x)をインストールし、ESXiホストOS上に複数のvmを作り、すべてのvm上にRHEL5.5, 6, CentOS5 のLinux OSをゲストOSとして構築した環境があります。 この複数のvmがある日を境に突然bootできなくなることが起こり、黒い画面(shell)上に、 grub> というプロンプトが出て、 root (hd0,1) や help コマンドなどいろいろ試してみましたが、MBRが見つからず、ゲストOS(Linux)がbootできなくなってしまう事象が定期的に起こります。 もっともISOイメージから修復して一旦は回復するのですが、しばらくすると再現するもので、根本的な解決方法が分かりません。 vmwareのナレッジベースを見ると、 https://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=2113325 上記の通り、"この問題は、起動可能なディスクの MBR が破損または変更された場合に発生します。" の表記があり、この点については、仮想化基盤上でなくても物理環境でも同様のことと思います。 ここで考えたことは、vm上のLinux OS のMBRは、vm data fileのどこかに書かれており、これをシステムBIOSが読み込む仕組みかと思います。 そしてそのファイルはやはりホストOSであるESXiがいる物理ディスクのどこかにいると思うのですが、先頭部分にあるとは限らないと思いました。 本事象は仮想基盤上すべてのvm(6つ すべてlinux)で同時に発生したもので、なぜこのような事象が発生するのか、その原因が分かりません。6箇所のファイルが同時に壊れたと考えるのはあまりに不自然なためです。 それとも、すべてのvmのゲストOS(Linux)のMBRのファイルが、仮に物理HDDの先頭部分に書かれていて、この部分が壊れてしまった、と考えるべきなのでしょうか? ESXiの仕組み(vmの実体は、vm data fileであってESXiOSがこれらのファイルを読み込むことで動かしているという考え方であっているでしょうか?)について、あまりくわしくないもので、ご教示いただければ大変助かります。
回答: ESXi 4 / 5 をいくつかの環境で利用していますので、経験談も含め回答させて頂きます。 まずハードウェア的に安定している環境では同様の現象になった事はありませんが、 一度だけ古い不安定な環境で VMFS (ファイルシステム) 自体が認識されなくなった 事がありました。(その時は電源不良かHDD故障の疑いがありました) お考えの通り仮想HDDのMBRは、物理HDDのどこに書かれているか不定で、別々の離れた 場所に書かれている可能性が高いです。 逆に考えるとMBRの場所だけではなく、HDDの全体的なハードウェア不良が発生している 可能性もあると思います。 (ISOからの全体復旧ではなく、MBRのみ復旧した状態でOS起動できなければ全体的な不良です) 可能であれば物理ディスクを交換して原因の切り分けをしてみてはいかがでしょうか。 (交換後も再発するようであればソフトウェアや運用を含む別の問題になります)