nkjmkzk.net

Virtualization, Operating System, Storage, Cloud Computing

Oracle VMでVLANを設定する

サーバを仮想化すると必然的に一つの物理ネットワークポートを数多くのVMで共有することになりがちです。そんな環境では、セキュリティ的に(こういう表現好きじゃないんだけど)それぞれのVMのセグメントを分離したいという要件がでてきます。または、特にRAC等の検証環境で物理ネットワークポートは一個しかないんだけど、仮想マシンには最低2つのセグメントを与えたい、というような要件がでてきます。そんなときにはVLANですよね。

ということで、Oracle VM環境でVM Serverには物理的なネットワークポートは一つしかないけど、VLANで二つの仮想ネットワークポートを作成して仮想マシンに2つのネットワークセグメントへの接続を与えるという設定方法を紹介します。RACでは最低でもPublicとPrivateの二つのセグメントが必要になるのでそういう場合に便利です。

*ちなみにOracle VMはバージョンによって内部仮想ネットワークの構成がちょいちょい変わっていますが、この手順は2.1.xでも最新の2.2でもいけるはずです。

*タグVLAN(802.1q)を使用するので、VM Serverを結ぶネットワークスイッチも適切に設定する必要があります。

まずxend-config.sxpを編集してネットーワーク設定の初期化を行うnetwork-scriptを変更します。

[root@vmserver]# cd /etc/xen/xend-config.sxp
(network-script network-bridge-ovs)

次に先程指定したnetwork-bridge-ovsを作成します。これは実際にはダミーです。つまりVLANを構成する場合は通常のネットワーク初期化機構を放棄するという設定を行っているわけです。

[root@vmserver]# vi /etc/xen/scripts/network-bridge-ovs
#!/bin/sh
/bin/true

そしてVLAN用に仮想スイッチの設定ファイルを作成します。各VLAN毎にxenbr(仮想スイッチ)を作成します。xenbrNNのNNの部分は任意ですが、VLAN IDと紐付けておくのが吉でしょう。ここではVLAN ID:11と、VLAN ID:12に対応するxenbrを作成しています。

[root@vmserver]# vi /etc/sysconfig/network-scripts/ifcfg-xenbr11
DEVICE=xenbr11
ONBOOT=yes
TYPE=Bridge
DELAY=0
STP=off
BOOTPROTO=static
IPADDR=10.0.11.1
NETMASK=255.255.255.0

[root@vmserver]# vi /etc/sysconfig/network-scripts/ifcfg-xenbr12
DEVICE=xenbr12
ONBOOT=yes
TYPE=Bridge
DELAY=0
STP=off
BOOTPROTO=static
IPADDR=10.0.12.1
NETMASK=255.255.255.0

次にVLANインターフェースを作成します。ここではeth0上にVLAN ID:11とVLAN ID:12となるインターフェースを作成しています。このときのeth0.NNのNNがVLAN IDの指定になります。単なる名前ではなくVLAN IDの設定になるので、ここの設定と物理スイッチでのVLAN設定は合わせる必要があります。そして各VLANインターフェースは先程作成した対応するxenbrにそれぞれ接続します。

[root@vmserver]# vi /etc/sysconfig/network-scripts/ifcfg-eth0.11
DEVICE=eth0.11
BOOTPROTO=none
ONBOOT=yes
BRIDGE=xenbr11
VLAN=yes

[root@vmserver]# vi /etc/sysconfig/network-scripts/ifcfg-eth0.12
DEVICE=eth0.12
BOOTPROTO=none
ONBOOT=yes
BRIDGE=xenbr12
VLAN=yes

これで完了です。VM Serverを再起動すればxenbr11が作成され、そこにeth0.11が接続されます。また、xenbr12が作成され、eth0.12がそこに作成されます。

ゲストOSの仮想ネットワークインターフェースを作成するときは、xebr11を指定すればVLAN 11に、xenbr12を指定すればVLAN 12に接続されます。

without comments

Written by nkjm

January 31st, 2010 at 2:13 pm

Posted in Virtualization

Tagged with

Leave a Reply