注意:我已经有解决此问题的方法(如下所述),因此这只是“想知道”的问题。
我的生产设置大约有50台主机,其中包括运行xen 4的刀片服务器和提供iscsi的equallogics。所有xen dom0几乎都是普通的Debian5。该设置在每个dom0上都包含多个网桥,以支持xen桥接网络。每个dom0总共有5到12个桥接器,每个桥接器为一个VLAN服务。没有主机启用路由。
在某个时间点,我们将其中一台机器移至包括Raid控制器的新硬件,因此我们安装了带有xen补丁程序的上游3.0.22 / x86_64内核。所有其他机器都运行debian xen-dom0-kernel。
从那以后,我们每隔2分钟就会在设置中的所有主机上发现以下错误:
[55888.881994] __ratelimit: 908 callbacks suppressed
[55888.882221] Neighbour table overflow.
[55888.882476] Neighbour table overflow.
[55888.882732] Neighbour table overflow.
[55888.883050] Neighbour table overflow.
[55888.883307] Neighbour table overflow.
[55888.883562] Neighbour table overflow.
[55888.883859] Neighbour table overflow.
[55888.884118] Neighbour table overflow.
[55888.884373] Neighbour table overflow.
[55888.884666] Neighbour table overflow.
arp表(arp -n)从未在每台计算机上显示超过20个条目。我们尝试了明显的调整,并提出了
/proc/sys/net/ipv4/neigh/default/gc_thresh*
价值观。最终达到16384个条目,但无效。大约2分钟的间隔甚至都没有改变,这使我得出结论,这是完全无关的。tcpdump在任何接口上均未显示任何不常见的ipv4流量。来自tcpdump的唯一有趣发现是ipv6数据包突然爆发:
14:33:13.137668 IP6 fe80::216:3eff:fe1d:9d01 > ff02::1:ff1d:9d01: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:9d01, length 24
14:33:13.138061 IP6 fe80::216:3eff:fe1d:a8c1 > ff02::1:ff1d:a8c1: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:a8c1, length 24
14:33:13.138619 IP6 fe80::216:3eff:fe1d:bf81 > ff02::1:ff1d:bf81: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:bf81, length 24
14:33:13.138974 IP6 fe80::216:3eff:fe1d:eb41 > ff02::1:ff1d:eb41: HBH ICMP6, multicast listener reportmax resp delay: 0 addr: ff02::1:ff1d:eb41, length 24
这使我想到这个问题可能与ipv6有关,因为在此设置中我们没有ipv6服务。
唯一的其他提示是主机升级与问题开始的巧合。我关闭了有关主机的电源,错误消失了。然后,我随后拆除了主机上的网桥,并且当我拆除(ifconfig下来)一个特别的网桥时:
br-vlan2159 Link encap:Ethernet HWaddr 00:26:b9:fb:16:2c
inet6 addr: fe80::226:b9ff:fefb:162c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:120 errors:0 dropped:0 overruns:0 frame:0
TX packets:9 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:5286 (5.1 KiB) TX bytes:726 (726.0 B)
eth0.2159 Link encap:Ethernet HWaddr 00:26:b9:fb:16:2c
inet6 addr: fe80::226:b9ff:fefb:162c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1801 errors:0 dropped:0 overruns:0 frame:0
TX packets:20 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:126228 (123.2 KiB) TX bytes:1464 (1.4 KiB)
bridge name bridge id STP enabled interfaces
...
br-vlan2158 8000.0026b9fb162c no eth0.2158
br-vlan2159 8000.0026b9fb162c no eth0.2159
错误又消失了。如您所见,网桥不包含ipv4地址,它的唯一成员是eth0.2159,因此,不应有流量通过它。桥和接口.2159 / .2157 / .2158在连接方面均与VLAN相同,但在拆除时没有任何作用。现在,我通过sysctl net.ipv6.conf.all.disable_ipv6在整个主机上禁用了ipv6 并重新启动。此后,即使启用了桥br-vlan2159,也不会发生任何错误。
任何想法都欢迎。
echo 1 > /sys/class/net/br0/bridge/multicast_snooping
。