ホストマシンが固まる

仮想化の利点の一つとして多くの人が挙げるのに「ソフトウェアの不具合によってシステム全体に影響を及ぼすことが防げる」がある。確かにその通りだろう。実OSに環境では何らかのソフトウェアの不具合がOS全体に普及するケースもあるが、仮想マシン環境であれば「そのマシン」だけをリブートすれば良い。実マシン上で動いている他の仮想マシンには影響を与えない、というのがコンセプトだ。

ただし、これは仮想マシンソフトウェアが正常に動作するという前提の話しである。もし、仮想マシンソフトに欠陥があった場合は、逆に「たった一つの仮想マシンの不具合が全ての仮想マシンに影響を与える」ことになる。使い始めて数週間しか経っていないが、そう言う事態に遭遇してしまった。

VMware ServerでVMwareのAppliance MarketplaceからUbuntu 6.06の仮想マシンをダウンロードして使っていた時の話しだ。ダウンロードしたのはUbuntu 6.06 "Dapper Drake"にある「pre-compiled for AMD 64-bit processors」だ。これをInspiron 1501(AMD Turion 64 X2, TL-56)上のVMware Server動かしていた。(ホストOSはFedora 7 2.6.12-1.3288.fc7)

ダウンロードしてストレスもなくサクサクとUuntuが動き始めた、日本語環境に設定したり、画面解像度を設定するために幾つかのパッケージをダウンロードして来て、何回かリブートを繰り返してしたが、特に問題もなかった。ちょっと気になってBIOSレベルの設定を確認したくてリブートした。BIOS画面になったところで「F2キー」を押そうとしたが、VMwareの環境ではアッと言う間にBIOSへの移行画面が終わって、直ぐにOSのブートに入ってしまう。そのタイミングで「F2キー」(に限らず「ESC」などでも同じだが」を押すとOSのブートのところで固まってしまう。(正確には、vmlinuzを解凍したメッセージが出て「booting the kernel.」というメッセージが出ているところで固まる。)

「あ〜あ、固まっちゃった。でも仮想マシンだから、仮想マシンの電源をオフにして....」と思い電源ボタンを押すが反応がない。何回か押しても変わらないので「あれ、VMware Serverが固まったかな。一旦起動しなおそう。」甘かった。

Vmwareのコンソール画面の右上の×ボタンを押したが反応がない。「あれ、あれ。固まってる。仕方ない、Shell画面からプロセスをKillろう。」これも甘かった。

GNOMEのメニューバーある(Top Panelに設定してある)端末アイコンを押すが反応が無い。「あれ、あれ、あれ。GNOMEが固まっている?」「仕方ない(ホストマシンを)リブートするか。」でも画面が固まっているのでメニューが出ない。でもマウスのカーソルだげは動いているのでカーネル部分は生きているように見える。「別のマシンから入ってリブートするしかないな。」これも甘かった。

(物理)イーサネット上にHUBを介して直接繋がっている別のマシンからSSHでのログインを試みる、が反応がない。(Connection Refusedとかにならないので、ポートへのアクセスは成功していのか?)念のためVNCでもアクセスしてみたが反応がない。後は....。

後は電源を切るしかない。電源を切って、再度ON。Fedoraは問題なく立ち上がる。(昔のUNIXだったらここでfsckが走って数十分待たされるところだが。今のLinuxはJournalingで直ぐに復旧する。嬉しい。)次にVMware Serverコンソールを起動して、Ubuntu仮想マシンを立ち上げようとした。そしたら「(仮想)ディスクにアクセスできない」というメッセージが出るだけ。「う〜ん、またサラの仮想マシンを設定しないといけないかな」と思いつつShell画面から仮想ディスクのあるディレクトリへ行ってみるとxxxxLOCKファイルがあって、多分このせいでアクセスできないとか言っているのだろう。LOCKファイルを消して再度、仮想マシンを起動すると、無事に「仮想」の方も起動した。

この不具合は再現性がある。「booting....」のメッセージの前にキーを叩くと固まる。仮想マシンが固まるのは愛嬌だが、ホストマシンまで固めて捨てるのはいかがなものか。

ちなみに、VMware ServerはFedora 7を正式にはサポートしていない。ので、別にこのような不具合があったからと言って文句を言うことではない。(実はUbuntu 6.05を動かしたのもホストOSとしてVMware Serverのサポートリストに載っていたからだ。一旦、仮想マシン上でUbuntuを動かして、VMware Serverのインストール(コンパイル等)が問題なくできるか試すためだった。)

非サポートのOSで動かしてのことだから、VMwareを批判する気は全然ないが、ホストマシンまで固まってしまったという事実があったことと、こういった事態になった場合には、仮想化ソフトのメリットが弱に大きなデメリットになってしまう可能性があることを備忘しておく。

実は、仮想化ソフトは、その上で動いていOSよりも更に高い品質を求められている、ということを認識できた。