Назад | Перейти на главную страницу

Объединенный порт с активным резервным копированием и проверкой ссылок arp-ping не работает, когда один порт умирает

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