Cómo instalar y configurar la vinculación de red o la formación de equipos en RHEL / CentOS 7 - Parte 11


Cuando un administrador del sistema desea aumentar el ancho de banda disponible y proporcionar redundancia y equilibrio de carga para las transferencias de datos, una función del kernel conocida como enlace de red permite realizar el trabajo de manera rentable.

Obtenga más información sobre cómo aumentar o limitar el ancho de banda en Linux

- TecMint.com (@tecmint) 17 de septiembre de 2015

En palabras simples, la vinculación significa agregar dos o más interfaces de red físicas (llamadas esclavas) en una única lógica (llamada maestra). Si una NIC (tarjeta de interfaz de red) específica experimenta un problema, las comunicaciones no se ven afectadas significativamente mientras las otras permanezcan activas.

Lea más sobre la vinculación de redes en sistemas Linux aquí:

  1. Network Teaming or NiC Bondin in RHEL/CentOS 6/5
  2. Network NIC Bonding or Teaming on Debian based Systems
  3. How to Configure Network Bonding or Teaming in Ubuntu

Habilitación y configuración de la formación de equipos o enlaces de red

De forma predeterminada, el módulo de enlace del núcleo no está habilitado. Por lo tanto, tendremos que cargarlo y asegurarnos de que sea persistente en los inicios. Cuando se usa con la opción --first-time , modprobe nos alertará si falla la carga del módulo:

# modprobe --first-time bonding

El comando anterior cargará el módulo de vinculación para la sesión actual. Para garantizar la persistencia, cree un archivo .conf dentro de /etc/modules-load.d con un nombre descriptivo, como /etc/modules-load .d/bonding.conf :

# echo "# Load the bonding kernel module at boot" > /etc/modules-load.d/bonding.conf
# echo "bonding" >> /etc/modules-load.d/bonding.conf

Ahora reinicie su servidor y una vez que se reinicie, asegúrese de que el módulo de vinculación se cargue automáticamente, como se ve en la Fig.1:

En este artículo usaremos 3 interfaces ( enp0s3 , enp0s8 y enp0s9 ) para crear un enlace, llamado convenientemente bond0 .

Para crear bond0 , podemos usar nmtui, la interfaz de texto para controlar NetworkManager. Cuando se invoca sin argumentos desde la línea de comando, nmtui muestra una interfaz de texto que le permite editar una conexión existente, activar una conexión o establecer el nombre de host del sistema.

Elija Editar conexión -> Agregar -> Enlace como se ilustra en la Fig.2:

En la pantalla Editar conexión, agregue las interfaces esclavas ( enp0s3 , enp0s8 y enp0s9 en nuestro caso) y déles un (Perfil) descriptivo nombre (por ejemplo, NIC # 1 , NIC # 2 y NIC # 3 , respectivamente).

Además, deberá establecer un nombre y dispositivo para el enlace ( TecmintBond y bond0 en la Fig. 3, respectivamente) y una dirección IP para bond0 , ingrese una dirección de puerta de enlace y las direcciones IP de los servidores DNS.

Tenga en cuenta que no es necesario que ingrese la dirección MAC de cada interfaz, ya que nmtui lo hará por usted. Puede dejar todas las demás configuraciones como predeterminadas. Consulte la Fig. 3 para obtener más detalles.

Cuando haya terminado, vaya a la parte inferior de la pantalla y elija Aceptar (ver Fig. 4):

Y tu estas listo. Ahora puede salir de la interfaz de texto y regresar a la línea de comando, donde habilitará la interfaz recién creada usando el comando ip:

# ip link set dev bond0 up

Después de eso, puede ver que bond0 está UP y se le asigna 192.168.0.200, como se ve en la Fig.5:

# ip addr show bond0

Prueba de la vinculación de redes o la formación de equipos en Linux

Para verificar que bond0 realmente funciona, puede hacer ping a su dirección IP desde otra máquina o, lo que es aún mejor, ver la tabla de la interfaz del kernel en tiempo real (bueno, el tiempo de actualización en segundos viene dado por el -n opción) para ver cómo se distribuye el tráfico de red entre las tres interfaces de red, como se muestra en la Fig.6.

La opción -d se usa para resaltar los cambios cuando ocurren:

# watch -d -n1 netstat -i

Es importante señalar que existen varios modos de unión, cada uno con sus características distintivas. Están documentados en la sección 4.5 de la guía de administración de red de Red Hat Enterprise Linux 7. Dependiendo de tus necesidades, elegirás uno u otro.

En nuestra configuración actual, elegimos el modo Round-robin (ver Fig. 3), que asegura que los paquetes se transmitan comenzando con el primer esclavo en orden secuencial, terminando con el último esclavo y comenzando con el primero nuevamente.

La alternativa Round-robin también se llama modo 0 y proporciona equilibrio de carga y tolerancia a fallas. Para cambiar el modo de enlace, puede usar nmtui como se explicó anteriormente (vea también la Fig.7):

Si lo cambiamos a Active Backup, se nos pedirá que elijamos un esclavo que será la única interfaz activa en un momento dado. Si dicha tarjeta falla, uno de los esclavos restantes ocupará su lugar y se activará.

Elija enp0s3 como esclavo principal, baje y suba bond0 , reinicie la red y muestre la tabla de la interfaz del kernel (ver Fig. 8).

Observe cómo las transferencias de datos (TX-OK y RX-OK) ahora se realizan a través de enp0s3 únicamente:

# ip link set dev bond0 down
# ip link set dev bond0 up
# systemctl restart network

Alternativamente, puede ver el enlace como lo ve el kernel (ver Fig.9):

# cat /proc/net/bonding/bond0

Resumen

En este capítulo, hemos discutido cómo instalar y configurar la vinculación en Red Hat Enterprise Linux 7 (también funciona en CentOS 7 y Fedora 22+) para aumentar el ancho de banda junto con el equilibrio de carga y la redundancia para transferencias de datos.

A medida que se tome el tiempo para explorar otros modos de vinculación, llegará a dominar los conceptos y la práctica relacionados con este tema de la certificación.

Si tiene preguntas sobre este artículo o sugerencias para compartir con el resto de la comunidad, no dude en hacérnoslo saber mediante el formulario de comentarios a continuación.