我在Ubuntu 14.04服务器上使用xen 4.4.1,我的DomU也运行Ubuntu 14.04服务器。 我以前在桥模式下运行这个DomU没有问题。 不过,我想切换到路由设置。
我将DomU config vif更改为:
vif=['10.0.1.2,script=vif-route']
并在/etc/xen/xend-config.sxp中:
#(vif-script vif-bridge) #(network-script network-bridge (network-script network-route) (vif-script vif-route)
但是,当我尝试启动虚拟机,它会抛出这个错误:
libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge online [-1] exited with error status 1 libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0 libxl: error: libxl_create.c:1226:domcreate_attach_vtpms: unable to add nic devices libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge offline [-1] exited with error status 1 libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0 libxl: error: libxl_exec.c:118:libxl_report_child_exitstatus: /etc/xen/scripts/vif-bridge remove [-1] exited with error status 1 libxl: error: libxl_device.c:1085:device_hotplug_child_death_cb: script: Could not find bridge device xenbr0
为什么仍然会尝试运行vif-bridge脚本,即使我在xend-config.sxp中评论过它?
从debian dom0(wheezy-> jessie)从xen 4.1升级到4.4后,我们遇到了同样的问题。
解决scheme是更改xl.conf:
# default vif script to use if none is specified in the guest config vif.default.script="vif-route"
用ip创buildxenbr0接口,使用eth0桥= xenbr0。
configurationvif.default.gatewaydev @ xl.conf
将SLES 10.x guest guest虚拟机迁移到SLES 12 SLES 12.3附带的更高版本的XEN hypervisor版本时,我仍然遇到类似的问题。 下面的vif-bridge hack包括searchbridge的br#子目录:
zeus:/etc/xen/scripts # diff -u vif-bridge vif-bridge-hack --- vif-bridge 2017-09-08 05:26:04.000000000 -0400 +++ vif-bridge-hack 2017-09-28 21:36:32.461458890 -0400 @@ -70,6 +70,9 @@ if [ -e "/sys/class/net/eth${bridge#xenbr}/bridge" ] then bridge="eth${bridge#xenbr}" + elif [ -e "/sys/class/net/br${bridge#xenbr}/bridge" ] + then + bridge="br${bridge#xenbr}" fi fi fi zeus:/etc/xen/scripts #