我有一个非常简单的 10G 交换机设置:
+-----+----+ +-----+----+
| |port2 ISL port2| |
| switch A +--------------------------+ switch B |
| | | |
+-----+----+ +-----++---+
|port1 port1|
| +-------+ |
+-------------+ host1 +---------------+
eth0 +-------+ eth1
我正在尝试绑定eth0
和。这与绑定模式配合eth1
得很好。故障转移有保证。active-backup
现在我正在尝试改进此设置。目标是获得更高的性能,但仍具有故障转移功能。使用 bond 模式,balance-xor
效果balance-rr
很好。它使我的性能提高了 50-90%,如果其中一个交换机发生故障,故障转移会起作用。缺点是,CARP
其他multicast
协议非常混乱。原因似乎是机器正在接收自身的多播直接地发送之后,因为有2个端口连接。
示例 CARP tcpdump(接收包的计数器相同):
root@host01 ~ # tcpdump -ni bond0 -T carp carp
tcpdump: verbose output suppressed, use -v[v]... for full protocol decode
listening on bond0, link-type EN10MB (Ethernet), snapshot length 262144 bytes
17:47:23.769771 IP 192.168.88.201 > 224.0.0.18: CARPv2-advertise 36: vhid=3 advbase=1 advskew=0 authlen=7 counter=191848661812175602
17:47:23.769801 IP 192.168.88.201 > 224.0.0.18: CARPv2-advertise 36: vhid=3 advbase=1 advskew=0 authlen=7 counter=191848661812175602
17:47:26.847288 IP 192.168.88.201 > 224.0.0.18: CARPv2-advertise 36: vhid=3 advbase=1 advskew=0 authlen=7 counter=191848661812175603
17:47:26.847309 IP 192.168.88.201 > 224.0.0.18: CARPv2-advertise 36: vhid=3 advbase=1 advskew=0 authlen=7 counter=191848661812175603
17:47:29.872314 IP 192.168.88.201 > 224.0.0.18: CARPv2-advertise 36: vhid=3 advbase=1 advskew=0 authlen=7 counter=191848661812175604
17:47:29.872332 IP 192.168.88.201 > 224.0.0.18: CARPv2-advertise 36: vhid=3 advbase=1 advskew=0 authlen=7 counter=191848661812175604
/编辑:根据要求切换配置为图像(Mikrotik CRS317-1G-16S+)- 两个交换机共享完全相同的设置:
有没有最佳实践来解决这个问题?