A porta agrupada com verificação de link ativo e arp-ping falha quando uma porta morre

1

Eu tenho duas máquinas que estão interconectadas em duas portas e quero que as duas portas sejam agrupadas para ter um único link de interconexão.

Configurei o executor da equipe como activebackup e o verificador de estado do link como arp_ping . O resultado funciona e geralmente se comporta bem, mas a natureza ativa-passiva da conexão parece causar problemas em alguns cenários, deixando a porta inativa:

[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

Eu configurei a coisa toda através do NetworkManager e para reproduzir o meu problema, é o suficiente para eu levar a interface ativa em ambas as máquinas simultaneamente com nmcli dev disconnect team_slave1 .

O resultado é ( ip addr ):

10: team_master: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN qlen 1000
    link/ether ...

e

[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: 

De alguma forma, a aquisição simplesmente não aconteceu, e parece que o principal motivo é que o NetworkManager assume que a porta passiva está inativa e não tenta trazê-la para cima.

Alguém encontrou algo parecido? Alguma idéia do que fazer? Usar round-robin runner parece ajudar, mas não é o esquema que eu prefiro.

    
por immortal 07.12.2017 / 15:31

0 respostas