BONDING El Bonding es una técnica que consiste, básicamente, en configurar dos tarjetas de red con la misma IP. Al hacer esto, conseguimos que ambas tarjetas trabajen como una sola produciendo redundancia con balanceo de carga y tolerancia a fallos en la interface. Es posible hacerlo con más tarjetas, pero yo personalmente no lo he probado. Para hacer bonding con dichas tarjetas y que se active durante el arranque, al ser un kernel que usa “sysconfig” hay que hacer los siguientes pasos: Editamos archivo de configuración /etc/modprobe.conf Y añadimos las siguientes líneas - alias bond0 bonding - options bond0 mode=modo miimon=100 mode=modo debe corresponderse con los modos aceptados por el “bonding” - mode=0 o mode=balance-rr: Configura una política de round-robin para la tolerancia de fallas y balanceo de cargas. Las transmisiones son recibidas y enviadas secuencialmente en cada interfaz esclava vinculada comenzando con la primera disponible. - mode=1 o mode=balance-xor : Configura una política de respaldo activa para la tolerancia de fallas. Las transmisiones son recibidas y enviadas a través de la primera interfaz esclava vinculada disponible. Sólo se utiliza otra interfaz esclava vinculada si la interfaz esclava activa falla. - mode=2 o mode=balance-xor: Configura una política XOR (o-exclusivo) para la tolerancia de fallas y el balanceo de cargas. Usando este método la interfaz coincide la dirección MAC de las peticiones entrantes con la dirección MAC de una de las NICs esclava. Una vez que se establece el enlace, las transmisiones son enviadas secuencialmente comenzando con la primera interfaz disponible. - mode=3 o mode=broadcast: Configura una política de difusión para la tolerancia de fallas. Las transmisiones son enviadas en todas las interfaces esclavas. - mode=4 o mode=802.3ad: Configura una política de agregación de enlace dinámico IEEE 802.3ad. Crea grupos de agregación que comparten las mismas especificaciones de velocidad y duplex. Transmite y recibe en todos los esclavos en el agregador activo. Requiere de un switch que sea conforme con 802.3ad. - mode=5 o mode=balace-tbl: Configura una política de balanceo de carga de transmisión (Transmit Load Balancing, TLB) para la tolerancia de fallas y el balanceo de cargas. El tráfico saliente es distribuido de acuerdo a la carga actual en cada interfaz esclava. El esclavo actual recibe el tráfico entrante. Si el eslavo receptor falla, otro esclavo toma la dirección MAC del esclavo fallido. - mode=6 o mode=balance-alb: Configura una política de balanceo de cargas activa (Active Load Balancing, ALB) para la tolerancia de fallas y el balanceo de cargas. Incluye el balanceo de cargas de transmisión y recepción para el tráfico IPV4. Se logra el balanceo de las cargas recibidas a través de la negociación ARP. miimon= — Especifica (en milisegundos) la frecuencia en que ocurre la supervisión MII. Esto es útil si se requiere gran disponibilidad porque MII es utilizado para verificar que la NIC está activa Para verificar que el controlador para un NIC particular es compatible con la herramienta MII, escriba el comando siguiente como root: Si se soporta MII, el comando devuelve: Link detected: yes Luego Editamos el fichero “ifcfg-bond0” y vemos que el contenido es similar al siguiente Las líneas BROADCAST, IPADDR y NETWORK debes adaptarla a las IP’s de tu red Las interfaces de red a utilizar como esclavas se configuran de la siguiente forma, considerando que se tiene eth0 y eth1, el contenido del archivo /etc/sysconfig/networkscripts/ifcfg-eth0 sería: Ahora hay que iniciar el servicio network para que tome las nuevas configuraciones y monte la nueva interface virtual (bonding) haciendo el balanceo de carga y la activación de la redundancia de red. para verificar que el bonding esta activo ejecutamos el comando ethtool bond0, como se muestra en la siguiente figura Para verificar que la interfaz lógica quedó configurada, en el caso de haber utilizado las interfaces eth0 y eth1, utilice: Por ultimo podemos verificar si las tarjetas están esclavas al bonding con el comando cat /proc/net/bonding/bond0