Microsoft Virtual Server, VMWare ともに、1台の PC で複数のバーチャルマシンを動かすための仮想化テクノロジーです。

Web サーバに 1台、DNS サーバに 1台と大量の単機能な PC を並べたほうが、パフォーマンスの点では有利ですが、電気代と設置スペースと人手がいくらあっても足りません。また 1台の PC に欲張って Web, DNS, DB, プロキシと何種類もサーバアプリケーションを詰め込むのは、だいたい相性問題でどれかが動かなくなったり、セキュリティ的に問題があったりします。

そこで Virtual Server (Hyper-V) や VMware といった仮想化のためのテクノロジーを使って、複数の仮想 PC をお互いに干渉しないで、1台の物理的な PC の上で仲良く動作させることになります。

「Virtual Server / VMware どちらか 1つのテクノロジーだけで良いんじゃないの?」という声が聞こえてきそうですね。色々試してみた結果、2つのテクノロジーには得手不得手があることが分かっていて、nire.com では、こんな感じで使い分けています。OS オタク魂を満たすために 😀

Virtual Server 2005 SP1 R2 … Windows 2003 など MS のサーバ系 OS + RHEL などサポートされている OS
VMware Server … Fedora など Virtual Server がサポートしていない OS

最初のうち VMware 用に 1台, Virtual Server に 1台といった物理 PC の分け方をしていたのですが、ゲスト OS (バーチャルに動作している仮想 PC) がなにせ多数入り乱れているアリエナイ環境なので、禁断の仮想化テクノロジー自体の同居に踏み切ることにしました。

結論としては、この 2つは同居可能でした。(Windows 2003 Server SP2 上で)

ホスト OS 起動後、VMWare Console がすぐには起動しないため、やはり相性問題か! と色めきだちますが、サービスの依存関係をレジストリに書いてやることで、しばらく待っていれば正しく起動します。

ただ、Virtual Server 単体だと、ゲスト OS が複数あったときに、Active Directory はホスト起動後すぐ、IIS は 120秒後、とかずらしてスケジューリングして起動できるのに対して、VMware は、ゲスト OS が同時にいっせいに起動しようとします。

さらに、Virtual Server <-> VMware 間で起動の順番は調整されないので、両方が CPU リソースを取り合って最初は激しく重くなります。

起動してしまえば、すべてのサーバが年中クライアントからアクセスされているわけではないので、そこそこのパフォーマンスで動くようになります。

DHCP サーバからの IP アドレスの取得
Active Directory サーバへのログオン
1個のゲスト OS に複数の NIC, 別々のサブネットに所属

といった、同居させるといきなり失敗しそうな 😀 ネットワーク関連の挙動は、どちらも干渉したりせず、普通に動くようです。

負荷分散のためのテクノロジーは、WLBS を以前 Virtual Server 上で動かしていたのですが、今は試していません。