enchufado
   RSS
#
Bonding en GNU/Linux (GNU/Linux) 2010-03-12 10:43:36

Antes de nada, ¿qué es el bonding? Como podemos encontrar en la Wikipedia, el channel bonding es un apaño para obtener redundancia y/o ampliar el ancho de banda de un ordenador conectado en red mediante la configuración apropiada de dos o más dispositivos de red.

Prerrequisitos (para Debian GNU/Linux, claro :) ):

  • Tener bonding habilitado en el kernel (drivers/net/bonding). Los binarios precompilados del kernel ya lo traen por defecto.
  • Tener/instalar ifenslave.
  • Tener -al menos- dos interfaces de red.

El bonding es un mundo lleno de opciones, pero nos vamos a centrar en los 2 parámetros básicos de carga del módulo:

  • mode: define la finalidad de nuestro bonding. Puede ser balance-rr, active-backup, balance-xor, broadcast, 802.3ad, balance-tlb o balance-alb.
  • miimon: define los milisegundos tras los cuales se debe revisar cada interfaz en búsqueda de caídas de cada enlace.

Pongamos un pequeño ejemplo. Queremos que una máquina con 2 interfaces de red tenga una de ellas de reserva, para que en caso de que una deje de funcionar (por la causa que sea: rotura/disfunción del hardware, problema de red..), salte automáticamente la otra:

modprobe bonding mode=active-backup miimon=100
ifconfig bond0 192.168.1.5 netmask 255.255.255.0 up
ifenslave bond0 eth0 eth1

Para visualizar cómo va el proceso o detectar posibles errores, se recomienda lanzar un tail -f /var/log/messages en otra ventana. En este caso hemos usado ifenslave, pero también puede hacerse, al menos, a través de sysfs (dentro de la rama /sys/class/net/). La consulta de datos acerca del bond puede hacerse además a través del subsistema de ficheros proc (/proc/net/bonding/). ¿Cómo lo probamos? Dejando tirado un ping desde otra máquina contra la que dispone de bonding, y desconectando el cable de red de la interfaz master/primaria del bond.

Para quien quiera profundizar en el tema, puede leerse la documentación en el kernel, en la ruta Documentation/networking/bonding.txt (que también puede verse aquí).


Comentarios (1)


Volver al indice

login, admin, form, register