Virtual Server 2005 R2を利用してサーバーを構築するとき,ネットワーク構成が気になるだろう。「ゲストOSのIPアドレスやMACアドレスはどうなるのか」「ネットワークからゲストOSにどのように接続すればよいのか」「ゲストOSとホストOSのネットワーク・セキュリティをどのように考えればよいのか」といったものである。

 ここでは,Virtual Server 2005 R2の仮想ネットワークの仕組みを紹介してこれらの疑問を解消しつつ,Virtual Server 2005 R2を利用したシステムのネットワーク構成に関するTipsを紹介したい。

仮想マシン当たり最大4枚

 Virtual Server 2005 R2のネットワーク・アーキテクチャは,以下の2点を考慮して設計されている。

(1)既存の物理ネットワークとの違いを最小限に抑える。
(2)柔軟にゲストOSやホストOSを,物理ネットワークに接続/切断する。

 Virtual Server 2005 R2は,ハードウエアを仮想化する。物理ハードウエア上で,仮想的なx86アーキテクチャのハードウエア(仮想マシン)を作り出し,その上でOS(ゲストOS)を実行する。

 ネットワークに関してもハードウエアの仮想化がポイントであり,各仮想マシンに対して(物理ネットワーク・アダプタの種類や枚数とは無関係に)Intel 21140ネットワーク・アダプタをエミュレートする。Virtual Server 2005 R2では,1つの仮想マシン当たり最大4枚の仮想ネットワーク・アダプタを割り当てられる。

 仮想マシンを,後述する外部の物理ネットワークに接続したときは,ネットワークにはこの仮想ネットワーク・アダプタが見える。例えば図1では,Virtual Server 2005 R2が稼働している物理ハードウエアは2枚のネットワーク・アダプタを備えているが,各仮想マシンは,それぞれ1枚,2枚,4枚の仮想ネットワーク・アダプタを装備している。

図1●物理ネットワーク・アダプタに依存しない仮想ネットワーク・アダプタの数
図1●物理ネットワーク・アダプタに依存しない仮想ネットワーク・アダプタの数

固有のMACアドレスを割り当てる

 ここで,察しのよい方は「仮想ネットワーク・アダプタのMACアドレスはどのようになるのか。MACアドレスは最初の3バイトがメーカー固有のはずだが」と思われるかもしれない。仮想ネットワーク・アダプタのMACアドレスは,以下の形で自動生成される。

(1)マイクロソフトは「00-03-FF」というベンダー・コードを取得しており,仮想ネットワーク・アダプタのMACアドレスの最初の3バイトに,このアドレスを割り当てる。

(2)次の1バイトをVirtual Server 2005 R2が,仮想マシンごとに異なる値を生成する。

(3)最後の2バイトには,ホストが備える物理ネットワーク・アダプタのMACアドレスを複製する。これによって,異なるVirtual Server上の仮想マシン間でのアドレス競合が避けられる。

 以上を踏まえると,仮想マシンのMACアドレスが競合するケースがあることが分かる。それは次の場合だ。

(1)仮想マシン構成ファイル(.vmc)をコピーした場合。

(2)物理ネットワーク・アダプタのMACアドレスの最後の2バイトが同一で,自動生成された4バイト目も同一となった場合。

 万が一競合しても,Virtual Serverの管理画面で,手動で書き換えればよい。それには,ネットワーク・アダプタのプロパティで設定する(図2)。「動的」を選ぶと,上記のような仕組みでMACアドレスが割り当てられる。「静的」を選ぶと,MACアドレスを手動で変更可能である。

図2●仮想ネットワーク・アダプタのMACアドレス
図2●仮想ネットワーク・アダプタのMACアドレス
[画像のクリックで拡大表示]

 一方,IPアドレスについてはどうだろうか。IPアドレスは各ゲストOSが管理している。例えばVirtual Server Migration Toolkitを用いて既存の物理環境から仮想環境に移行した場合は,これまでのIPアドレスが仮想環境に引き継がれる。