普段 CentOS 5.4 で動作する VMware Server 2.0.2 上の仮想マシン (以下 VM) はコマンドで操作しているため、VMware Infrastructure Web Access (以下 VI Web Access) はあまり使わないのだが、先日久々に常用ブラウザーの Firefox 3.6 でアクセスすると、ログイン後に管理画面が表示されなかった。いったん Firefox を終了させて再度アクセスすると、今度はログイン画面すら表示されない。
そこでホストマシン上で直接 vmware-vim-cmd を叩いてみると
terminate called after throwing an instance of 'VmdbError' Aborted
となって、仮想マシン (以下 VM) の操作が全くできなくなっていた。仕方がないので全 VM を SSH 経由でシャットダウン後、VMware Server を停止。残っていた vmware-hostd を kill -TERM してから改めて VMware Server を起動させると、とりあえずコマンド操作はできるようになるが、VI Web Access にアクセスした途端に同じ現象が再発してしまう。
何か設定が壊れたのかと vmware-config.pl を実行しても変わらないので、VMware Server を再インストールして VM を起動してみると、起動はするものの VM が Bridged な NIC 経由でネットワークを使えず、他のマシンからも存在が見えない (これは後で凡ミスが発覚)。厄介なことになったぞと思いつつログを確認したり、ホストマシンの bonding を元に戻して VMware Server の再インストールしてみたり、ひょっとして以前に実施した glibc 対策が原因なのかとあれこれ時間を浪費した挙句、IE8 で VI Web Access にアクセスすると正常に動作することに気付いた。
少し前に Firefox で VI Web Access を使ったときは問題なかったが、あの時は 3.6 ではなく 3.5 だった。ひょっとして Firefox 3.6 固有の問題かと調べてみると、やはりそうだった。
各所に情報があるように、これは Firefox 用のプラグインが正常に機能していないことが原因のようだ。回避策はいくつかあるが、根本的な解決策は現時点ではなさそうなので、僕は最も簡単な 「VI Web Access を操作するときは IE を使う」 で済ますことにした。どうせあまり使わない。
しかし VMware Server 自体に不具合が発生していることから、まさか Firefox が原因とは思わず、解決に時間がかかってしまった。IE で VI Web Access にログインした状態で Firefox 3.6 でもアクセスすると、問題の現象発生と同時に IE 側でもエラーメッセージが表示され、操作不能になってしまうので、サーバー自体が影響を受けているのは間違いないと思う。
ちなみに VM のネットワークが使えかったのは、Firefox の不具合とは全く無関係の凡ミス。別マシンで動作する VMware ESXi 4.0 と一部の VM を共有するためにネットワーク名を ESXi に合わせていたことを失念していて、デフォルト設定のまま VMware Server をインストールしたことが原因だった。焦っているときはくだらないミスをしがちと言う好例だ。