もはやサーバを仮想化せずに動かすこともほとんどなくなった今日この頃。
VLANでネットワークを分離し、仮想マシンも各VLANに割り振っているのだけれども、VMware ESXiで仮想マシンにVLANタグを通す方法がようやくわかった。
単純に仮想マシンを特定のVLANに割り当てるだけであれば、ネットワークのVLAN IDを設定してやればいい。
ただ、仮想マシンを複数のVLANに接続させたい場合には、この方法だとVLANの数だけ仮想NICが必要になってしまう。仮想NICの数には制限があるので、多くのVLANと接続したいような場合にはこれだと困る。(例えばルーター)
そこで、OS側でVLANを扱えるように仮想マシンにVLANタグを通してやりたかったのだけど、これには右図のように「VLAN ID」として「4095」を設定してやればいいらしい。
公式のドキュメント(VMware ESX Server 3 802.1Q VLAN Solutions)に記述があった。
ちなみに、VMware WorkstationやVMware Serverであれば、特別なことはしなくてもVLANタグはそのまま通る。ただし、ホストOSがWindowsだと、LANカードによってはドライバレベルでVLANタグが外されてしまうので、そのようなドライバを使っている場合には、タグを通すようにレジストリでの設定が必要になるようだ。(参考)
(2010/7/16追記)
L2スイッチやソフトウェアルータを使ったネットワーク仮想化の話を簡単にまとめてみた。