ストレージ機器を実際に選定する際には、SSDなどの半導体デバイスの活用やシン・プロビジョニングなどの新技術の対応も視野に入れるだろう。このようなストレージ側の先進技術とHyper-Vはうまく組み合わせられるだろうか?
ストレージを簡単に高速化したいのであれば、SSDなどの半導体デバイスを導入すればよい。HDDは一切使わず、すべてフラッシュ・ストレージ(オール・フラッシュ)にしたいところであるが、容量や予算の面でなかなか難しいだろう。こういった要望に応えるように、半導体デバイスとHDDを混在させる技術が進んでいる。
自動階層化(Auto-Tiering)とは、1つのボリューム内にSSDなどの高速デバイスとHDDなどの低速デバイスを混在させ、アクセス頻度に応じて中のデータの配置場所を自動移行する技術だ。優先度のある自動ライブ・ストレージ・マイグレーションと考えれば理解しやすいだろう。当然ながら高速デバイスに配置される方が性能がよくなるため、一般的にはSSD側が優先され、入りきらなくなったデータをHDDに退避させるという方式になる。SSDからHDDへの移行処理はホストからのI/Oとは無関係なオーバーヘッドであり、急速な変化にも対応できないが、SSD側にあるデータは読み出しと書き込みの両方が高速になる。
フラッシュ・キャッシュは高速な半導体デバイスをデータ領域に利用せず、HDDに対する大容量キャッシュとして利用する技術である。HDDにアクセスした際のデータをこのキャッシュにも格納しておくことで、次回からのアクセスを高速化するという方式だ。読み出しのみを高速化するものがほとんどだが、自動階層化と比べて少ない投資でHDDデータの全体性能がバランスよく底上げされ、アクセス・パターンの変化にもオーバーヘッドなく、素早く対応できる。Hyper-Vのようなアプリケーション・ストレージには適している。
ホストに提供する容量はそのままに、ストレージ装置内で特殊な“まやかし(工夫)”を行うことで物理容量を削減する技術も昨今のトレンドの1つだ。
「重複排除(De-dupe)」とは、同じデータが複数重複している場合に1つだけを残し、ほかはそのデータにリンクを張るだけにする、といった技術である(関連記事参照)。主にバックアップ装置で使われる技術であるが、重複分の容量削減を期待できるために最近では仮想マシンを配置する“Tier1ストレージ”への導入を検討するケースも増えてきた。ただしHyper-Vのディスクは読み書きが激しく、加えて重複処理後に残された領域には多重のI/O負荷が掛かることには注意しよう。
「シン・プロビジョニング」とは、ボリュームの設定容量にかかわらず、ストレージの物理領域は実際の使用量だけを確保し、使用量が増えるにつれて、その都度領域を追加確保していく技術だ。設定容量と実使用量のギャップの分だけ容量削減を期待できるうえ、実在しない容量をあらかじめ設定できるために、スモールスタートにも役立つ。
Hyper-V側でも同様の「容量可変ディスク」がかねてより実装されているが、容量可変ディスクは性能にオーバーヘッドが生じる。読み出しや同一セクタの書き換えであれば容量固定ディスクと同等であるが、新しいセクタに書き込む場合、仮想ディスクのファイル・サイズ伸長のためにオーバーヘッドが発生するのだ。VMwareの有識者であれば「SCSI-2 Reservation」と聞けば理解しやすいだろう(関連記事参照)。なおHyper-VではSCSI-2 Reservationは利用しない。複数のホストからの同時マウントにあたっては別の仕組みで排他制御を行う。
話がそれてしまったが、もしシン・プロビジョニングを使いたいのであればストレージ側の機能を利用するのが一般的だろう。RAIDを構成する際、OSのソフトウェアRAID機能は使わず、ハードウェアRAIDを選択するのが一般的であることを思い出すと納得がいくはずだ。
マイクロソフトもこれを理解しているかのように、ストレージ装置側のシン・プロビジョニングを補完する機能を実装している。1つはWindows Server 2012でサポートされた「SCSI UNMAP」だ。通常、仮想マシンや仮想ディスクを削除しても、ストレージ側はそれによる空き領域の発生を検知できない。しかし、SCSI UNMAP命令に対応したストレージ装置であれば、空き領域の発生を検知でき、連動して実消費量が縮小される。
もう1つは、Windows Server 2012 R2のHyper-Vでサポートされる「容量固定ディスクの動的拡張」機能だ。仮想マシンをシャットダウンせずにいつでもオンラインでサイズ拡張できるため、不足しそうになったら増やせばよい。容量可変ディスクと比べて、ゲストOS上でのボリューム拡張操作を手動で行う必要があるが、この作業はあくまで容量不足の発生時のみだ。サーバ用途を考えると、オーバーヘッドによって日常的に性能低下するよりはマシと言えるだろう。
ストレージ装置がWindows Server 2012から導入された「ODX(Offloaded Data Transfer)」命令に対応していると、通常はサーバを介して行われるファイル・コピー処理を、ストレージ内で完結することできる。VMwareの「VMware VAAI(vSphere Storage APIs for Array Integration)」と同じ原理であるが、ゲストOSがWindows Server 2012以降であれば、仮想マシン上のエクスプローラ操作といった、一般的なコピー作業でも恩恵を受けることのできる画期的な技術である。非常に汎用性が高く便利な機能であるため、できる限り利用しておきたい。
Copyright© Digital Advantage Corp. All Rights Reserved.