如何configurationXen的接口虚拟化(eth0到peth0)?

我前段时间安装了Xen,但还没有启动虚拟机pipe理程序。 我昨天做了,所有的事情都打破了。 由于Xen,我的服务器上完全失去了互联网连接。

当我启动服务器并且eth0不在br0内时,Xen会尝试通过将其重命名为peth0 (物理eth0 )来虚拟化它,然后创build一个veth0 (虚拟eth0 )并将其重命名为eth0 ,至less到Xen文档 。

问题是它没有提出一个eth0 ,我没有互联网连接。 我在我的服务器上有一个eth1 ,并想虚拟化该接口, 而不是 eth0 。 为了做到这一点,我把eth1放在br0br0正在虚拟化到virbr0 。 如何阻止Xen虚拟化eth0并使用br0/eth1

这是我从systemctl -o cat status network.service

 Bringing up lookback interface: [ OK ] Bringing up interface eth0: Error: either "dev" is a duplicate, or "virbr0" is a garbage. ERROR : [/etc/sysconfig/network-scripts/ifup-eth] Failed to bring up peth0 virbr0. [FAILED] Bringing up interface eth1: [ OK ] Bringing up interface br0: [ OK ] 

要喜欢第二行的语法(这是逐字下来的间距)。

virbr0由libvirt直接处理,可以从对这个消息的答复中看到, 这是从/etc/libvirt/qemu/networks

答案包含在您提供的链接中: 设置桥接networking 。

在XEN 4.1之前,XEN是build立networking桥接的angular色。

之后,相应的网桥应该设置为OS方式。

但是:如果在XEN-Startup期间没有定义网桥,它将创build一个默认网桥(相当于以前的行为)。

有一个很好的理由把它放在XEN控制之外,因为有非常复杂的绑定/ VLAN组合,这是默认脚本所不能涵盖的。 networking堆栈也不同于OS到OS。

我有一个SLES10 SP4的类似问题 – 我需要一个相当复杂的networking设置。

所以我在/etc/init.d/中设置了自己的init脚本来设置桥接/绑定/ vlans。

使用SLES11 SP2,这是一块蛋糕,可以通过OS- yast2命令来设置。

在XEND开始之前,这些桥梁就开始运行了。

像这样的东西可能适合你:

 XENBRIDGE=/etc/xen/scripts/network-bridge $XENBRIDGE bridge=br0 netdev=eth1 start 

Fedora应该与RHEL6相媲美 – 所以也许你可以使用networking设置文档 ,并将你的桥接configuration集成到正常的networking设置中(这是更好的方法)。

为了解决这个问题,我改变了这些:

 (network-script 'network-bridge bridge=virbr0') (vif-script vif-bridge) 

对这些:

 (network-script 'network-bridge bridge=virbr0 netdev=eth1') (vif-script vif-nat) 

/etc/xen/xend-config.sxp ,它成功的离开了eth0 ,现在只把eth1重命名为peth1 ,而且我认为它并不是因为它在br0里面而veth1/eth1veth1/eth1 。 然后,我把ifcfg-em1/ifcfg-em2ifcfg-eth0/ifcfg-eth1 ,并改为:

 IPADDR0=xxx.xxx.xxx.xxx PREFIX0=xx GATEWAY0=xxx.xxx.xxx.xxx DNS1=xxx.xxx.xxx.xxx 

至:

 IPADDR=xxx.xxx.xxx.xxx PREFIX=xx GATEWAY=xxx.xxx.xxx.xxx DNS=xxx.xxx.xxx.xxx 

这给了我回到我的互联网和本地主机。

你知道这个经历的最好的部分是什么? 我可以永久禁用NetworkManager。