Hi there,
I am seeing a loss of connectivity after bond failover of an active-backup bond to two switches. My setup is as follows:
The LACP inter switch connection is working fine and connectivity with only a single bond slave as well.
My bond configuration is basically this:
Now the following seems to happen / is used for testing:
* The client pings a VM on the proxmox server
* I pull the primary cable to test the failover
*
* Ping no longer gets answers
* Looking into the mac address table on switch2 I see that the MAC of the VM is still bound to the inter switch trunk
* Reattaching the primary cable results in ping to get answers again
This kinda makes sense since the MAC address table on the switch has not had a reason for an update yet. So what to do? One thing I can imagine is utilizing qemu's monitor feature to send an
* Are those assumptions correct?
* Assuming they are correct are there any good ways to monitor bond failover (short of polling
* Is this something which would make sense to add to proxmox itself? The setup on it's own doesn't seem to be that uncommon; so I am wondering why noone else is seeing this (or are they and I just couldn't find it in the forum).
Thanks,
Florian
I am seeing a loss of connectivity after bond failover of an active-backup bond to two switches. My setup is as follows:
Code:
+-------+ +-------+
|switch1|----(inter switch lacp trunk)---|switch2|----client
+-------+ +-------+
| |
| primary +-------+ backup |
---------------|proxmox|------------------
+-------+
The LACP inter switch connection is working fine and connectivity with only a single bond slave as well.
My bond configuration is basically this:
Code:
auto enp65s0f0
iface enp65s0f0 inet manual
auto enp65s0f1
iface enp65s0f1 inet manual
auto bond2
iface bond2 inet manual
bond-slaves enp65s0f0 enp65s0f1
bond-miimon 100
bond-mode active-backup
bond-primary enp65s0f0
#VM-01
auto vmbr0
iface vmbr0 inet manual
bridge-ports bond2
bridge-stp off
bridge-fd 0
bridge-vlan-aware yes
bridge-vids 2-4094
#VM-BRIDGE-01
Now the following seems to happen / is used for testing:
* The client pings a VM on the proxmox server
* I pull the primary cable to test the failover
*
/proc/net/bonding/bond2
confirms the bond fails over properly* Ping no longer gets answers
* Looking into the mac address table on switch2 I see that the MAC of the VM is still bound to the inter switch trunk
* Reattaching the primary cable results in ping to get answers again
This kinda makes sense since the MAC address table on the switch has not had a reason for an update yet. So what to do? One thing I can imagine is utilizing qemu's monitor feature to send an
announce_self
for all the VMs running when the bond fails over (I think qemu does this after live migration as well). This would result in GARP brodcasted and would force all switches in the broadcast domain to update their records.* Are those assumptions correct?
* Assuming they are correct are there any good ways to monitor bond failover (short of polling
/proc/net/bonding/bond2
) so I can script this myself? * Is this something which would make sense to add to proxmox itself? The setup on it's own doesn't seem to be that uncommon; so I am wondering why noone else is seeing this (or are they and I just couldn't find it in the forum).
Thanks,
Florian