2013年3月19日火曜日

NVGRE: Windows Server 2012 の Hyper-V を使ったネットワーク仮想化でブロードキャストが使えません

先週3月15日(金)、マイクロソフト主催の勉強会「Windows Server 2012 Community Day ~ Night Session~」に行ってきました。

テーマは「ネットワーク仮想化」で、Windows Server 2012 の Hyper-V に含まれるNVGREが中心でした。

NVGREを使うと、仮想マシンホストのIPアドレスとも、同じ仮想マシンホストを共有する別の仮想マシンのIPアドレスとも、一切干渉しない形でIPアドレスを割り振れます。つまり、データセンターそのものを仮想化できます。

  • ただし、現時点でのNVGREは以下のような制約があります。
  • PowerShellのコマンドレットでしか設定できない。
  • 簡単な構成でも多くの設定が必要
  • シャットダウンで設定が失われる
  • 仮想マシンが移動しても、構成情報は自動的に変更されない。

かなり強い制約ですので、一般にはSystem Center 2012 SP1 Virtual Machine Managerを使って設定します。

さて、以前、私が「Windows Server 2012 ソリューションアップデート」を実施したとき、NVGREホストからのブロードキャストについて質問がありました。

「マルチキャストに変換して、他のホストに伝えられる」と答えたのですが、なんとこれが間違いでした。誤った情報を伝えてしまい、申し訳ありませんでした。

ドキュメントには確かに「マルチキャストに変換される」と書いてあるのですが(講習ではこの文章をそのまま伝えました)、Windows Server 2012には実装されておらず、別の仮想マシンホストへのブロードキャストは遮断されるそうです。

ARPはHyper-Vの仮想スイッチ代理応答を行います。仮想マシンをDHCPクライアントとして設定した場合は、仮想マシン内のSC2012VMM SP1+DHCP Extensions機能が動作することで対応します。しかし、一般的なブロードキャストは届かない、ということです。

【追記】

当日の資料が 正式に公開されました。

Windows Server 2012 Community Day ~ Night Session ~

これに伴い、非公式なサイトの記述を削除しました。