第2回 Hyper-Vと最新のストレージ・テクノロジの併用:Windows Server 2012 R2時代のHyper-Vサーバ設計術(4/4 ページ)
Windows Server 2012 R2のHyper-Vをベースにして、今使える仮想化システムの技術トレンドや設計、機器の選択方法などについて解説する設計ガイド。今回はHyper-Vの性能を引き出すストレージ技術のトレンドや機器選択ガイド、設計上の注意点などについて解説する。
ここまでハードウェアを中心に解説してきたが、Hyper-V側の設定やソフトウェア機能についても少しノウハウを紹介しておこう。
パススルー・ディスクの利用は避ける
容量固定、容量可変の仮想ディスクの話が出ると、「パススルー・ディスク」も気になるところだろう。パススルー・ディスクは容量固定タイプ以上のI/O性能を出せるが、クリティカルとも言える機能制限がある。例えば、複数のHyper-Vホストから同時アクセスができないために、ライブ・マイグレーションでのディスク切り替えに通常の10倍近いダウンタイムが生じる。アプリケーションがエラーを起こす危険性があるだろう。また、スナップショット(チェック・ポイント)やインポート/エクスポート、VSSバックアップなども対応していない。
VMwareのvSphereには「RDM(Raw Device Mapping)」と呼ばれる、Hyper-Vのパススルー・ディスクに似た機能があり、仮想マシンに2Tbytesを超えるボリュームを提供したり、アレイベース・バックアップ、ゲスト・クラスタリングなどの用途で広く利用されていた。しかしHyper-Vではパススルー・ディスクを利用しなくとも、通常の仮想ディスク(VHDX)でこれらのケースに十分に対応できる。
図9「アレイベース・バックアップにおけるHyper-VとVMware」
VMwareはVMFSという、ほかのOSからはアクセスできない特殊なファイル・システムを利用しているため、バックアップ・サーバからVMFS内のファイルにアクセスすることができない。これに対し、Hyper-Vでは汎用的なNTFSを利用しているため、バックアップ・サーバはファイル・システムの中までアクセスすることができ、ファイルやフォルダ単位でのバックアップに対応できる。
Hyper-Vで記憶域プールは本格採用できるか?
Windows Server 2012で追加された「記憶域プール」は、LinuxのLVMに似た技術だ。ダイナミック・ディスクのように複数の物理ディスクを束ねてRAIDを構成できるほか、Windows Server 2012 R2からは自動階層化も可能になるなど、専用ストレージ並みの機能を実現できる。これも1つの「Software-Defined Storage」であるが、現時点でこれを本格的なHyper-Vシステムに採用するには障壁がある。
- 「ディスクを仮想化する記憶域プール機能」(連載 Windows Server 2012クラウドジェネレーション)
- 「Windows Server 2012 R2プレビュー版のストレージ機能概要」(連載 Windows Server 2012クラウドジェネレーション)
理由は単純で、対応するストレージ装置が限りなく少ないのだ。クラスタ化されたHyper-Vホストでは共有ストレージが必要になるが、記憶域プールはFCやFCoE、iSCSI接続の共有ストレージには対応していない。唯一対応しているのは先ほども紹介したShared SASであるが、製品展開の少ないShared SASのうち、RAID機能を完全に無効化、つまり「JBOD(Just a Bunch Of Drives)」として利用できなければならない(JBODとは、RAID機能をいっさい使わず、単なるディスク・ドライブの集合体として扱う機能。この場合は、単に多数のディスクをシステムに接続するだけの形態を指す)。複数のサーバから共有接続できるShared JBODは「EBOD(Enterprise-class JBOD)」などと呼ばれるが、国内外で見ても対応機器は非常に少ないのが実情だ。
なお、「JBODを複数のサーバで共有」となると、同時マウントを調停できないために技術的に破綻しているように思えるが、調停処理はWindowsの記憶域プールが担い、JBOD内の各HDDのLEDなどもWindows OSが直接制御を行う。
「RAIDアレイ不可」や「Shared JBOD」など、現状では要件の厳しい記憶域プールであるが、需要が増えてくればベンダもラインアップを強化するだろう。また、これら制約を改善すべく、米Microsoftと米Hewlett-Packard間で共同研究が進められている。
図10「クラスタ対応の記憶域プールの要件」
本番環境ではHyper-VホストをWSFCでクラスタリングするが、クラスタ対応の記憶域プール「Clustered Storage Spaces」を構成する場合、SAS接続かつ共有可能なJBOD(Just a Bunch Of Drives)ストレージが必須となる。また、ストレージ配下のHDDをWindows OS側で完全に制御するために、SES-3(SCSI Enclosure Service version 3)プロトコルが必要であり、さらにサーバに装着するSASアダプタとストレージは共にRAID機能を完全に無効化できなければならないなど、対応機器が非常に狭まる。
フラッシュメモリでローカル・ディスクのコスト削減
これまでの内容のとおり、Hyper-Vで障害対策を考えるには、SANやNASなどの外部共有ストレージが必要だ。一方、サーバの内蔵HDDに入るデータはHyper-VホストのOSシステム領域程度であり、ゲストOSは格納しない。性能も容量も要求されないため、ここにはあまりコストを掛けたくないといった考えも生まれるだろう。
先行しているVMwareでは5年ほど前より、SDカードやUSBメモリといったフラッシュ・メモリにハイパーバイザをインストールできるようにしている。だがWindows Server OSがベースのHyper-Vはフットプリントが大きく、フラッシュメモリへのインストールは容量的に難しかった。しかし、最近は高速・大容量のフラッシュメモリが安価に手に入ることから、ようやく重い腰を上げ始めている。OEMベンダの範疇でフラッシュメモリにHyper-Vホストをインストールすることを認めており、一部ベンダーが対応を始めた。
- Run Hyper-V Server 2012 From a USB Flash Drive[英語](TechNetサイト)
- Deploying Microsoft Hyper-V Server 2008 R2 on USB Flash Drive[英語](TechNetサイト)
図11「SDカードにインストールされたWindows Server 2012の例」
Windows Server 2012をSDカード上にインストールして利用することも可能である。例えばHPの「ProLiant Gen8シリーズ」では、2013年9月のアップデートを適用することにより、SDカードへのWindows Server 2012のインストールが可能である(具体的な手順は「HP Intelligent Provisioning ユーザーガイド(PDFファイル)」を参照。ただしSDカードは十分な速度と信頼性が必要であるため、純正品に限られる)。
(1)32GbytesのSDカードにWindows Server 2012をインストールして動作させている
ローカル・ディスクをフラッシュメモリにした場合、サーバ内蔵HDD×2本とRAIDコントローラ分で1台あたり10万円程度のコスト削減効果が見込まれる。浮いた予算でネットワークやストレージを10Gbpsクラスにアップグレードできるだろう。
今回は、最新のストレージ・テクノロジをベースにHyper-Vとの併用について解説した。次回はもう1つのI/O系であるネットワークについて解説する。
Copyright© Digital Advantage Corp. All Rights Reserved.