Xen虚拟机不会出现:找不到桥设备xenbr0(configuration为使用路由)

我在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包括searchbridgebr#子目录:

 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 #