Howto: Bonding de placas en SuSe Linux Enterprise

Bien, subo un howto adicional para colocar placas de red en bonding en SuSe Linux Enterprise Server, y debería funcionar igual en cualquier Suse 9.x en adelante.

El procedimiento es más bien lineal, sin ninguna complicación pero deberías tener en cuenta los requerimientos de tus sistemas y ponerlos en relación al esquema de bonding que elijas.

El howto

1) Configurar eth0 y eth1 en dhcp o estáticas con ip cualesquiera. Esto creará dos archivos con el formato “ifcfg-ethX-id-MAC” en el directorio /etc/sysconfig/network.

Se obtendrá adicionalmente el parámetro “UNIQUE” que es autogenerado por SuSe para cada placa dentro de cada “ifcfg-ethX-id-MAC”, y que es necesario para la configuración bonding.

2) Modificar el archivo /etc/modprobe.conf.local y agregar la linea:

alias bond0 bonding

Esto habilitará el dispositivo /dev/bond0, necesario para habilitar a nivel S.O. el uso de bonding para las interfaces que se quiera “atachar” a él (dos o más). Para que tenga efecto en la configuración del sistema operativo hay que reiniciarlo.

3) Detectar los datos requeridos de las interfaces (comando y resultado esperado):

lspci | grep bus-pci ifcfg-eth-id—xx: xx:xx:xx:xx:01
_nm_name=’bus-pci-0000:00:09.0’

lspci | grep bus-pci ifcfg-eth-id—xx: xx:xx:xx:xx:02
_nm_name=’bus-pci-0000:00:0e.0’

Estos comandos revelarán la misma información que puede verse en el nombre mismo de los archivos creados en el paso 1).

4) Copiar la configuración de eth0 a un nuevo archivo en /etc/sysconfig/network y llamarlo ifcfg-bond0.

5) Editar ifcfg-bond0 para que tenga el siguiente contenido:

BOOTPROTO=´static´
BROADCAST=´10.100.200.255´
IPADDR=´10.100.200.xxx´
MTU=´´
NETMASK=´255.255.255.0´
NETWORK=´10.100.200.0´
REMOTE_IPADDR=´´
STARTMODE=´onboot´
BONDING_MASTER=´yes´
UNIQUE=´´
_nm_name=’bus-pci-0000:0x:0x.0′ (bus de eth0)
BONDING_SLAVE_0=’bus-pci-0000:0x:0x.0′ (bus de eth0)
BONDING_SLAVE_1=’bus-pci-0000:0x:0x.0′ (bus de eth1)
BONDING_MODULE_OPTS=’miimon=100 mode=0 use_carrier=0′

El parámetro UNIQUE sí estará presente en tu archivo y vendrá del archivo original que usaste en el paso 4) y es el que pertenece a eth0.

Evidentemente los datos dependen de la ip disponible (IPADDR) y la red que elijas para tu configuración de bonding, aquí tienes otro ejemplo:

BROADCAST=´192.168.20.255´
IPADDR=´192.168.20.1´
MTU=´´
NETMASK=´255.255.255.0´
NETWORK=´192.168.20.0´
REMOTE_IPADDR=´´

6) ELIMINAR los archivos de configuracion anteriores:

ifcfg-eth-id–xx:xx:xx:xx:xx:01
ifcfg-eth-id–xx:xx:xx:xx:xx:02

7) Reiniciar la red manualmente:

/etc/init.d/network restart

Notas:
En SLES 9.x al reinicio y durante el booteo del S.O. si bien el bonding es configurado exitosamente, se muestra un error por pantalla relacionado con el error en la carga de cierto módulo del kernel directamente vinculado al bonding. Luego de las pruebas y verificación de que el bonding funciona bien a pesar del error la conclusión es que el error se da debido al intento del S.O. de cargar el módulo antes de tener habilitado el dispositivo /dev/bond0, y luego no se da ningún comportamiento erróneo en el bonding porque el módulo es cargado automáticamente por el script de arranque de la red /etc/init.d/network.

Claro que esto es una idea puramente visual (de ver el error y saber cómo funciona la carga de módulos en SLES y Linux en general), y podría darse una explicación alternativa e igualmente inocua para el bonding.

Conclusión
Hace falta agregar aquí datos adicionales de los modos disponibles para bonding, pero creo con un googleazo estarás decidiendo bien. La idea básica de este howto la obtuve googleando, aunque lo más lo saqué de aquí:

http://en.opensuse.org/Bonding

Escribe un comentario

Tienes que iniciar sesión para escribir un comentario.