
Tenho uma pergunta muito específica para um ambiente de teste de tronco. Eu tenho esta configuração de rede:
+------------+ +------------+
| | +-----+ | |
| eth0 +----+ br0 +----+ eth0 |
| | +-+---+ | |
| Guest1 | | | Guest2 |
| | +-----+ | |
| eth1 +----+ br1 +----+ eth1 |
| | +---+-+ | |
+------------+ | | +------------+
+-+-+--+
| Host |
+------+
O host KVM serve duas pontes para as máquinas convidadas (/etc/network/interfaces):
auto br0
iface br0 inet manual
bridge_ports none
bridge_fd 0
bridge_stp off
auto br1
iface br1 inet manual
bridge_ports none
bridge_fd 0
bridge_stp off
As máquinas convidadas se conectam aos switches com esta configuração:
# Actual interfaces
allow-hotplug eth0 eth1
iface eth0 inet manual
iface eth1 inet manual
# Internet facing network
auto eth0.100 eth1.100
iface eth0.100 inet manual
iface eth1.100 inet manual
auto bond0
iface bond0 inet manual
bond_mode active-backup
bond_miimon 200
bond_downdelay 200
bond_updelay 200
# Something I found to make the active secondary slave listening
post-up echo 1 > /sys/devices/virtual/net/bond0/bonding/all_slaves_active
slaves eth0.100 eth1.100
auto bond0.1
address 10.110.0.10x
netmask 255.255.0.0
# Please don't ask why the three vlan is needed.
# The bonding works only if these three are defined :\
Agora meu problema é o seguinte:
O escravo primário padrão é a interface eth0.100 em ambos os convidados. Se eu desligar o escravo primário com o seguinte comando
$ ip link set eth0.100 down
O link cai de acordo com o "ip link", o bond muda o escravo primário, mas os pacotes são aceitos na interface inativa. (Descobri executando "tshark -i eth1.100" e apenas as mensagens de resposta de ping foram mostradas.)
Se eu fechar a interface na máquina host, toda a comunicação entre os convidados será interrompida. Mesmo o vínculo não reconhece a mudança.
Informação adicional:
- Não tenho nenhuma regra IPTables/EBTables para bloquear pacotes nesta interface
- Sei que o modo de transmissão ajudaria com todos os meus problemas, embora ache que isso torna a comunicação entre os dois convidados inchada. Prefiro não usar essa opção.
Questões:
- Por que "ip link set ... down" não fecha o link?
- É possível que a interferência com all_slaves_active interfira de alguma forma no status da interface?
- Existe alguma opção que eu possa ter esquecido, que torna o backup ativo ciente da mudança na interface?
- (E por que preciso das três VLANs para fazer a ligação funcionar?)
Qualquer resposta é apreciada.