Windows Server 2012 ODX 機能の使い勝手 - (1) T10 XCOPY を OS レベルで
(1) (2) (3) (4) (deep dive)
連休前、Microsoft 主催で「Windows Server 2012 Community Day」というイベントがあり、
次のような Hyper-V の設計ポイントについての登壇の機会をいただきました。
量が多くて駆け足になってしまったせいもあり、本ブログで最新情報などいくつかフォローアップしていきたいと思います。資料内で聞きたいことや取り上げて欲しいなどご要望があれば、気軽にお声がけください。
Windows Server 2012 Hyper-V の本格採用に必要なエンタープライズ設計術
http://download.microsoft.com/download/C/F/2/CF2F9D51-5D9E-45FE-B134-D0783220DCE8/20130426-Ogawa.pdf
Windows Server 2012 の ODX とは?
ODX (Offloaded Data Transfer: オフロードデータ転送) の実体は XCOPY Lite という SCSI の拡張コピーコマンド*1 です。
VMware は vSphere 4.1 の頃から「VAAI FullCopy」という名称で実装しており、現在販売しているストレージのほとんどが対応しています。ですので、どういった技術かはもちろん、仮想マシンのプロビジョニングやクローン, Storage vMotion といったシーンでその恩恵を既に得られている方も多いでしょう。
ただ、クローンや Storage vMotion は常に行うものではありません。
「セットアップやメンテナンスで得するだけか...」とプライオリティを下げてしまいがちですが、Windows Server 2012 の ODX に関しては、結構違います。
ハイパーバイザーである vSphere の場合は、コピーというとそのような用途になってしまいますが、ODX は Hyper-V ではなく Windows OS レベルでの実装 ですので、想像している以上に色々なことを実現できるのです。
Windows Server 2012 の ODX は OS レベルで動作する
ODX が実際に動いているビデオを 1 つ公開してみたいと思います。
これは、実際に私が撮ったもので、Hyper-V を有効化していない単なる WS2012 物理サーバーを、StoreServ という昨年12月に ODX に対応したストレージにつなげて、SAN ボリューム間をファイルコピーしています。
利用するファイルは各種キャッシュから溢れるように 50GB 以上、また重複排除が掛からないように Iometer を 1 時間以上回した後の iobw.tst バイナリです。
ODX が無効な場合
最初は Write Cache に救われますが、その後スループットは 300 MB/sec あたりに落ち着きます。右下のリソースモニタでも足周りに結構な負荷 (%アクティブ) が掛かっているのが分かります。
ODX を有効にした場合
スループットはシングルコピーで 600 MB/sec、最後の方で行っている多重コピーでは合計で 1 GB/sec と、8Gbps FC の理論値 800 MB/sec*2 を超えています。
(ODX の転送速度や処理時間については 別途解説 します)
ここで最も重要なのは、リソースモニタを見ても 20KB 程度の転送しかなく、サーバーの足周りに一切の負荷が掛かっていないということです。
つまり、Hyper-V の ODX は仮想マシンの移行だけではなく、普通のファイルをコピー・移動するといった 日常のエクスプローラー操作でも恩恵を受けられます。
専用のアプリケーションも必要はありません。
Windows Server 2012 がリリースされて 1 年が経とうとしていますが、
ODX に関するこれまでの説明が「仮想マシンのストレージ移行」であったため、vSphere VAAI と同じようなイメージを受けていた方が多いと思います。
しかし、実際に ODX に対応したストレージで試してみると、幅広く恩恵を受けられることが分かりました。次回 はここをもう少し深堀りしてみたいと思います。