CARP 与 2 个互连交换机和绑定相混淆

CARP 与 2 个互连交换机和绑定相混淆

我有一个非常简单的 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+)- 两个交换机共享完全相同的设置:

关联

端口隔离

LAG——不可能有 MLAG!

转发

系统设置

IGMP 为空

有没有最佳实践来解决这个问题?

相关内容