Hyper-Vは、Windows Server 2008に標準機能として搭載されたハイパーバイザーである。標準機能とはすなわち、ファイルサーバやActive Directoryなどと同じように、ライセンスを別途購入しなくともWindows Serverの基本機能として使用できるということだ。
マイクロソフトの仮想化ソフトウェアには従来、「Virtual PC」や「Virtual Server」があったが、これらはホストOS型であるため性能や機能の面でハイパーバイザー型に対して劣っていた。特に複数の仮想マシンを同時に動かす必要があるサーバ仮想化では、性能で有利なハイパーバイザー型のHyper-Vは待望の機能といえる。
Windows Server 2008と同時にリリースされたHyper-V 1.0は、最初のバージョンということもあり、無停止で仮想マシンを移行するライブマイグレーションが行えないなど、先行するVMware ESXに比べて機能や性能で劣っているところがあった。しかし、Windows Server 2008 R2がリリースされるとともにHyper-Vは2.0にバージョンアップした。パフォーマンスはチューニングされ、ライブマイグレーション機能が加わるなど、Hyper-V 2.0はVMware ESXと比べて遜色がなくなってきている。
Hyper-Vはハイパーバイザー型だが、VMware ESXとは構造が若干異なり、どちらかといえばXenServerに似ている。最大の特徴は、仮想ホストの管理やデバイスドライバによるI/O処理などを引き受ける特別な仮想マシンが必要ということだ。この特別な仮想マシンをHyper-Vでは「親パーティション」と呼ぶ(XenServerでは「Domain 0」)。
親パーティションにはゲストOSとしてWindows Server 2008が必要となる。親パーティションでWindowsを動作させることで、WindowsのGUIで管理できたり、Windowsのデバイスドライバを利用できるといったメリットがある。また、マイクロソフトは「Hyper-V Server」という製品を無償ダウンロードで提供している。Hyper-V Serverは、親パーティションにGUIのないWindowsであるServer Coreを採用しており、仮想マシン実行に特化したパッケージとなっている。
Hyper-Vのインストールは、アーキテクチャを理解していればそれほど難しくはない。まず、物理マシンハイパーバイザー(以下、仮想ホスト)となるマシンにWindows Server 2008をインストールする。ここでインストールしたOSが、Hyper-Vの親パーティションで動作するOSとなる。
次に「役割」としてHyper-Vを追加する。システムを再起動すると、まずHyper-Vが起動し、その後親パーティションが起動して仮想マシンを実行できるようになる。Hyper-Vをインストールすると、最初にインストールしたシステムが親パーティションとして機能する点をしっかりと理解しておこう。Hyper-V Serverの場合には、仮想マシン実行に特化しているので、最初からHyper-Vと親パーティションとしてのServer Coreがインストールされるようになっている。
Hyper-Vのフェイルオーバーやライブマイグレーションなどの機能について説明する。
障害発生などで仮想ホストが停止したときに、その上で動作していた仮想マシンを別の仮想ホスト上で再起動すること。Hyper-Vでは、Windowsの標準機能である「MSCS」(Microsoft Cluster Service)を利用してフェイルオーバーを行う。具体的には、MSCSが監視するリソースに仮想マシンを登録することでフェイルオーバーが行えるようになる。
仮想マシンを一時的に停止し、別の仮想ホスト上に移動して再度動作させる機能。Hyper-V 1.0ではライブマイグレーションがサポートされておらず、クイックマイグレーションのみのサポートとなっていた。Hyper-V 2.0になっても、クイックマイグレーションの機能は残されており、MSCSの機能として提供されている。
仮想マシンを停止せず、別の仮想ホスト上に移動させる機能。Hyper-V 2.0からのサポート。ライブマイグレーションもMSCSの機能として提供されている。
MSCSでクラスタを構成した際に、クラスタノード間で共有可能なストレージの仕組みのこと。Windows Server 2008 R2からサポートされている。Hyper-V 1.0ではクラスタを構成する際に、1つの仮想マシンにつき1つのストレージ領域を割り当てる必要があり非常に効率が悪かったが、Hyper-V 2.0ではCSVにより1つのストレージ領域に複数の仮想マシンを配置できるようになった。
Hyper-V 2.0で強化された機能には、MSCSとの結び付きが強いものが多い。VMware ESXがVMware vSphereというソリューションパッケージによって強化されているのと同様、Hyper-VもWindowsというシステムで用意された機能との連携で機能している点に注目してほしい。

Windowsには、システム管理の仕組みとしてMMC(Microsoft Management Console)が用意されている。Hyper-Vも、仮想化環境の基本的な管理はMMCに対応した「Hyper-Vマネージャ」を利用する。Hyper-Vマネージャは、ホストにHyper-Vをインストールした際に同時にインストールされるので、親パーティションに管理者としてログオンすればすぐに利用できる。
Hyper-Vマネージャは、ローカルホストの管理のほか、リモートホストに接続した状態でも管理できる。例えば、Windows 7に「リモート サーバー管理ツール」とHyper-Vマネージャをインストールすれば、リモートでHyper-V環境を操作することも可能だ。
フェイルオーバーやライブマイグレーションは、基本的にHyper-Vマネージャでコントロールできる。VMware vSphere 4の場合は、VMotionでライブマイグレーションを行うにはvCenter Serverが必須だが、Hyper-Vではこの後に説明する「System Center Virtual Machine Manager」(SCVMM)が必須というわけではない(ただし、SCVMMを使えばより便利に運用できるので無関係ではない)。
基本的な運用管理はHyper-Vマネージャで行えるが、より高度な仮想化環境の運用管理を行いたい場合には、System Centerを利用するのがよい。System Centerは機能別に製品が分かれており、仮想化環境の運用管理にはSCVMMを利用する。SCVMMで管理可能な仮想化環境は、Hyper-VのほかにMicrosoft Virtual ServerやVMware ESX/ESXiがある。
SCVMMでは、主に以下の機能が利用可能だ。
あらかじめ作成しておいた仮想マシンを基に、新しい仮想マシンを作成する機能。
仮想マシンの配置を最適化する機能。最適化を判断するために、CPUやメモリなどの利用率などを基に、配置場所のお勧め度を星の数で表してくれる。
物理サーバから仮想サーバ(P2V:Physical to Virtual)、あるいは仮想サーバから仮想サーバ(Virtual to Virtual)への移行をサポートする機能。
SCVMMは仮想化環境の運用管理に特化した製品だが、System Centerにはほかの機能を備えた製品も用意されており、これらを仮想化環境と効果的に組み合わせることで高度な運用管理ができる。
障害監視やパフォーマンス管理などの機能を備えている。
インベントリ管理やソフトウェアの配布などの機能を備えている。
バックアップリカバリの機能を備えている。
特に、VMware vCenter Serverが備えている性能監視の機能はSCVMMには含まれていないので、より詳細なパフォーマンス管理を行いたい場合にはSCOMと組み合わせる必要がある。
System Centerのような仮想化環境におけるシステム運用管理製品を比較する場合、単体製品同士の機能比較ではなく複数の製品の組み合わせによる機能比較が必要なので注意が必要である。
Hyper-V 2.0は、機能と性能の点でVMware ESXやXenServerに追い付いてきたといえる。運用管理の面ではSystem Centerとの連携が必要となるが、この部分はまだ製品としての歴史が浅い分、今後ノウハウの蓄積が必要となるだろう。
それでも、Hyper-Vの利用には追加のライセンスコストが掛からないことから、中堅・中小企業における仮想化環境構築では検討対象に入ることが増えてきており、今後の利用拡大が見込まれる。仮想化環境の導入を検討しているのであれば、その目的と規模に応じてSystem Centerも含めた構成にするかどうかを検討するとよいだろう。