![当一个端口死机时,具有 activebackup 和 arp-ping 链路检查的组队端口会失败](https://linux22.com/image/714565/%E5%BD%93%E4%B8%80%E4%B8%AA%E7%AB%AF%E5%8F%A3%E6%AD%BB%E6%9C%BA%E6%97%B6%EF%BC%8C%E5%85%B7%E6%9C%89%20activebackup%20%E5%92%8C%20arp-ping%20%E9%93%BE%E8%B7%AF%E6%A3%80%E6%9F%A5%E7%9A%84%E7%BB%84%E9%98%9F%E7%AB%AF%E5%8F%A3%E4%BC%9A%E5%A4%B1%E8%B4%A5.png)
我有两台通过两个端口互连的机器,我希望两个端口能够组合在一起形成一个互连链路。
我已将团队运行器配置为activebackup
,并将链接状态检查器配置为arp_ping
。结果有效并且通常处理良好,但连接的主动-被动性质似乎会导致问题,在某些情况下会导致端口关闭:
[root@machine1 ~]# teamdctl team_master state
setup:
runner: activebackup
ports:
team_slave1
link watches:
link summary: up
instance[link_watch_0]:
name: arp_ping
link: up
down count: 0
team_slave0
link watches:
link summary: down
instance[link_watch_0]:
name: arp_ping
link: down
down count: 0
runner:
active port: team_slave1
我已经通过 NetworkManager 配置了整个系统,并且为了重现我的问题,我可以使用同时在两台机器上使用活动界面nmcli dev disconnect team_slave1
。
結果為(ip addr
):
10: team_master: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
link/ether ...
和
[root@machine1 ~]# teamdctl team_master state
setup:
runner: activebackup
ports:
team_slave0
link watches:
link summary: down
instance[link_watch_0]:
name: arp_ping
link: down
down count: 0
runner:
active port:
不知为何,接管并没有发生,主要原因似乎是 NetworkManager 认为被动端口已关闭,因此没有尝试将其启动。
有人遇到过类似的事情吗?有什么想法可以解决吗?使用round-robin
runner 似乎有帮助,但这不是我喜欢的方案。