Xenでeth1を追加

Xenで仮想ネットワーク@Nic二枚刺し
参考:Xenの小技 http://good-stream.com/goodstream/xen/index.html

eth1追加でハマリにハマったので備忘録。
教訓:openSUSEのNetworkManagerはマジ信用なら無い。


network-bridge.xenを作成(名称変更)

 # cd /etc/xen/scripts
 # cp network-bridge  network-bridge.xen

my-network-scriptを作成

 vi /etc/xen/scripts/my-network-script
# !/bin/sh
# Exit if anything goes wrong
set -e
# First arg is operation.
OP=$1
shift
script=/etc/xen/scripts/network-bridge.xen
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/my-network-script
 chmod +x /etc/xen/scripts/network-bridge.xen

/etc/xen/xend-config.sxp を編集

 #(network-script network-bridge)
 (network-script my-network-script)

xend を再起動

 /etc/init.d/xend restart

Dom-Uのコンフファイル

name="hogehoge"
ostype="opensuse"
uuid="3cb60e5a-467f-3bf4-725d-663826366e22"
#memory=384
memory=512
vcpus=1
on_crash="destroy"
on_poweroff="destroy"
on_reboot="restart"
localtime=0
builder="linux"
bootloader="/usr/lib/xen/boot/domUloader.py"
bootargs="--entry=xvda2:/boot/vmlinuz-xen,/boot/initrd-xen"
extra=" "
disk=[ 'file:/hoge/hogehoge,xvda,w', 'file:/hoge/suse10_3.iso,xvdb:cdrom,r',  'file:/hoge/hogehoge-hdd,xvdc,w',  ]
vif=[ 'mac=00:16:3e:00:00:01, bridge=xenbr0' , 'mac=00:16:3e:00:00:02, bridge=xenbr1', ]
vfb=['type=vnc,vncunused=1']

あとは xm create で上記スクリプトを起動、Dom-UのYaSTやifconfigでネットワークの設定をしてあげればOK。