Hyper-Vの性能を最大限に引き出すためには最適なネットワーク設計が欠かせない。仮想マシンの通信用ネットワークのほかに、ホスト・アクセス用やクラスタ用、IPストレージ用など、多数のネットワーク系統も必要だ。これらをどう配置し、実際のサーバ上でどう管理するべきか。Hyper-Vのネットワーク設計のベストプラクティスを解説。10GbEの最新トレンドも解説。
本連載では、Windows Server 2012 R2のHyper-Vをベースにして、現在求められる仮想化システムの技術トレンドや設計、機器の選択方法などについて、全4回で解説します。
前回はHyper-Vの性能を引き出すためのストレージ設計について解説したが、今回はもう1つの“足回り”である「ネットワーク」の設計について解説する。
これまでほかの仮想化製品を利用していたユーザーにHyper-Vを試用してもらうと、「Hyper-Vはネットワーク周りが複雑」という感想がよく聞かれる。汎用OSであるWindows ServerをベースにしているHyper-Vにはよい面と悪い面があるが、ネットワーク周りについては分が悪いのが正直なところだろう。実際、Hyper-Vの過去のバージョンでは、初歩的ともいえるVLANやNICチーミング機能すらもサーバ・ベンダに依存し、正しく動作しないケースもあった。
しかし、こういった問題はバージョンを重ねるごとに改善している。複雑と揶揄されてきた設計についても、米マイクロソフトで大手顧客の技術支援を担当するPFE(Premier Field Engineering)チームから「ベストプラクティス」ガイドが公開されている。
今回はこのベスト・プラクティスを参考にしつつ、昨今のハードウェアの事情を加味して費用対効果の高いHyper-Vのネットワーク設計を考えてみよう。
ネットワークをサイジング・設計していくためには、「どんなネットワーク系統が」「どのくらいの帯域で」必要であるかなど、最初に要件を明確化しなければならない。ホスト・クラスタリングやライブ・マイグレーションといった、本番運用で求められる高可用性を前提とすると、下記5つのネットワーク系統が必要だ。
【必須ネットワーク系統】
(1)仮想マシン用ネットワーク
(2)親パーティション:ホスト・アクセス用
(3)親パーティション:WSFCハートビート用*1
(4)親パーティション:CSV通信用*2
(5)親パーティション:ライブ・マイグレーション用
*1 WSFC: Windows Server Failover Clustering
*2 CSV: Cluster Shared Volume(クラスタ共有ボリューム)
これに加えて、ストレージをiSCSIやSMBといった「IPストレージ」にする場合は、ストレージ専用のネットワークを用意するのが一般的だ(6)。また、仮想マシン・バックアップやHyper-Vレプリカを採用する場合も、それ専用のネットワークもしくは十分な帯域が必要になる(7)(8)。
【オプション・ネットワーク系統】
(6)親パーティション:IPストレージアクセス用(iSCSI・SMBなど)
(7)親パーティション:バックアップのデータ転送用
(8)親パーティション:Hyper-Vレプリカのデータ転送用
全部で5系統(IPストレージを利用する場合は6系統)になるので、ネットワークの数がかなり多く感じるだろう。これではさすがに厳しいため、実際の現場では一部の用途を相乗りさせて対応するケースが多い。冒頭で紹介したベストプラクティス・ガイドでは、(3)と(4)、つまりWSFCハートビートとCSV通信用を相乗りさせて計4系統(IPストレージ環境の場合は計5系統)にすることを推奨している。さらに減らしたい場合は、「ハートビート」「CSV」「ライブ・マイグレーション」の3つを相乗りさせるのが一般的だ。
必要なネットワーク系統数が決まったところで、それぞれに必要な帯域量について考えてみよう。
仮想マシン用ネットワークはサーバ集約率に比例するものの、最低でも「3G〜4Gbps」は確保したい。
たまに、ここを「1Gbps×2ポートだけ」といった構成にする例を見かけることがある。5年前であれば妥当といえるが、昨今のサーバ集約率を考えると、あまりにリスクの大きい設計だ。第1回でも解説したとおり、現行プロセッサの性能・コア数を鑑みると、1台のサーバに仮想マシンを10台前後は集約するため、1Gbps×2ポートでは1仮想マシンあたり100M〜200Mbpsにしかならない。
「すべての仮想マシンが常時そんなに通信しないのでは?」という意見もあるかもしれないが、それでも帯域を多く確保しておくことは運用面で重要だ。
仮想マシン上で利用するアプリケーションの最低要件に「1Gbps以上のネットワーク・アダプタ」といった記載がある場合、実際の通信量に関係なく仮想マシンには1Gbpsの帯域を確保しておきたい。そのアプリケーションのサポートを受ける場合に開発元から「サポート外」とされてしまうことを防ぐためだ。「アプリケーションの性能が悪い」とサポート・センターにヘルプを求めても「ネットワーク帯域を1Gbps確保できていないからではないですか?」と疑われてしまう。
こういった運用フェーズでのトラブルを防ぐためにも、サーバ1台で3G〜4Gbpsの仮想マシン用帯域を確保しよう。加えて、性能やサポート面で重要な仮想マシンについては、Hyper-Vの「帯域幅管理」機能(次の図1参照)などを併用するなど、アプリケーション担当者からクレームにならない構成にしておきたい。
こちらはHyper-Vホスト(親パーティション)のメイン・ネットワークであり、ホストの管理やActive Directoryドメイン・コントローラとの通信などが中心となる。帯域は1Gbpsあれば十分だ。後述するNICパーティションといった細かな帯域設定ができる環境では500Mbps程度でも問題ないだろう。冗長化はNICチーミングで実施する。
前者は、Hyper-Vでホスト・クラスタリングを構成する場合に必要なWSFCのハートビート用のネットワーク、後者はライブ・マイグレーションなどでCSVを利用する場合に必要なネットワークである。両者ともWSFCサービスが利用するホスト間通信用の回線であるため、冒頭のベスト・プラクティスに従い、この2つは相乗りさせて1〜2Gbpsの回線を割り当てておく。
ここの冗長化ではNICチーミングは必須ではない。WSFC側の機能でほかのネットワークを副回線(代替回線)として設定できるため、ホスト・アクセス用(2)やライブ・マイグレーション用(5)のネットワークを副回線として指定しておけばよいだろう。
注意点として、このネットワークではSMBプロトコルを無効にしてはならない。WSFCの内部ネットワークはSMBプロトコルを無効にするのが旧来からの常識であるが、CSVではSMBプロトコルを使って通信するためだ(次の記事参照)。
これはライブ・マイグレーションでのメモリ・データ転送に使用されるネットワークだ。仮想マシンはライブ・マイグレーション中も稼働しているため、メモリの内容は随時更新される。この更新も後追いで転送されるものの、回線が遅いと更新が溜まるばかりで転送が追いつかず、ライブ・マイグレーションがエラーになってしまう。最低でも1G〜2Gbpsは確保し、占有しておこう。
こちらも、ほかのネットワークに副回線を設定できるため、(3)+(4)と相互に副回線として設定しておくとちょうどよいだろう。
なおWindows Server 2012 R2のHyper-Vには、この処理時間をより短縮するために2つの転送モードが追加されている(図2)。
共有ストレージと接続するにあたり、どのプロトコルを採用すべきかについては第2回を参照してほしい。こちらで詳説しているとおり、帯域については最低でも4G〜5Gbpsは確保しよう。
冗長化については、もしiSCSIを採用するなら、NICチーミングではなくMPIO(マルチパスI/O)で行おう。逆に、SMBの場合はSMBマルチチャネルよりもNICチーミングをお勧めする。
ここまでの設定情報を表と図にまとめておく(表1、図3)。
用途 | 接続先 | 最低帯域 | 1GbEでの ポート数 |
---|---|---|---|
(1)仮想マシン用 | 仮想マシン | 3G〜4Gbps | 4ポート |
(2)ホスト・アクセス用 | 親パーティション | 1Gbps | 2ポート |
(3)WSFCハートビート用 (4)CSV通信用*3 |
親パーティション | 1G〜2Gbps | 1ポート(*4) |
(5)ライブ・マイグレーション用 | 親パーティション | 1G〜2Gbps | 1ポート(*5) |
(6)(オプション)IPストレージ用 | 親パーティション | 4G〜5Gbps | 5ポート |
表1「中規模クラスのHyper-V本番サーバで必要となるネットワーク」 共有ストレージにファイバ・チャネルやShared SASなどを利用する場合で8個、iSCSIやSMBなどを利用する場合には最低13個の1GbE(1Gbpsのイーサネット)ポートを1台のサーバに構成する必要がある。 *3 ネットワーク系統数を減らすために、1つのNICに2つの用途を相乗りさせる。 *4 (2)または(5)のネットワークに冗長化の副回線を設定する。 *5 (3)や(4)のネットワークに冗長化の副回線を設定する。 |
ホスト・クラスタリングまで加味した中規模クラスの本番環境の場合、4系統のネットワークを構成するために、最低でも1Gbpsイーサネット(1GbE)ポートは8つ必要だ。加えてiSCSIやSMBなどのIPストレージを利用する場合は5ポート追加、バックアップやHyper-Vレプリカも導入するとなると、さらにポート追加が必要となる。
Copyright© Digital Advantage Corp. All Rights Reserved.