Hyper-VはクローズドソースなXenなのか?(2)

…なんてエントリーを書いていたら、Computerworldにジャストタイミングな記事が。

Windows Server 2008Hyper-VVMware ESX/ESXiの2つのハイパーバイザにおけるアーキテクチャの違いを、それぞれのデバイスの実装方式の違いを中心に解説し、最後にHyper-VアーキテクチャオープンソースXenとよく似ている点について触れた。
下の図1と図2は、それぞれHyper-Vと、準仮想化モードで仮想マシンを実行中のXenアーキテクチャを示したものだ。両者の文字を取り除けば、まったく同じ図になることに気付いていただけるだろう。

http://www.computerworld.jp/topics/mws/157869.html
Para-Virtualizationによって仮想化を実現していた初期のXenはさておき、ハードウェア仮想化支援機能を活用した仕組みにおいてはほぼ同一の形式で仮想マシンを実行していることがよくわかる。とはいえ、

XenハイパーバイザとHyper-VWindows Hypervisorはまったく異なるものなので、そのままではXen対応カーネルを動かすことは不可能だ。ハイパーコールアダプタは、Xen対応カーネルが発行するXenハイパーコールを、Hyper-Vハイパーコールに変換するものである。これを間にかませることで、Windows Hypervisor上でXen対応カーネルが動作する。

…ということでLinuxに基盤を置くXenWindowsに基盤を置くHyper-Vでは仕様的には似通っていても詳細な技術レベルに落とし込めばだいぶ異なる仕様であることは確かだ。しかし、単にハイパーコールアダプタを用意する程度でXenに対応したLinuxカーネルHyper-V上で実行できるようになるのだから、その程度で済む違いしかない、ともいえなくはないだろう。

Hyper-VLinuxサポートに関しては、ゲストコンポーネントの機能がまだまだ不十分であるという点にも触れなければならない。 Windowsゲスト向けの統合サービスとは異なり、Linux ICsバージョン1.0ではマウス統合やビデオ用のVSCは提供されない(これらはLinux ICsのRC1には存在したが、正式リリースでは提供が見送られた)。
また、時刻同期機能、シャットダウン連携機能、仮想マシンの動作状況を監視するためのハートビート機能や、ライブバックアップのためのVSSボリュームスナップショット機能など、運用に欠かせないペアレントOSとの連携機能も提供されていない。
このように、Hyper-VLinuxサポートは、Xenテクノロジーとの統合という興味深い実装ではあるが、まだまだ実験、評価段階といった印象を持たざるを得ない。Linux ICsの次のバージョンでどこまで対応されるのか期待したいところだ。

そうは簡単にXenと同レベルにまでLinuxゲストOSをHyper-V上で実行できるようになってしまったらXenの立場はないわけで、まだだまだ両者の共存状態は当面続くことになるだろう。Hyper-VXenはいずれもWindowsLinuxという単一のOS技術に深く根ざしていたが故に両者を含めたx86アーキテクチャOSを幅広くフォローするVMwareに市場におけるリードを許してしまったわけだが、それぞれのゲストOSに対する親和性という意味ではVMwareに勝る部分も多い。SCVMMなどを通じてHyper-VとXenServerが完全に同レベルで管理できるようになれば、Hyper-V/XenServer連合軍はユーザにとっても意味のある協力体制となっていくかもしれない。