特別企画
ハードウェアオフロード技術を活用したWindows Server 2012 R2の新しい仮想化ソリューション【後編】
仮想化基盤に効果的なオーバーレイ型ネットワーク仮想化とNICによるオフロード技術
(2014/4/28 06:00)
PCI Expressデバイスの仮想化対応を推し進めるSR-IOV
こうしたソフトウェアベースの仮想スイッチが抱える問題を大きく軽減するのが、SR-IOV(Single Root I/O Virtualization)である。従来は、ハイパーバイザーが1つの物理的なPCI Expressデバイスを複数の仮想マシンで共有できるように制御していた。これに対し、SR-IOVは、PCI Expressデバイス自身が複数の仮想的なPCIデバイス(VF:Virtual Function)を提供し、仮想マシンに個々のVFを直接割り当てる。
ネットワーク環境でSR-IOVを利用するには、SR-IOVをサポートするネットワークアダプタとBIOSでSR-IOVをサポートするサーバーを組み合わせる。SR-IOV環境では、ソフトウェアベースの仮想スイッチに代わり、ネットワークアダプタ自身が提供するハードウェアベースの組み込みスイッチを使用することもできる。これにより、ホストCPUの負荷軽減に加え、I/Oスループットの向上とレイテンシの短縮にもつなげられる。
SR-IOVは、特にレイテンシの改善効果が大きく、MellanoxがConnectX-3世代のネットワークアダプタを利用した実機検証によれば、SR-IOVとRDMAを組み合わせた環境は、TCPベースのvNIC環境と比べて約20分の1の低レイテンシとなる例を確認している。
ただし、SR-IOVがすべての仮想環境に適しているわけではない。メラノックステクノロジーズジャパン株式会社 シニアシステムエンジニアの友永和総氏は、「SR-IOVは、データベース、厳密なQoSが要求されるアプリケーション、仮想環境で動作するストレージアプライアンスなど、とりわけ高スループット、低レイテンシが要求される用途に適しています。その一方で、一般的な業務アプリケーションなど、性能よりも仮想スイッチの管理性が優先されるアプリケーションは、SR-IOVとの組み合わせに適していません」と説明する。
また、SR-IOV環境では、ハードウェア自身が仮想マシンに対するスイッチ機能をダイレクトに提供する関係から、原則として物理サーバーをまたいだ仮想マシンのライブマイグレーションに対応できない。これに対し、Windows Server 2012 R2のHyper-Vは、SR-IOV環境であっても仮想マシンのライブマイグレーションを行えるように工夫している。
高添氏は、「今後、SR-IOV環境が普及していくことは目に見えていますし、その上でライブマイグレーションを行いたいというニーズも必ず出てきます。だからこそ、Windows Server 2012 R2のHyper-Vでは、SR-IOV環境でもライブマイグレーションに対応できるようにしました。ただし、ハードウェアに強く依存するSR-IOV環境ではライブマイグレーションをそのまま実行できないので、実はライブマイグレーションを実行しているときにのみ、ソフトウェアベースの仮想スイッチに切り替えるという手法を採用しています。ライブマイグレーションが完了したらSR-IOV環境に戻し、あたかもSR-IOV環境のままでライブマイグレーションを実行しているように見せているわけです」と述べている。