順当に進化したハイパーバイザー「Hyper-V 3.0」~ネットワーク機能などが大幅に強化


 先日のBUILDカンファレンスで、初めてWindows 8(開発コード名)に関する詳細が発表された。多くのメディアでは、クライアントOSのWindows 8で提供されたMetro UIに関する記事が多いが、実はOSとして大きな変化を見せているのは、サーバーOSのWindows Server 8(開発コード名)だと思っている。

 Windows Server 8は、さまざまな部分で進化しているが、今回は特にハイパーバイザーのHyper-V 3.0にフォーカスをあてて紹介していこう。

 

大量のCPUとメモリをサポートしたHyper-V 3.0

Windows Server 8では、サポートされている論理プロセッサ数、メモリが大幅にアップしている

 Windows Server 8では、最大160個の論理プロセッサ、最大2TBのメモリ容量をサポートしている。

 ハイパーバイザーのHyper-V 3.0ホストでは、1024個の仮想プロセッサをサポートしている。さらに、仮想マシンごとに、最大32個の仮想プロセッサ、最大512GBの仮想メモリをサポートする。また、1台のHyper-V 3.0ホストで、最大1024個の仮想マシンが実行できる。

 このように、前バージョンのWindows Server 2008 R2に比べると、比較にならないほど、仮想化関連のスケーラビリティが向上している。


Windows Server 8では、サポートする論理プロセッサ数が大幅にアップすることで、仮想マシンの性能がアップしているHyper-V 3.0では、仮想マシンの仮想CPUをアップすることで性能がスケーリングする
Hyper-V 3.0では、仮想マシンの仮想CPUで仮想的にNUMAをサポートしている

 面白いのは、仮想マシンのアーキテクチャとして、NUMAがサポートされていることだ。通常、仮想マシンでは、ハードウェアを仮想化するため、SMPなどのハードウェアアーキテクチャを採用している。

 しかし、実際のハードウェアでNUMAを使用していると、最悪のケースでは、仮想プロセッサが別々のCPUに割り当てられたり、仮想メモリが、別々のCPUが管理している物理メモリに割り当てられたりする。こうなると、仮想マシンの動作に無駄な部分が生じて、低い性能しか出せなくなる。

 そこで、Hyper-V 3.0では、仮想マシン自体がNUMAアーキテクチャをサポートすることで、物理ハードウェアのNUMAアーキテクチャと互換性を持つ。仮想マシン自体が、NUMAアーキテクチャを意識して構成されるため、これなら、仮想マシンの動作にアーキテクチャ的な無駄が生じることはないだろう。

 Windows Server 8では、仮想ディスクとして、新しいVHDXフォーマットがサポートされた。以前のVHDフォーマットでは、最大2TBの仮想ディスクまでしか作成できなかった。しかし、VHDXフォーマットでは、最大16TBの仮想ディスクが作成できるようになった。

 VHDXは、単に容量が増えただけでなく、大きなブロックサイズをサポートし、アクセス性能がVHDに比べて向上している。さらに、障害発生時の復元機能もサポートされている。

 また、シンプロビジョニング機能をデフォルトでサポートした。これにより、仮想ディスクを作成しても、初期設定で指定したディスク容量ではなく、実際に使用している容量の仮想ディスクしか消費しないため、仮想システムの運用をする場合は大きなメリットになる。

 

Live Migration機能の強化

 Windows Server 2008 R2において、接続が途切れないLive Migration(VMwareでいうvMotion)がやっとサポートされた。しかし、VMが使用している仮想ディスクを、リアルタイムに別のストレージに移動する機能(VMwareでいうStorage vMotion)に関しては、サポートが待たれていた。

 Windows Server 8では、この、リアルタイムに仮想ディスクを移動するStorage Live Migrationが、やっとサポートされた。

 さらに、Hyper-V Replicaという機能もサポートされた。これは、ほかのサーバー上に仮想マシンのレプリカを作成しておくというものだ。Hyper-V Replicaの最大の特徴は、フェールオーバークラスタや高価な共有ディスクは必要ないこと。通常のサーバーだけで、レプリケーションが実現する。

 この機能を利用すれば、Hyper-Vではサポートされていなかったディザスタリカバリが実現することになる。今まではディザスタリカバリがサポートされていないため、VMwareのvSphereが選択されていたケースも多かった。しかし、今後はWindows Serverだけでディザスタリカバリがサポートされているため、VMwareに余計なコストを支払う必要はないと、BUILDカンファレンスでMicrosoftは説明している。


Hyper-V 3.0では、ストレージを移動させるLive Storage MigrationをサポートするHyper-V Replicaを使えば、ディザスタリカバリシステムがWindows Server 8だけで構成できる

 実際、Windows Server 8がリリースされてみないと、どの程度の機能を持つのか分からないが、全くサポートされていなかった機能がサポートされてきたことで、やっとVMwareに追いついたといえる。

 ただ、すぐにVMwareからWindows Server 8に乗り換えるかといえば、なかなかそうはならないだろう。やはり、ある程度バージョンを経て安定し、多くのユーザーに検証されてから実用に値するのだろう。

 もう1つ、注目すべき機能としては、同時に複数の仮想マシンを移動するLive Migration機能がサポートされている。今までは、一度にLive Migrationできる仮想マシンは1つだけだったが、1回の操作で複数の仮想マシンがLive Migrationできるようになる。ただし、複数の仮想マシンを短時間でLive Migrationするには、それだけネットワークの帯域が必要になる。

 Windows Server 8でサポートされた新しいLive Migration機能を本格的に利用するには、ネットワークやストレージ関連の機器を再デザインする必要があるだろう。もちろん、Windows Server 8では、ネットワークやクラスタ、共有ディスクなどの機能が大幅に強化されている。


Hyper-V 3.0では、リソースの負荷をチェックするHyper-V Resource Metersが用意されている。この機能と管理ツール(次世代のSCVMM)など利用すれば、仮想マシンの負荷に応じて、サーバーを変更することも可能だ

 

ネットワーク機能を大幅に強化

 Windows Server 8では、ネットワーク関連機能が大幅に強化されている。

 Windows Server 8は、今までNICメーカーが独自にドライバで行っていたNIC Teamingやロードバランシング、フェールオーバー機能をOS上でサポートした。さらに、QoS機能もサポートしているため、仮想マシンの仮想NICごとに割り当てるネットワーク帯域を指定することが可能だ。

 この機能を使えば、マネージメント用の回線はそれほど帯域を割り当てずに、ストレージやLive Migration関連の仮想NICに帯域を割り当てることが可能になる。また、10Gpbsなどの高価なネットワークが導入できないときは、1GbpsのNICを複数利用することで、広い帯域を用意できる。

 さらにはOS側でNIC Teamingをサポートすることで、メーカーの違うNIC、メディアの異なるネットワークを1つにまとめることも可能だ。例えば、1Gbpsの有線ネットワークとWiFiを1つにまとめることもできる。

 加えてHyper-V 3.0では、仮想マシンのブートを、iSCSIやファイバチャネルなどのネットワークストレージから行うことが可能になった。サーバーにはWindows Server 8が起動する最低限のストレージだけを用意しておき、後はネットワークストレージを利用すればいい。

 仮想マシンでは、最大4つの仮想ファイバチャネルをサポートしている。さらに、SAN LUNにMPIO(Multi Path I/O)を使ってアクセスできるため、仮想ファイバチャネルのアクセスを高速化している。


NIC Teaming機能を利用すれば、メーカーの異なるNICを統合することも可能仮想マシン上の仮想NICでQoSがサポートされることで、機能別にネットワーク帯域を指定できる

 大きな特徴としては、マルチテナントのクラウド環境を実現するためにネットワークの仮想化機能がサポートされている。これは、同じIPアドレス帯を持つネットワークを同じサーバーで動かせるようになっている。

 例えば、さまざまな会社のサーバー群を仮想化して、あるクラウドに移行する場合、同じプライベートIPアドレスを使用していると問題が生じる。そこで、Windows Server 8では、それぞれのネットワークをカプセル化して、互いに影響しないようにしている。もちろん、セキュリティ的にも、ネットワーク的にも分離しているため、同じIPアドレスを使用していても全く問題ない。


ネットワークの仮想機能により、同じIPアドレスのサーバー群をカプセル化して、同じサーバー上に搭載できるPVLAN機能により、同じIPアドレス帯のサーバーがあっても、指定した仮想ネットワーク上のサーバーとして通信できない。これにより、セキュリティが保たれる

 また、仮想スイッチを拡張して、特定のネットワークベンダーが仮想スイッチにアプリケーションを追加できるようになっている。BUILDカンファレンスでは、NEC、CISCO、5NINE、Broadcom、inMonなどの企業が、Hyper-V 3.0の仮想スイッチに向けたソフトウェア開発を表明している。

 例えば、inMonでは、sFlowというネットワークトラフィックをモニタリングするソフトを、Hyper-V仮想スイッチ向けにリリースすると表明している。また、仮想スイッチでフィルタリング機能を追加することで、仮想ファイアウォールを5NINEが開発している。

 特に注目すべきは、CISCOがNexus 1000VをHyper-V用に開発していることだろう。これにより、CISCOのUCSもHyper-Vに対応するとしている。

 また、NECは、最近注目が集まっているOpenFlowをHyper-Vの仮想スイッチに向けてリリースする。スイッチは、パケットの経路計算を行うコントロール部分とパケット転送を実際に行うハードウェアが1つになっている。OpenFlowは、コントロール部分、パケット転送部分を分離する。パケット転送部分は、シンプルなハードウェアにして、コントロール部分はサーバーで処理することで、ダイナミックに変化するネットワークが構築できる。サーバーのクラウド化に伴い、ネットワークを状況に応じてダイナミックに変化させることが必要になっているため、OpenFlowに注目が集まっている。

 この仮想スイッチ機能は、先日VMwareがVMworldカンファレンスで発表したVXLANと同じような機能が実現されている。


仮想スイッチは、Hyper-V上に構築されたスイッチ。今までは、マイクロソフトが開発したソフトしか利用できなかったHyper-V 3.0では、新しい拡張スイッチに改良することで、認証されたサードパーティが仮想スイッチの機能を拡張することができる
SR-IOV機能を使えば、仮想マシンから直接NICが利用できる

 これ以外に、物理NICを直接仮想マシンが利用することができるようにするSR-IOV機能もサポートされている。さらに、仮想マシンごとにインターフェイスをルーティングするVMQ(Virtual Machine Queue)も、Windows Server 2008 R2では静的していたが、Windows Server 8ではダイナミックに変更できる Dynamic VMQに改良されている。

 Windows Server 2008 R2では、TCP Chimneyオフロード機能によりTCP処理をNIC側で処理することでCPU負荷が小さくなっていた。Windows Server 8では、さらにIPsecのタスクもNIC側にオフロードすることができるようになった。

 さらに、EMCやNetApp、EqualLogicなどの高度な機能を持つストレージの機能がHyper-Vで利用できるように、新しくOffloaded Data Transfer(ODX)という機能が提供されている。これは、VMware vSphereのvStorage API for Array Integration(VAAI)機能と同じようなものだ。

 RDMA(Remote Direct Memory Access)ネットワークをサポートすることで、CPUに負荷をかけずに高速にSMBストレージが利用できる。RDMAは、InfiniBandや一部のイーサネットNIC(RDMA Over TCP)でサポートされている。さらに、SMBプロトコルも新しく2.2にバージョンアップしている。


DVMQ機能で、ダイナミックにVMQが使用可能SMB2.2では、マルチチャンネルをサポート。パフォーマンスだけでなく、フェールオーバーもサポートする
RDMAを利用することでSMBのCPU負荷が小さくなるRDMAを使用したInfiniBandを使えば、同じネットワーク性能でもCPU使用率が小さい

 ここで紹介した機能以外にも、Windows Server 8では、GUIあり/なし、Server Coreの3つのモードを使用することができる。Server Coreは、最低限の動作環境だが、GUIなしはWindows Server 8のすべての機能を持ちながらGUIを使用しないため、動作に必要なメモリ容量が少なくて済む。

Windows Server 8では、GUIあり/なし、Server Coreの3つのモードを持つ。GUIなしは、機能はすべて入っているが、エクスプローラー、IEなどがインストールされていない

 このように、Windows Server 8は、仮想化やネットワーク、ストレージに関して、大幅に機能アップしている。現在は、Developer Previewが提供されているが、年明けにはパブリックベータもリリースされるだろう。Windows Server 8は、さまざまな機能が追加されているため、今後もさまざまな記事で紹介していく予定だ。

関連情報