Al configurar un bonding debemos decidir cual de los modos vamos a usar. Vamos a ver cuales son los que tenemos disponibles:
mode=1 (activo-pasivo)
Con este modo solo tenemos activo un slave en concreto. En el caso que este falle se pasa a usar el otro. El modo de funcionamiento nos ofrece solo tolerancia a fallos.
mode=2 (balance-xor)
Para transmitir una trama lo hace basado en el siguiente calculo: (MAC de origen XOR MAC destino)%numero de interfaces slaves. De esta manera para cada MAC de destino se selecciona una interfaz en concreto. Este modo nos ofrece balanceo de carga y tolerancia a fallos. En el caso que tengamos unbonding en este modo que principalmente hable con otras maquinas de otrasVLANs tenemos que tener en cuenta que solo usaremos una interfaz, ya que todas las conexiones a otras VLAN deben pasar por el gateway el cual se trata de otra MAC más.
mode=3 (broadcast)
Transmite todas las tramas por todas las interfaces slave. Este modo nos ofrecetolerancia a fallos.
mode=4 (802.3ad)
Se trata del estandard IEEE 802.3ad (Dynamic link aggregation) también llamado “port trunking“. Permite la definición de agregados ofreciendo alta disponibilidad y un aumento de la velocidad. Para poder configurar este modo necesitamos:
Soporte de ethtool para obtener la velocidad y el modo del interfaz.
El switch debe soportar el modo. Por ejemplo los CISCO lo soportan con el nombre port trunking.
mode=5 (balance-tlb)
Este modo transmite balanceando la carga entre los slave en función de la carga de cada slave. En el caso que uno falle la MAC salta a otro slave. Para calcular la carga de cada interfaz es necesario disponer de ethtool.
A diferencia de 802.3ad no se necesario soporte del switch para esta configuración.
Tenemos que tener en cuenta que puede producirse que los paquetes lleguen desordenados, por lo que puede ser peor el remedio que la enfermedad, especialmente en entornos de red complejos.
mode=6 (balance-alb)
Balanceo de carga tanto en el envío como en la recepción. Para el balanceo de carga en la recepción lo que se hace es manipulando los replies ARP para indicar una MAC en concreto de una de las interfaces slave.
Deberemos tener en cuenta que cualquier sistema de seguridad basado en las tablas ARP puede quejarse o simplemente tirar el puerto de la interfaz dejando el servidor sin conectividad.