У меня есть две машины, которые соединены между собой через 2 порта, и я хочу, чтобы оба порта были объединены в одну линию связи.
Я настроил командного бегуна 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 вроде как помогает, но я бы предпочел не такую схему.