我已经将我的一台服务器从Xen 4.1.4(Debian squeeze)更新到了Xen 4.4.1(Debian jessie)。 由于xend / xm被弃用,我想在Xen 4.4.1中使用xl工具包。 但现在我的虚拟机的networking设置有问题。
我的虚拟机使用混合路由和桥接接口设置。 内部stream量以及实验性的IPv6接口被桥接,而持有公共IP的接口被路由。 但是,Xen 4.4.1似乎完全忽略了vmconfiguration中的脚本/桥接/ vifnamevariables,只使用默认的vif脚本和接口名称。
如何让我现有的虚拟机configuration在Xen 4.4.1上成功运行?
请在下面find相关的configuration/日志文件:
虚拟机的networkingconfiguration:(提到的网桥是通过/ etc / network / interfaces预先创build的,replace原来的公网IP地址)
vif = ['mac = fe:fd:1:00:00:0,vifname = int-vm0,script = vif-bridge,bridge = int',
'mac = fe:fd:1:00:00:1,vifname = ext-vm0,ip = abcd',
'mac = fe:fd:1:00:00:2,vifname = v6-vm0,script = vif-bridge,bridge = v6']
/etc/xen/xl.conf
#默认vif脚本,如果没有在来宾configuration中指定使用 #vif.default.script = “VIF桥” vif.default.script = “的/ etc / xen的/脚本/ VIF-路线” #使用vif-bridge hotplug脚本的默认网桥设备 #vif.default.bridge = “把xenbr0”
启动虚拟主机时的相关networking系统日志条目:
12月4日15:47:00主机root:/ etc / xen / scripts / block:添加XENBUS_PATH =后端/ vbd / 16/51713 十二月4 15:47:00 host root:/ etc / xen / scripts / vif-route:online type_if = vif XENBUS_PATH = backend / vif / 16/0 十二月4 15:47:00 host root:/ etc / xen / scripts / vif-route:online type_if = vif XENBUS_PATH = backend / vif / 16/1 / etc / xen / scripts / vif-route:online type_if = vif XENBUS_PATH = backend / vif / 16/2 12月4日15:47:00主机内核:[83460.131540] IPv6:ADDRCONF(NETDEV_UP):vif16.0:链路没有准备好 12月4日15:47:00主机内核:[83460.135514] IPv6:ADDRCONF(NETDEV_UP):vif16.1:链路没有准备好 12月4日15:47:00主机内核:[83460.140061] IPv6:ADDRCONF(NETDEV_UP):vif16.2:链路没有准备好 12月4日15:47:00主机根:/ etc / xen / scripts / vif-route:vif16.2在线成功vif-route。 12月4日15:47:00 host root:/ etc / xen / scripts / vif-route:写入连接到xenstore的后端/ vif / 16/2 / hotplug-status。 12月4日15:47:00主机根目录:/ etc / xen / scripts / vif-route:vif16.0在线成功vif-route。 12月4日15:47:00 host root:/ etc / xen / scripts / vif-route:写入连接到xenstore的后端/ vif / 16/0 / hotplug-status。 12月4日15:47:00主机根:/ etc / xen / scripts / vif-route:成功的vif-route vif16.1在线。 12月4日15:47:00 host root:/ etc / xen / scripts / vif-route:写入连接到xenstore的后端/ vif / 16/1 / hotplug-status。
请让我知道,如果你需要更多的信息。
在configuration的vif部分给定的MAC地址错过前导零,这似乎混淆了libxl内的MAC地址parsing器,并导致它忽略mac地址后的所有configuration项。
您可以使用xl create命令的debugging输出来检查parsing器
xl创buildvm0 -d -n
下面的networkingconfiguration适用于我的虚拟机:(replace公共IP地址)
vif = ['mac = fe:fd:01:00:00:00,vifname = int-vm0,script = vif-bridge,bridge = int',
'mac = fe:fd:01:00:00:01,vifname = ext-vm0,ip = abcd',
'mac = fe:fd:01:00:00:02,vifname = v6-vm0,script = vif-bridge,bridge = v6']