具有桥接和绑定接口的不稳定性

我昨天发布了一个用于虚拟机(KVM / libvirt)的几个桥接接口的工作设置。

其中一个桥接接口是使用eth3作为端口,而第二个(公共通信)则使用以太网接口。

该设置正在工作,但不是所有的时间! 我可以从vm开始下载,然后停止并冻结!

所以我不知道我的网桥参数是否正确,你能检查下面的configuration吗?

iface eth3 inet manual auto bond0 iface bond0 inet manual slaves eth1 eth2 pre-up ip link set bond0 up down ip link set bond0 down auto br0 iface br0 inet static address 10.160.0.7 netmask 255.255.255.128 bridge_ports eth3 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp on auto br0:1 iface br0:1 inet static address 10.160.0.9 netmask 255.255.255.255 auto br0:2 iface br0:2 inet static address 10.160.0.10 netmask 255.255.255.255 auto br1 iface br1 inet static address 217.4.40.242 netmask 255.255.255.240 gateway 217.4.40.241 pre-up /etc/network/firewall start bridge_ports bond0 bridge_fd 9 bridge_hello 2 bridge_maxage 12 bridge_stp on auto br1:1 iface br1:1 inet static address 217.4.40.252 netmask 255.255.255.255 auto br1:2 iface br1:2 inet static address 217.4.40.253 netmask 255.255.255.255 

是的,它也有时在主机上谈论火星人:

 kernel: [249146.055172] martian source 10.160.0.17 from 10.160.0.10, on dev vnet2 kernel: [249146.073122] ll header: ff:ff:ff:ff:ff:ff:54:52:00:76:c3:5c:08:06 

听起来像是我面临的一个问题。
这是KVM桥接绑定configuration的WORKINGconfiguration示例,但它只能同时使用一个接口。 也许这取决于开关(使用Planet GSD-802S和HP V1910)。 我在两个地方使用(使用不同的硬件和交换机)。

cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding mode=802.3ad miimon=100 downdelay=200 updelay=200 ad_select=0 lacp_rate=fast

猫/ etc / network / interfaces
auto lo
iface lo inet loopback

绑定的networking接口

汽车bond0
iface bond0 inet手册
债券奴隶没有
绑定模式802.3ad
债券 – miimon 100
bond_lacp_rate快
bond_ad_select 0
up / sbin / ifenslave bond0 eth1 eth2
down / sbin / ifenslave bond0 -d eth1 eth2

奴役所有的物理接口

卡#1 Nvidia千兆板载

auto eth1
iface eth1 inet手册
债券主债券0

卡#2英特尔PRO / 1000 F服务器适配器 – 光纤

auto eth2
iface eth2 inet手册
债券主债券0

虚拟networkingKVM的局域网连接

自动br0
iface br0 inet static
地址10.0.0.254
networking掩码255.255.255.0
networking10.0.0.0
播放10.0.0.255
网关10.0.0.1
dns-nameservers 10.0.0.1 8.8.8.8
桥接口bond0
桥-FD 9
桥 – 你好2
桥最大12
桥-stpclosures

卡#3 – 互联网调制解调器

auto eth0
iface eth0 inet手册

虚拟networkingKVM – 调制解调器网桥

如果使用手册
bridge_ports eth0
bridge_stpclosures
bridge_fd 0
bridge_maxwait 0
度量1
自动br1

除了pre-up / down属性不需要的事实,你应该打开一些arp链接监视,该绑定的configuration看起来OK。 但是,您不应该在别名界面上设置networking掩码; 让内核正确地设置networking掩码(它应该和主IP上的networking掩码一样 – 我认为/ 32掩码是导致火星问题的原因)。

如果没有networking在摊位周围的交通堵塞,很难说是什么原因。 追踪问题的一些想法:

  • 确保networking适用于小数据包(ping等)
  • 确保问题始终可重现(每次尝试从VM下载时都会发生这种情况吗?)
  • 摆脱债券,看看它是否仍然可重复(如果不是,债券可能是错误的)
  • 主机上的相同下载是否导致问题? (如果没有,那么问题不在于债券)
  • 尝试删除VM的NIC上的MTU; 我看不到任何可能会导致问题的主机configuration,但其他networking设备可能有问题。

有什么理由让你生成树? 除非你在外部网段之间提供某种冗余的连接,否则这是不必要的,并且可能会阻塞stream量或者导致上游交换机暂时closures端口。

不是真正的答案,而是'我也是'+解决方法:我有类似的问题与Broadcom的BCM5708 nic在戴尔供电2950.在我的情况下,只是键+ VLAN,没有桥接。 经过几天的运行主机失去了互联网接入。 我没有太多的故障排除选项,并最终添加额外的以太网卡。 现在在船上和附加卡之间的债券工作正常。