¿Por qué agregar interfaces de red (vinculación de interfaz)?
Las dos razones importantes para crear un enlace de interfaz son:
1. Para proporcionar un mayor ancho de banda
2. Para proporcionar redundancia ante fallas de hardware
Uno de los requisitos previos para configurar un enlace es tener un conmutador de red compatible con Etherchannel (que es cierto en el caso de casi todos los conmutadores).
Modos de vinculación
Dependiendo de sus requisitos, puede configurar el modo de vinculación en cualquiera de los 7 modos a continuación. El modo de vinculación se puede establecer en el archivo de red de la interfaz de vinculación /etc/sysconfig/network-scripts/ifcfg-bond0 como a continuación:
BONDING_OPTS="mode=active-backup miimon=250"
o
BONDING_OPTS="mode=1 miimon=250"
Modo | Política | Cómo funciona | Tolerancia a fallos | Equilibrio de carga |
---|---|---|---|---|
0 | Round Robin | los paquetes se transmiten/reciben secuencialmente a través de cada interfaz uno por uno. | No | Sí |
1 | Copia de seguridad activa | una NIC activa mientras otra NIC está inactiva. Si la NIC activa deja de funcionar, se activa otra NIC. solo se admite en entornos x86. | Sí | No |
2 | XOR [OR exclusivo] | En este modo, la dirección MAC de la NIC esclava se compara con la MAC de la solicitud entrante y, una vez que se establece esta conexión, se utiliza la misma NIC para transmitir/recibir para la MAC de destino. | Sí | Sí |
3 | Transmitir | Todas las transmisiones se envían a todos los esclavos | Sí | No |
4 | Agregación de enlaces dinámicos | Las NIC agregadas actúan como una NIC, lo que da como resultado un mayor rendimiento, pero también proporciona conmutación por error en caso de que falle una NIC. La agregación de enlaces dinámicos requiere un conmutador compatible con IEEE 802.3ad. | Sí | Sí |
5 | Equilibrio de carga de transmisión (TLB) | El tráfico saliente se distribuye según la carga actual en cada interfaz esclava. El esclavo actual recibe el tráfico entrante. Si el esclavo receptor falla, otro esclavo asume la dirección MAC del esclavo fallido. | Sí | Sí |
6 | Equilibrio de carga adaptativo (ALB) | A diferencia de la Agregación de enlaces dinámicos, el Equilibrio de carga adaptativo no requiere ninguna configuración de conmutador en particular. El Equilibrio de carga adaptable solo se admite en entornos x86. La carga de los paquetes recibidos se equilibra a través de la negociación ARP. | Sí | Sí |
Configuración de un enlace de interfaz
Para esto tenemos que crear un archivo /etc/sysconfig/network-scripts/ifcfg-bond0 con el siguiente contenido:
# vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=10.10.1.10 NETMASK=255.255.255.0 BONDING_OPTS="miimon=100"En RHEL6, configure los parámetros de vinculación en ifcfg-bondX en lugar del archivo /etc/modprobe.d/bonding.conf. El beneficio es que esos parámetros se pueden cambiar por interfaz de vinculación durante el proceso de inicialización de la interfaz, en lugar del proceso de inicialización del controlador de vinculación. Es decir, el cambio de parámetros ya no requiere que se vuelva a cargar el controlador de vinculación. Esto ayuda a reducir la interrupción de la red en todo el sistema mientras se realizan algunos pequeños cambios en las interfaces de enlace.
BONDING_OPTS - Specify bonding module parameters, e.g. miimon - link polling interval for fault detection (in ms)
Como hemos configurado la interfaz de enlace con la dirección IP y la máscara de red, no necesitamos especificarlos en los archivos de interfaces individuales que componen el enlace.
Utilizaríamos em0 y em1 como interfaces esclavas para crear la interfaz de enlace bond0. Las líneas MASTER y SLAVE definen las interfaces de vinculación maestras bond0 y em0/em1 como interfaces esclavas.
# vi /etc/sysconfig/network-scripts/ifcfg-em0 DEVICE=em0 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
# vi /etc/sysconfig/network-scripts/ifcfg-em1 DEVICE=em1 BOOTPROTO=none ONBOOT=yes MASTER=bond0 SLAVE=yes
El archivo de configuración /etc/modprobe.conf está obsoleto en RHEL 6 y los archivos de configuración ahora se encuentran en el directorio /etc/modprobe.d. El archivo de configuración anterior aún es compatible, pero no se recomienda. Cree un nuevo archivo bonding.conf en el directorio /etc/modprobe.d para decirle al kernel que debe usar el controlador de enlace para el nuevo dispositivo bond0.
# vi /etc/modprobe.d/bond.conf alias bond0 bonding
Reinicie los servicios de red para habilitar la interfaz de vinculación.
# service network restart
En caso de que no desee reiniciar el servicio de red, puede conectar la interfaz de vinculación individualmente:
# ifup bond0
Verifique la nueva interfaz en la salida del comando ifconfig:
# ifconfig bond0 bond0 Link encap:Ethernet HWaddr 00:0C:29:9B:FD:2B inet addr:10.10.1.10 Bcast:10.10.1.1 Mask:255.255.255.0 inet6 addr: fe80::20c:29ff:fe9b:fd2b/64 Scope:Link UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:39 errors:0 dropped:0 overruns:0 frame:0 TX packets:34 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:13875 (13.5 KiB) TX bytes:3446 (3.3 KiB)
Para verificar si el módulo de vinculación está cargado correctamente:
# lsmod |grep bond bonding 122351 0
Para comprobar qué interfaz está actualmente activa (en caso de modo de copia de seguridad activa):
# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: em0 MII Status: up MII Polling Interval (ms): 100 Up Delay (ms): 5000 Down Delay (ms): 5000 Slave Interface: em0 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:21:28:b2:65:26 Slave queue ID: 0 Slave Interface: em1 MII Status: up Speed: 1000 Mbps Duplex: full Link Failure Count: 0 Permanent HW addr: 00:21:28:b2:65:27 Slave queue ID: 0
En caso de que desee probar si la vinculación está configurada correctamente, desactive una interfaz activa (em0 aquí) de la vinculación. Seguirá encontrando que la interfaz de vinculación sigue siendo accesible.
# ifdown em0RedHat / CentOS:cómo cambiar la interfaz esclava actualmente activa de enlace en línea