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.