首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Xen下的桥中添加vifs突然停止工作。

在Xen下的桥中添加vifs突然停止工作。
EN

Server Fault用户
提问于 2012-07-05 15:35:44
回答 1查看 2.1K关注 0票数 1

这里有一个设置,大约30 Dom0s运行Xen 4.0.3,Dom0内核为2.6.32.57 x86_64。(我们在之前的Xen 4.0.1和内核2.6.32.2X中看到了同样的行为)

有时,xen突然停止为新的(或迁移的) DomUs添加vifs。接口在那里,添加到正确的桥,但桥端口从来没有收到任何流量.此时,所有已连接的接口都可以正常工作。这种情况同时发生在dom0上的所有桥接器上(我们有11个vlans的11个网桥,每个主机有4个物理接口,网桥上的stp已经关闭)。

如果发生这种情况,当通过xen添加接口时,我在日志中看到了这一点,而xen似乎缺少刚刚添加的接口进入转发状态的桥:

代码语言:javascript
复制
[809766.761058] device r624-eth0 entered promiscuous mode
[809766.773664] br-vlan2801: port 1(r624-eth0) entering learning state
[809766.857665] device r624-eth1 entered promiscuous mode
[809766.872226] br-vlan2802: port 2(r624-eth1) entering learning state
[809768.377613] blkback: ring-ref 8, event-channel 8, protocol 2 (x86_32-abi)
[809776.810481] r624-eth0: no IPv6 routers present
[809777.870549] r624-eth1: no IPv6 routers present

r624-eth0的IP之后是不可点击的。tcpdump -i br-vlan2801显示pinging的ARP请求,tcpdump -i r624-eth0没有显示任何内容。因此,数据包到达桥接器,但不被转发到vif (据我理解)。通过ifconfig br-vlan2801 down拆下桥没有帮助--但是删除和重新创建桥解决了这个问题。这使我得出结论,Xen不是问题的一部分。

如果我只是通过ifconfig br-vlan2801 down / up重新启动桥接器接口,我会看到以下内容:

代码语言:javascript
复制
Jul  5 16:43:52 kernel: [811367.029655] br-vlan2159: port 4(b434-eth1) entering disabled state
Jul  5 16:43:52 kernel: [811367.029893] br-vlan2159: port 3(d434-eth1) entering disabled state
Jul  5 16:43:52 kernel: [811367.030121] br-vlan2159: port 2(w434-eth1) entering disabled state
Jul  5 16:43:52 kernel: [811367.030350] br-vlan2159: port 1(eth0.2159) entering disabled state
Jul  5 16:44:15 kernel: [811389.818841] br-vlan2159: port 4(b434-eth1) entering learning state
Jul  5 16:44:15 kernel: [811389.819076] br-vlan2159: port 3(d434-eth1) entering learning state
Jul  5 16:44:15 kernel: [811389.819307] br-vlan2159: port 2(w434-eth1) entering learning state
Jul  5 16:44:15 kernel: [811389.819536] br-vlan2159: port 1(eth0.2159) entering learning state
Jul  5 16:44:25 kernel: [811399.959567] br-vlan2159: no IPv6 routers present

如果删除桥并重新配置它,当桥再次出现时,我会看到如下情况:

代码语言:javascript
复制
Jul  5 16:47:23 kernel: [811578.178683] br-vlan2159: port 4(w434-eth1) entering learning state
Jul  5 16:47:23 kernel: [811578.178917] br-vlan2159: port 3(eth0.2159) entering learning state
Jul  5 16:47:23 kernel: [811578.179146] br-vlan2159: port 2(d434-eth1) entering learning state
Jul  5 16:47:23 kernel: [811578.179374] br-vlan2159: port 1(b434-eth1) entering learning state
Jul  5 16:47:34 kernel: [811588.789566] br-vlan2159: no IPv6 routers present
Jul  5 16:47:38 kernel: [811593.178568] br-vlan2159: port 4(w434-eth1) entering forwarding state
Jul  5 16:47:38 kernel: [811593.178801] br-vlan2159: port 3(eth0.2159) entering forwarding state
Jul  5 16:47:38 kernel: [811593.179029] br-vlan2159: port 2(d434-eth1) entering forwarding state
Jul  5 16:47:38 kernel: [811593.179255] br-vlan2159: port 1(b434-eth1) entering forwarding state

在此之后,桥和连接到它的所有接口都按预期工作。

同时,所有的桥梁都发生了这种情况,我不会为此责怪brctl工具,而会在内核中更深入地指责它。因为它是随机发生的,而且每隔一个月都会发生一次,所以我没有可能将它与更新的内核交叉检查。

主要的问题(据我理解)是:为什么桥没有在刚刚添加的/设置的端口上进入前向状态?

EN

回答 1

Server Fault用户

发布于 2012-10-09 13:13:29

如果波特坚持学习,什么对我们有用:

代码语言:javascript
复制
#brctl showstp
if1.ext (5)
port id     8005            state              learning
designated root 8000.d8d3855f7f58   path cost        100
designated bridge   8000.d8d3855f7f58   message age timer      0.00
designated port 8005            forward delay timer 17075646.29
designated cost    0            hold timer         0.00
flags           

删除并添加具有0转发延迟的桥接器接口:

代码语言:javascript
复制
#brctl delif xenbr1 if1.ext
#brctl setfd 0
#brctl addif xenbr1 if1.ext
票数 1
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/405075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档