検索
連載

第4回 クラスタリングとライセンス・コストを考慮した全体設計Windows Server 2012 R2時代のHyper-Vサーバ設計術(2/4 ページ)

Windows Server OSのHyper-Vの性能を最大限に引き出すための仮想化システム設計ガイドの最終回。今回は次世代の高速インターフェイスとして普及が見込まれるInfiniBandと、冗長化のためのクラスタリング手法、ミドルウェアのライセンス・コストを削減するためのクラスタ設計手法についてまとめておく。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

ホスト・クラスタリングとゲスト・クラスタリング

 NICチーミングやストレージなど、Hyper-Vホストの設計において“冗長化”は非常に重要である。しかしながら冗長化と言われると、インフラ・エンジニアは“ハードウェアを二重化すること”ばかりに集中してしまう傾向がある。“業務サービスのダウンを防ぐ”ことや、“万一ダウンした場合にすぐに自動復旧させる”といった本質を忘れがちだ。そこで、ハードウェアからいったん離れて業務サービス、つまり「アプリケーション」に軸に置いて、冗長化(高可用化)について考えてみよう。

 サーバ仮想化環境において高可用化を行うには、「ホスト・クラスタリング」か「ゲスト・クラスタリング」のどちらかの構成を取る必要がある(図4)。

■ホスト・クラスタリング
 ホスト・クラスタリングはVMwareでは「vSphere HA」という機能名で広く知られている手法である。Hyper-Vの場合は、ホストに対してOSの標準機能である「Windowsフェイルオーバー・クラスタリング(WSFC)」を構成し、仮想マシンを丸ごと保護対象とする。ゲストOS内では何も手を入れなくてよいところが特長であり、WSFCに非対応のアプリケーションでも高可用化を実現できる。

■ゲスト・クラスタリング
 ゲスト・クラスタリングは英語ではしばしば「In-Guest」など呼ばれる手法であり、言葉の通り、ゲストOSの中でWSFCといったクラスタウェアを使用して、アプリケーションのみを保護対象とする。OS部分は複数存在するために「OSが起動しない」といったシステム障害に対応できるうえ、「サービスは起動しているものの、クライアント要求を受け付けない」といったアプリの内部障害にまで対応できるところが特長だ。

図4「Hyper-V環境におけるアプリケーションの高可用化」
図4「Hyper-V環境におけるアプリケーションの高可用化」
Hyper-V上のアプリケーションを高可用化するには、仮想マシンを丸ごとフェイルオーバー対象にする「ホスト・クラスタリング」と、仮想マシン内のアプリケーションのみを対象にする「ゲスト・クラスタリング」の2つの手法がある。

 この2つの手法は一長一短である(表1参照)。どちらを選ぶかはアプリケーションのSLA(Service Level Agreement)などと天秤にかけることになるだろう。利用するアプリケーションがWSFCに対応していなければホスト・クラスタリングしかないし、逆にWSFCに対応している著名なパッケージ・アプリケーションであれば、より深くまで監視可能なゲスト・クラスタリングの方が向いているはずだ。

    ホスト・クラスタリング ゲスト・クラスタリング
耐障害性― ホスト全体 Hyper-Vホストのダウン
仮想マシン・ネットワークのダウン *2
耐障害性― ゲストOS ゲストOSの全体障害(BSODやフリーズ)
ゲストOSの部分障害(上記以外) ×
ゲストOSの起動障害 ×
耐障害性― 保護アプリケーション アプリケーションの全体障害(サービス・ダウン) *3
アプリケーションの部分障害(プロセス障害など) ×
そのほか 設定や運用の容易さ ホストOS側で設定するのみ ゲストOS内での各種設定が必要
保護可能なアプリ すべてのアプリケーション WSFCに対応したアプリケーションのみ
表1「ホスト・クラスタリングとゲスト・クラスタリングの比較」
ホスト・クラスタリングは簡単な設定ですべてのアプリケーションを保護できるが、検知できない障害もある。ゲスト・クラスタリングはその逆であり、アプリケーションのSLAに応じて使い分けるとよいだろう。どちらを使うかについては、仮想マシン単位で選択できる。
*2 Windows Server 2012 R2のHyper-Vからの新機能
*3 ゲストOS がWindows Server 2012以降の場合

 なお、VMwareの有識者がこの表を見ると、制約の少なさに驚くかもしれない。例えば、vSphere HAでホスト・クラスタリングを行う場合はここまで「○」の数は多くないはずだ。Hyper-Vは同じWindows Server OSの標準機能であるWSFCと深く連携するため、一般的なホスト・クラスタリングの欠点が補われている(図5)。

図5「Hyper-VとWSFCの連携による監視項目の補完」
図5「Hyper-VとWSFCの連携による監視項目の補完」
図5「Hyper-VとWSFCの連携による監視項目の補完」
Windows Server 2012以降のHyper-Vでは、サービスの動作状態やNICの障害などを監視できる。
  (1)ゲストOSがWindows Server 2012以降の場合、任意のサービスに対して死活監視ができる。
  (2)仮想スイッチにマップされている物理NICの障害を検知し、自動フェイルオーバーを行える。

Hyper-V上でゲスト・クラスタリングを構成するには?

 Hyper-V上でゲスト・クラスタリングを構成する場合、“共有ディスクをどのように認識させるか”が悩ましいところだ。Windows Server 2012 R2のHyper-Vでは次の3つのアプローチが考えられるが(図6)、それぞれのメリット・デメリットをきちんと把握しておこう。

■仮想NIC方式
 1つ目は、Windows Server 2008 R2までのHyper-Vで唯一の手法であった、iSCSIストレージ限定の方式だ。ゲストOS上でiSCSIソフトウェア・イニシエータを有効化し、仮想NICから直接LUNをマウントするという“荒業”である。なぜなら、ホストOS上でiSCSIソフトウェア・イニシエータを利用するのに対し、ゲストOS上で利用する場合は二重のオーバーヘッドが発生する。プロセッサにかなりの高負荷がかかるうえ、パフォーマンス面でのロスも大きいためだ。

■仮想FC方式
 2つ目は、Windows Server 2012のHyper-Vでサポートされた「仮想ファイバ・チャネル(FC)」技術を用いる方式である。こちらはイメージ的には仮想NICを仮想FCに変えたものであるが、仮想FCは仮想NICとは異なる仕組みであり、またFCはデータ転送をHBA側でハードウェア処理できるためプロセッサに負荷がかかりにくい。

■VHDX共有方式
 3つ目は、最新のWindows Server 2012 R2のHyper-Vで新しく追加された「仮想ハードディスク共有」機能を用いる方式である。VMwareの“SCSIバス共有”に近い仕組みであるが、Hyper-Vの場合はパススルー・ディスクを用いることなく、仮想ディスク形式のままゲスト・クラスタリングを実現できる(「Windows Server 2012 R2の仮想ディスクの共有」参照)。

図6「Windows Server 2012 R2のHyper-Vで構成できるゲスト・クラスタリング」
図6「Windows Server 2012 R2のHyper-Vで構成できるゲスト・クラスタリング」
ゲストOS上でWSFCを実行するとなると、共有ディスクをどう認識させるかが悩ましい。Hyper-Vはバージョンアップを追うごとにこのあたりの機能改善が進んでいる。

 このように、マイクロソフトはゲスト・クラスタリングによるきめ細やかなアプリケーションの高可用性に力を入れている。今後の主流としては、おそらくFCの場合は仮想FC方式、それ以外の接続プロトコルの場合はVHDX共有方式となるだろう。

Copyright© Digital Advantage Corp. All Rights Reserved.

ページトップに戻る