systemadmin.es > Clustering > Los modos de bonding

Los modos de bonding

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 un bonding en este modo que principalmente hable con otras maquinas de otras VLANs 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 ofrece tolerancia 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.

Para configurar estos modos lo debemos hacer en el fichero /etc/modprobe.conf. Por ejemplo para configurar un bonding en modo activo-pasivo usaremos la siguiente configuración:

alias bond0 bonding
options bond0 miimon=100 mode=1

A continuación en las interfaces físicas (/etc/sysconfig/network-scripts/ifcfg-eth0) debemos definirlas como slaves. Por ejemplo, para la eth0 la definimos como slave de bond0 :

DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
MASTER=bond0
SLAVE=yes
ETHTOOL_OPTS="autoneg off speed 100 duplex full"

Y a continuación deberemos definir el bonding en el fichero /etc/sysconfig/network-scripts/ifcfg-bond0:

DEVICE=bond0
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.1.1.8
NETMASK=255.255.255.0
GATEWAY=10.1.1.254

2 comments to “Los modos de bonding”

  1. Buenas noches, el post es del año 2009 pero considero que es importante, el bonding tiene su aplicacion en entornos donde se necesita balanceo de carga, disponibilidad de la red, y rendimiento. Es una forma economica de aumentar el ancho de banda y me parece que debe implementarse mas esta técnica, ya que es como hacer un “cluster” de tarjetas de varias tarjetas de red para que trabajen como una sola, es un tema interesante y que ofrece altas prestaciones a bajo costo.

  2. Es verdad que lo veo utilizar menos de lo que se podría esperar para algo así de simple y efectivo

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>