xen + CentOS5.8 ゲストOSに複数のNICを設定
■HOST側で、仮想ネットワークインターフェイスを追加する。
# vi /etc/xen/xend-config.sxp
(network-script network-bridge)
↓
(network-script network-bridge.multi)
■/etc/xen/scripts/network-bridge.multi を新規作成
network-bridge.multiの内容
---
#!/bin/sh
set -e
OP=$1
shift
script=/etc/xen/scripts/network-bridge
case ${OP} in
start)
$script start vifnum=0 bridge=xenbr0 netdev=eth0
$script start vifnum=1 bridge=xenbr1 netdev=eth1
;;
stop)
$script stop vifnum=0 bridge=xenbr0 netdev=eth0
$script stop vifnum=1 bridge=xenbr1 netdev=eth1
;;
status)
$script status vifnum=0 bridge=xenbr0 netdev=eth0
$script status vifnum=1 bridge=xenbr1 netdev=eth1
;;
*)
echo 'Unknown command: ' ${OP}
echo 'Valid commands are: start, stop, status'
exit 1
esac
---
■実行権限を付与
# chmod +x /etc/xen/scripts/network-bridge.multi
■xenを再起動
# service xend restart
■仮想マシンマネージャーからゲストOSの仮想ネットワークインターフェイスを追加する。
ソース装置は、xenbr1を選択。
追加すると、/etc/xen/ゲストOSの名前 の設定ファイル内容が以下のようになり、
インターフェイスが追加された状態になります。
---
name = "guest"
uuid = "c9b2172a-dd76-e20a-1413-94e1023ea21c"
maxmem = 4096
memory = 2048
vcpus = 1
bootloader = "/usr/bin/pygrub"
kernel = "/var/lib/xen/boot_kernel.x6az0t"
ramdisk = "/var/lib/xen/boot_ramdisk.V_GSLK"
extra = "ro root=/dev/VolGroup00/LogVol00 rhgb quiet"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=ja" ]
disk = [ "tap:aio:/var/lib/xen/images/guest.img,xvda,w" ]
vif = [ "mac=00:16:3e:69:09:11,bridge=xenbr0,script=vif-bridge,vifname=vif5.0", "mac=00:16:3e:69:09:12,bridge=xenbr1,script=vif-bridge" ]
---
■あとは、ゲストOS上で、eth1の設定を行えば利用できます。
■なんらかの拍子でNICが認識できない場合。
上記の設定を行った後に、xm createでゲストOSを作りかえれば、認識できます。
# vi /etc/xen/xend-config.sxp
(network-script network-bridge)
↓
(network-script network-bridge.multi)
■/etc/xen/scripts/network-bridge.multi を新規作成
network-bridge.multiの内容
---
#!/bin/sh
set -e
OP=$1
shift
script=/etc/xen/scripts/network-bridge
case ${OP} in
start)
$script start vifnum=0 bridge=xenbr0 netdev=eth0
$script start vifnum=1 bridge=xenbr1 netdev=eth1
;;
stop)
$script stop vifnum=0 bridge=xenbr0 netdev=eth0
$script stop vifnum=1 bridge=xenbr1 netdev=eth1
;;
status)
$script status vifnum=0 bridge=xenbr0 netdev=eth0
$script status vifnum=1 bridge=xenbr1 netdev=eth1
;;
*)
echo 'Unknown command: ' ${OP}
echo 'Valid commands are: start, stop, status'
exit 1
esac
---
■実行権限を付与
# chmod +x /etc/xen/scripts/network-bridge.multi
■xenを再起動
# service xend restart
■仮想マシンマネージャーからゲストOSの仮想ネットワークインターフェイスを追加する。
ソース装置は、xenbr1を選択。
追加すると、/etc/xen/ゲストOSの名前 の設定ファイル内容が以下のようになり、
インターフェイスが追加された状態になります。
---
name = "guest"
uuid = "c9b2172a-dd76-e20a-1413-94e1023ea21c"
maxmem = 4096
memory = 2048
vcpus = 1
bootloader = "/usr/bin/pygrub"
kernel = "/var/lib/xen/boot_kernel.x6az0t"
ramdisk = "/var/lib/xen/boot_ramdisk.V_GSLK"
extra = "ro root=/dev/VolGroup00/LogVol00 rhgb quiet"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=ja" ]
disk = [ "tap:aio:/var/lib/xen/images/guest.img,xvda,w" ]
vif = [ "mac=00:16:3e:69:09:11,bridge=xenbr0,script=vif-bridge,vifname=vif5.0", "mac=00:16:3e:69:09:12,bridge=xenbr1,script=vif-bridge" ]
---
■あとは、ゲストOS上で、eth1の設定を行えば利用できます。
■なんらかの拍子でNICが認識できない場合。
上記の設定を行った後に、xm createでゲストOSを作りかえれば、認識できます。
コメント