我在运行Xen内核的CentOS 5.6服务器上有10个domU。 所有10个都设置为在系统启动时启动; 然而,只有一台机器,我得到这个错误:
Error: Device 0 (vif) could not be connected. Hotplug scripts not working.
所有10个domU都有三个configuration的networking接口,全部桥接到主机上的物理接口。 所有这三项工作都很棒 – eth 1,2和3连接到每个虚拟机的eth0,eth1和eth2。
我可以手动启动这个虚拟机,并开始没有问题。 我试过通过命令行:
xm create /path/to/vm-config.cfg
而且在virt-manager中。
是什么原因造成了这个问题,我怎样才能让这个虚拟机启动主机启动,就像其他9个一样?
有一次创build和销毁vm后,我有这个问题。 这是udev问题。 据我所知,udev在DOMID大于10后不处理新的vif设备。在将下一个string添加到udev规则后,我将其修复:SUBSYSTEM ==“xen-backend”,KERNEL ==“vif *”,ACTION ==“在线“,RUN + =”$ env {script} online“SUBSYSTEM ==”xen-backend“,KERNEL ==”vif *“,ACTION ==”offline“,RUN + =”$ env {script} offline“
另外我重新启动udev(可能是为什么xm创build开始工作?)。
显然,这是与Xen <4.1中network-bridge脚本相关的问题。 这些shell脚本似乎相当不可靠,Xen最佳实践文档现在build议使用操作系统的networking脚本,而不是那些脚本。 因此,如果您运行的是Debian,则意味着在/etc/network/interfacesconfiguration网桥,而不是依赖Xen脚本。
一个示例configuration:
auto eth0 iface eth0 inet manual auto br0 iface br0 inet static bridge_ports eth0 address 10.0.0.2 netmask 255.0.0.0 gateway 10.0.0.1
… 等等。 然后,在domU .cfg文件中引用br0 ,并在/etc/xen/xend-config.sxp注释(network-script network-bridge)行。