La formación de equipos NIC es el concepto de combinar o vincular 2 o más interfaces de red en una interfaz lógica para proporcionar un alto rendimiento y redundancia. Esta práctica es popular especialmente con servidores críticos donde se espera una alta disponibilidad en todo momento. En un servidor con 2 o más NIC tarjetas, el concepto de formación de equipos NIC es fundamental en caso de que falle una tarjeta NIC. Con la formación de equipos de NIC, la interfaz de red lógica garantizará que el NIC restante continúe funcionando y sirviendo al propósito del NIC defectuoso. En esta guía, lo guiaremos a través de la configuración de equipos de NIC en CentOS 8 y RHEL 8.
Echemos un vistazo a algunos de los conceptos alrededor
- en equipo – Este es un demonio que le permite configurar una interfaz de red de equipo. Teamd es parte del proyecto libteam y aprovecha la biblioteca libteam para implementar el equilibrio de carga y la lógica de turnos.
- equipodctl – Esta es una herramienta de utilidad para consultar una instancia de teamd para obtener información de configuración y estadísticas detalladas.
- corredores – Estas son unidades de código distintas en formato JSON que se utilizan para implementar diferentes conceptos de formación de equipos NIC, como Round robbin.
Los corredores existen en los siguientes modos:
- todos contra todos: En este modo, los datos se transmiten por turnos a través de todos los puertos.
- Transmisión: Aquí los datos se transmiten a través de todos los puertos.
- Equilibrio de carga: el tráfico se distribuye entre todas las NIC.
- Copia de seguridad activa: Donde un enlace o puerto está activado ya que el resto están reservados como respaldo. Esto se usa para la conmutación por error para proporcionar redundancia, como veremos más adelante en esta guía.
- lacp: utiliza el protocolo 802.3ad para la agregación de enlaces
Ahora avancemos y configuremos la formación de equipos NIC en CentOS 8.
Paso: 1) Instalar el demonio Teamd
Teamd es el demonio que hace posible la configuración de redes de equipo. Con mucho gusto, CentOS 8 viene con el daemon ya instalado. Si por alguna razón falta teamd en su sistema CentOS 8 / RHEL 8, ejecute el comando:
$ sudo dnf install teamd
Una vez completada su instalación, puede recopilar información detallada sobre teamd ejecutando el comando:
$ rpm -qi teamd
Paso: 2) Configure la formación de equipos NIC con la herramienta nmcli
Nmcli es una utilidad de línea de comandos que se utiliza para administrar NetworkManager. Pero primero, verifiquemos las interfaces de red adjuntas en nuestro sistema. Ejecute el comando
$ nmcli device status
De la salida anterior, hay 2 conexiones ethernet y 1 conexión Wi-Fi en el sistema. Voy a utilizar dispositivos de red enp0s3 y enp0s8 como conexiones esclavas.
También puedes usar el comando:
$ nmcli connection show
Por lo tanto, voy a eliminar los dispositivos de red enp0s3 y enp0s8 que se utilizarán como dispositivos esclavos utilizando la sintaxis
$ conexión nmcli eliminar UUID
Entonces, proceda y ejecute los comandos:
$ nmcli connection delete a2533841-93bf-4a78-9c84-4f7e8669e92f $ nmcli connection delete 77c70d70-2fb2-4a19-bc02-d71b49a6ffac
Después de la eliminación, los dos dispositivos de red ahora deberían estar desconectados. Puede verificar esto ejecutando:
$ nmcli device status
Ahora vamos a crear una nueva interfaz de equipo y llamarla bond0
$ nmcli connection add type team con-name bond0 ifname bond0 config '{"runner": {"name": "activebackup"}}'
El valor ‘copia de seguridad activa‘ es un corredor que se puede reemplazar con round-robin, broadcast, random o lacp.
La configuración se adjunta en el /etc/sysconfig/red-scripts/ifcfg-team-bond0 Archivo. Para echar un vistazo a otros valores asignados, ejecute el comando:
$ nmcli con show bond0
Para ver las interfaces que acabamos de configurar, ejecute el comando:
$ nmcli connection show
Ahora tenemos una interfaz bond0. Tenga en cuenta que las interfaces enp0s3 y enp0s8 no aparecen en la lista porque las eliminamos anteriormente.
A continuación, configure el direccionamiento IP y las entradas de DNS en la interfaz del equipo y asegúrese de que se conecte automáticamente.
$ nmcli con mod bond0 ipv4.addresses 192.168.43.100/24 $ nmcli con mod bond0 ipv4.gateway 192.168.43.1 $ nmcli con mod bond0 ipv4.dns 8.8.8.8 $ nmcli con mod bond0 ipv4.method manual $ nmcli con mod bond0 connection.autoconnect yes
A continuación, agregue los esclavos de la red a la interfaz del equipo.
$ nmcli con add type team-slave con-name bond0-slave0 ifname enp0s3 master bond0 $ nmcli con add type team-slave con-name bond0-slave1 ifname enp0s8 master bond0
Para ver la interfaz del equipo y los esclavos, vuelva a ejecutar el comando:
$ nmcli connection show
Finalmente reinicie la interfaz del equipo.
$ nmcli connection down bond0 && nmcli connection up bond0
Para ver la interfaz del equipo, use el comando:
$ ip address show dev bond0
Utilice el comando teamdctl para recopilar detalles más precisos sobre la interfaz del equipo
$ sudo teamdctl bond0 state
Del resultado anterior, podemos ver claramente que tenemos 2 enlaces que están activos: enp0s3 y enp0s8 y el puerto activo es enp0s3.
Prueba de la funcionalidad de Active-Backup Teaming
Para probar la redundancia de Active-backup, vamos a desactivar el puerto activo etiquetado como enp0s3 y verificar si el otro enlace aparecerá.
$ nmcli device disconnect enp0s3 $ sudo teamdctl bond0 state
Como puedes ver, enlace enp0s8 se ha activado y ahora es el puerto activo. Esto sucede en cuestión de milisegundos y muestra que incluso cuando un enlace está inactivo por una razón u otra, el otro enlace seguirá manteniendo la conectividad con el servidor.
Hacer ping a la puerta de enlace predeterminada y al DNS también arrojará un resultado positivo.
En este punto, configuramos con éxito la formación de equipos NIC y probamos la función de redundancia utilizando el corredor Active-Backup.
Cómo eliminar un equipo
El primer paso para eliminar un equipo es desactivar para desactivar la interfaz del equipo.
$ nmcli connection down bond0
A continuación, proceda y elimine los esclavos como se muestra
$ nmcli connection delete bond0-slave0 bond0-slave1
Finalmente elimine el equipo que se creó.
$ nmcli connection delete bond0
Esto nos lleva al final de esta guía sobre cómo puede configurar la formación de equipos NIC en CentOS 8.