+ -------- + | 主机A | + ---- + --- + | eth0(AA:AA:AA:AA:AA:AA) | | + ---- + ----- + | 开关1 | (二层/ 3) + ---- + ----- + | + ---- + ----- + | 开关2 | + ---- + ----- + | + ---------- + ---------- + + ------------------------- + Switch 3 + -------------------- ----- + | + ---- + ----------- + ---- + | | | | | | | | | | eth0(B0:B0:B0:B0:B0:B0)| | eth4(B4:B4:B4:B4:B4:B4)| | + ---- + ----------- + ---- + | | | 主机B | | | + ---- + ----------- + ---- + | | eth1(B1:B1:B1:B1:B1:B1)| | eth5(B5:B5:B5:B5:B5:B5)| | | | | | | | | + ------------------------------ + + ----------------- ------------- +
我研究了很久,还没有find答案。 文档指出,在使用Linux接口绑定的模式6(balance-alb)时,不需要更改开关。 发生这种行为,因为主机B不会发送任何进一步的数据包的eth5,而在正常情况下,预计它会? 一个解决scheme是设置一个cron作业,ping主机B,以防止桥表项出现超时,但这似乎是一个肮脏的黑客攻击。
是的 – 这是预期的。 NIC绑定到主机,单播泛滥,已经遇到一个相当普遍的问题。 正如您已经注意到的那样,正在观察交换机上针对所讨论的硬件地址的定时器,因为没有来自这些地址的帧。
以下是一般选项 –
1.)更长的地址表超时。 在混合的L2 / L3交换机上,ARP和CAM定时器应该相互靠近(CAM定时器运行几秒钟)。 不pipeconfiguration的其余部分如何,这个build议都是成立的。 在L2交换机上,定时器通常可以设置得更长,而没有太多的问题。 也就是说,除非完全禁用定时器,否则如果没有从其他地址获取某种stream量,则最终将返回相同的情况。
2.)您可以硬编码交换机上的MAC地址(不幸的是,图中的所有交换机)。 由于多种原因,这显然不是最佳的。
3.)将Linux端的绑定模式更改为使用通用源MAC(即802.3ad / LACP)的绑定模式。 如果您的交换机支持,这有很多的运营优势。
4.)通过每个界面的cron作业生成免费的arps 。 您可能需要在各种接口上使用一些虚拟IP来防止振荡条件(即主机的IP通过各种硬件地址循环)。
5.)如果是交通问题,就去10GE吧! (抱歉 – 必须把它扔到那里)
LACP路由可能是最常见和最可支持的,并且交换机可能被configuration为在各个链路之间均衡地平均进入服务器的stream量。 如果没有,我认为无偿的arp选项将是最容易整合的。