VMware Server 2.0.2がリリースされた、しかし...

以下の話、“VMware Serverのコンフィグ時の警告について”に補足しておいた。結局、警告は特に問題ないようだ。

Ubuntu 8.04 LTS(長期サポート版)Serverと VMware Server 2.0.1で非常に安定して使っているのでブログに書くネタもなくなっていた。

ところが先週ごろ、Ubuntu 8.04のカーネルがバージョンアップになった。カーネルが 2.6.24-24 から 2.6.24-25 へアップした。

Linuxカーネルのバージョンを上げるとVMware Serverが再コンフィグできなくなることが多い。ホストOSとしてFedoraを使っていた頃は結構頭を悩ましていた。しかも、Fedoraの場合、カーネルのバージョンを上げないと他の機能にも影響が出ることがあるので、無理やりVMware Serverにパッチを当てて対応していた。Ubuntu 8.04 LTS Serverをベースにしてからは、このようなことは無かったのだが....。

念のためルート・ファイルシステムのバックアップを取ってから、カーネルをバージョンアップして、VMware Server 2.0.1 の vmware-config.pl を実行してみた。するとvsockモジュールのコンパイルの部分で、

Using 2.6.x kernel build system.
make: Entering directory `/tmp/vmware-config0/vsock-only'
make -C /lib/modules/2.6.24-25-server/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.24-25-server'
  CC [M]  /tmp/vmware-config0/vsock-only/linux/af_vsock.o
  CC [M]  /tmp/vmware-config0/vsock-only/linux/driverLog.o
  CC [M]  /tmp/vmware-config0/vsock-only/linux/util.o
  CC [M]  /tmp/vmware-config0/vsock-only/linux/vsockAddr.o
  LD [M]  /tmp/vmware-config0/vsock-only/vsock.o
  Building modules, stage 2.
  MODPOST 1 modules
WARNING: "VMCIDatagram_CreateHnd" [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: "VMCIDatagram_DestroyHnd" [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: "VMCI_GetContextID" [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
WARNING: "VMCIDatagram_Send" [/tmp/vmware-config0/vsock-only/vsock.ko] undefined!
  CC      /tmp/vmware-config0/vsock-only/vsock.mod.o
  LD [M]  /tmp/vmware-config0/vsock-only/vsock.ko
make[1]: Leaving directory `/usr/src/linux-headers-2.6.24-25-server'
cp -f vsock.ko ./../vsock.o
make: Leaving directory `/tmp/vmware-config0/vsock-only'
The vsock module loads perfectly into the running kernel.

警告(WARNING)が出ている。一応は“The vsock module loads perfectly into the running kernel.”ということでカーネルへのモジュールの組込みは成功しているものの、ちょっと気持ち悪い。

さて、どうしたものか。ネットをあちこち見ていると、なんと昨日、VMware Server 2.0.2がリリースされているではないか。“これはホストOSとしての要件リストにあるUbuntu 8.04 LTSのカーネル更新に合わせてリリースされたに違いない”などと妄想を抱きつつダウンロードして、インストールしてみた。しかし、結果は全く同じ。(警告メッセージの部分は一字一句同じ。)

ところで、この警告メッセージについて調べたところ、ちょっと古い書込みだがVMwareのコミュニティサイトでこんなのを見つけた。
VMware Communities: Install problem ...
この中に“Nothing in Server 2.0 requires or uses VSock, it's just a useful communication API/platform for people (ISVs, developers) building services that need to communicate between hosts and guests with high bandwidth/low latency (i.e. faster than guest networking).”というVMwareロゴ付きの書込みがある。つまり、ゲストOSとの高速通信を必要とするアプリケーションをソフトベンダなどが開発のためのものであり、VMware Server製品では使っていない、ということなので普通に使う上では必要ないらしい。

ここで、取りうる選択は次の2つだろう。

  1. カーネル 2.6.24-24 + VMware Server 2.0.1 の安定環境でもうしばらく使い続けて、将来 VMware Server 2.0.3とかが出てきてカーネル 2.6.24-25と共にバージョンアップ。(もしくは、カーネルのバージョンを上げないと他の機能にも影響が出てくるまで。)リスクとしてはLinuxVMware Serverも既知のバグと脆弱性を内在しながら使わなければならないこと。しかし、外向けのサーバではないし、ホストOSは仮想マシン・エンジンとしてしか使っていないので、それ程のリスクにはならない。
  2. カーネル 2.6.24-25 + VMware Server 2.0.2 の組み合わせで vsock の機能無しで利用する。特にリスクは無いが、vsockが使えないことで、どれ程の影響が出るかが心配。

2の方法でもいいのだけど、2の方法で環境を設定してしまうと1の環境に戻せない事が悩ましい。(ゲストOSにインストールするVMware Toolsもバージョンアップしなければならないので。) 当面は1の方法で運用して、必要に迫られたら2に移行するか。

 VMware Server 2.0.2って何だ!?

さて、半年以上経ってバージョンアップされたVMware Serverだが、何が改善されたのかとRelease Noteを見てみると....。
なんと2つの脆弱性が解決されているだけで、既知の問題が山ほどある。う〜ん、何のためのバージョンアップなのだろうか? せめて(ユーザガイドの要件リストにある)ホストOSのカーネルのバージョンアップにくらい対応しておいて欲しい。

なんとなくだが、VMware社は株式公開してから無償製品や個人向け製品に力を入れなくなったような気がする。もっぱらデータセンタ向け製品や企業向け製品に力をいれている。もちろん利益を上げるためそうした方向は構わないのだが、今まで無償製品を使って来ている個人ユーザをがっかりさせないで欲しい。VMware Server 1.xの頃は頻繁にバージョンアップしてくれていたので助かっていたが。

今は取り敢えず安定して動いているの良いが、VMware Server製品の対応が今のままであれば、次回マシンを入れ替えるときはKVMや、改めてXenというのも現実的な選択肢かも知れない。それにWindows 7Virtual PCというのも評価次第では。2年前とは仮想マシンの環境も変わってきている。

そうそう、Windows 7といえば。VMware Server 2.0.2が昨日(10月27日)のリリースなので、“おぉ、いち早くWindows 7をゲストに使えるようにしたのか”という妄想を抱いても仕方あるまい。しかし、2.0.2をインストールして仮想マシンを作成するメニューで“Windows 7”は無かった。こちらも、ちょっと寂しい思いをしてしまった。