jueves, abril 12, 2007

Howto Bonding Linux Box

En este post voy a explicar como configurar un Linux para que haga bonding.
¿Bonding?
Si, es el metodo para tratar una o varias tarjetas como una sola, ganando asi tolerancia a fallos y/o rendimiento.

Modulos del Kernel:
bonding

Este modulo lo podemos encontrar en Device Drivers, Network Device support, Bonding driver support.
Una vez activado, procemos a compilar los modulos y a instalarlos.
# make modules; make modules_install

y ya.

Herramientas de usuario:
El paquete se llama ifenslave, hay dos, uno para 2.4 y otro para 2.6, yo he instalado ifenslave-2.6 ya que utilizo el kernel 2.6.20.

Los pasos a seguir son: cargar modulo, levantar interfaz bond0 y añadir dispositivos al bond0.

Para probar podemos cargar el modulo:
# modprobe bonding

ahora levantamos bond0:
#ifconfig bond0 192.168.1.1
ahora añadimos eth0 y eth1 a bond0;
ifenslave bond0 eth0 eth1

y con esto ya tenemos que tener salida a internet.

Bien ahora voy a comentar archivos de configuración que he tocado

/etc/modutils/aliases
alias bond0 bonding
options bonding mode=0 miimon=100

Con estas opciones se pone en modo 0, hace round-robin y el timeout es de 1 decima.

/etc/network/interfaces
auto bond0
iface bond0 inet dhcp
hwaddress ether 00:05:69:0E:02:7D
post-up ifenslave bond0 eth0 eth1
pre-down ifenslave -d bond0 eth0 eth1

ojito que en este fichero no debe aparecer configuracion sobre eth0 y eth1, solo de bond0.

/etc/modules

bonding

Con esto, la maquina ya debe arrancar y configurarse bien, ojito que la configuracion que utilizo es para coger ip dinamica, para estatica hay que indicarlo como si de un interfaz normal se tratase.

Referencias:
http://linux-net.osdl.org/index.php/Bonding#Bonding_Driver_Options
http://www.howtoforge.com/network_bonding_ubuntu_6.10