Bonding en Linux for Dummies

En internet es bastante fácil encontrar información sobre como configurar Bonding en nuestros entornos Linux, sin embargo es habitual que en muchos de esos artículos se confundan conceptos, por ejemplo:

  • ¿Existe más de un tipo de Bonding?
  • ¿Es el Bonding lo mismo que el LACP?
  • ¿Requiere configuración en el lado del Switch?
  • ¿Son los distintos modos compatibles con virtualización basada en KVM?
  • ¿Es lo mismo Bonding que Teaming?
  • Etc.

En esta entrada intentaremos desmitificar/corregir algunos de estos conceptos.

 

¿Existe más de un tipo de Bonding?

 

La respuesta es SI, tenemos 6 tipos de Bonding:

  1. Modo 1 (Active-Backup policy: este es el método más sencillo. En el se configura un único interfaz como activo y el resto como Backup. Los interfaces de Backup (1 cada vez) solo entran en acción ante un fallo del interfaz activo. Para evitar confundir al switch y provocar situaciones de “flapeo” de MACs, la MAC del interfaz Bond solo será visible en el puerto del interfaz activo, moviéndose a los puertos de las interfaces Backup, cuando estas se vuelven activas.
  2. Modo 2 (XOR policy): este modo selecciona un interfaz para transmitir los paquetes, en función del resultado de una operacion XOR entre la dirección MAC origen y destino, de esta manera tenemos balanceo de carga y garantizamos que para un mismo origen/destino se usa el mismo interfaz.
  3. Modo 3 (Broadcast): todo el tráfico se transmite por todos los interfaces. Ofrece protección frente a fallos, pero poco más y como es evidente es el menos usado.
  4. Modo 4 (IEEE 802.3ad policy): en este modo se crean grupos de agregación de interfaces en los que se comparten parametros de configuración como la velocidad y el modo Duplex. Todos los interfaces son activos de acuerdo al estándar IEEE 802.3ad
  5. Modo 5 (adaptive transmit load balancing policy): en este modo el balanceo de carga se realiza conforme al tráfico de salida registrado en cada interfaz, asegurando que es el mismo interfaz de salida el que recibe la trafico incoming. Por supuesto si el interfaz falla, otro recibirá el tráfico.
  6. Modo 6 (balance-alb): en este modo se balancea tanto la emisión como la recepción de los paquetes, par alo cual se manipulan los replies ARP, indicando un interfaz Slave concreto. Mucho ojo, si lo usamos con sistemas de seguridad que validen MACs.
     

 

¿Es el Bonding lo mismo que el LACP?

 

Como podéis intuir del punto anterior No, no es lo mismo. LACP o el estándar 802.3ad es uno de los posibles modos de Bonding, pero no el único, por tanto NO es cierto estrictamente la afirmación Bonding=LACP

 

Link Aggregation

<Fuente Wikipedia>

 

¿Requiere configuración en el lado del Switch?

 

Unicamente el modo 4 (LACP ó 802.3ad) requiere configuración en el lado del Switch.

 

¿Son los distintos modos compatibles con virtualización basada en KVM?

 

Si, los distintos modos son compatibles con las soluciones de virtualización basadas en KVM que podemos usar en nuestros entornos Linux.

 

¿Es lo mismo Bonding que Teaming?

 

Este es uno de los grandes errores que se cometen habitualmente. El Bonding y el Teaming son cosas DISTINTAS y se implementan con drivers para el Kernel de Linux totalmente distintos.

 

A continuación os dejo una pequeña table resumen elaborada por RedHat con las principales diferencias entre ambos drivers.

 

Bonding vs Teaming

 

Si queréis información adicional sobre el driver de Bonding en el Kernel de Linux, os recomiendo la correspondiente entrada en Kernel.org, que podéis consultar aquí.

 

Espero que la entrada os haya resultado de interés.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *