Que es un Teaming de red ?
Un Teaming de red es, donde unimos dos o mas interfaces de red en una sola, aplicando diferentes “RUNNERS”, si viene cierto hace un tiempo hablamos de bond en el examen de certificación para RHCE se establecen comunicaciones de redundancia con teaming ya que esta basado en RHEL7.x y BOND estaba en el examen de certificación basado en RHEL6.x.
Modos de teaming :
- broadcast: Corredor simple que dirige el dispositivo del equipo para transmitir paquetes a través de todos los puertos.
- roundrobin: Corredor simple que dirige el dispositivo del equipo para transmitir paquetes de una manera round-robin.
- activebackup: Vela por cambios de enlace y selecciona el puerto activo que se utilizará para las transferencias de datos.
- loadbalance: Para hacer equilibrio de carga pasiva, el corredor sólo establece la función de hash BPF que determinará el puerto para la transmisión de paquetes. Para realizar un balanceo de carga activo, el corredor mueve los hashes entre los puertos disponibles intentando alcanzar el equilibrio perfecto.
- lacp: Implementa el protocolo LACP 802.3ad. Puede usar las mismas posibilidades de selección de puertos Tx que el corredor de equilibrio de carga.
El labs y explicación en su totalidad lo hare en un RHEL 7.4 bajo una maquina virtual con 3 tarjetas de red ens33, ens38, ens39.
ens33 ==> 192.168.92.140
ens38 ==> sin configurar
ens39 ==> sin configurar
Manual y ayuda de teamd, mas toda la configuracion de sus runners.
para revisar el estado del bondig
man teamd.conf
Configuración del teaming :
Verificamos las tarjetas de red de nuestro sistema.
[root@server1 ~]# nmcli device sDISPOSITIVO TIPO ESTADO CONEXIÓN virbr0 bridge conectado virbr0 ens33 ethernet conectado ens33 ens38 ethernet desconectado -- ens39 ethernet desconectado -- lo loopback sin gestión -- virbr0-nic tun sin gestión --
Creare una agrupación con las interfaces ens38 y ens39
1.- Creación de la conexión teaming
[root@server1 ~]# nmcli connection add type team con-name team1 ifname team1 config '{"runner": {"name": "activebackup"}}'Conexión 'team1' (74f0a909-e90c-46df-ab88-8fb4ef3cb8d4) agregada con éxito.
- nmcli connection add type team<== crea la conexión tipo team
- con-name team1 <== asigna el nombre team1 a la conexión
- ifname team1 <== asigna el nombre team1 para las interfaces
- config ‘{«runner»: {«name»: «activebackup»}}‘ <== configura el runner en este caso activebackup
Revisión de la conexión
[root@server1 ~]# nmcli connection sNOMBRE UUID TIPO DISPOSITIVO ens33 e2867aa2-97f5-4b60-8a40-cece480f3012 802-3-ethernet ens33 team1 ba4313f5-7f9d-4370-b4ca-408502530519 team team1 # esta es la conexion que acabamos de crear virbr0 03c4ba37-11f4-4631-9bcb-c87f0ff88f6b bridge virbr0
2.- Configuración de la IP
En este caso configuraremos una IP por IPV4
[root@server1 ~]# nmcli connection modify team1 ipv4.addresses 192.168.92.40/24[root@server1 ~]# nmcli connection modify team1 ipv4.method manual
- nmcli connection modify team1 ipv4.addresses 192.168.92.40/24 <== establezco la IP : 192.168.92.40/24 al team1 que creamos anteriormente
- nmcli connection modify team1 ipv4.method manual <== establezco método manual a la configuración
3.- Agregar las interfaces al teaming
[root@server1 ~]# nmcli connection add type team-slave con-name team1-slave1 ifname ens38 master team1Conexión 'team1-slave1' (f79e1ff7-086d-44f9-a916-1287437559a5) agregada con éxito.[root@server1 ~]# nmcli connection add type team-slave con-name team1-slave2 ifname ens39 master team1Conexión 'team1-slave2' (a206eb9d-c862-4a40-baa3-60bf3dbcb6fc) agregada con éxito.
- nmcli connection add type team-slave <== crea la conexión tipo slave
- con-name team1-slave1 <== establece el nombre para los slave en este caso el slave1
- ifname ens38 <== asigna la tarjeta ens38 al slave1
- master team1 <== asocia la tarjeta a nuestro team1
los mismos pasos se realizan para la tarjeta ens39 cambiando el nombre del slave y el ifname
verificación
[root@server1 ~]# nmcli connection sNOMBRE UUID TIPO DISPOSITIVO ens33 e2867aa2-97f5-4b60-8a40-cece480f3012 802-3-ethernet ens33 team1 ba4313f5-7f9d-4370-b4ca-408502530519 team team1 team1-slave1 f79e1ff7-086d-44f9-a916-1287437559a5 802-3-ethernet ens38 team1-slave2 a206eb9d-c862-4a40-baa3-60bf3dbcb6fc 802-3-ethernet ens39 virbr0 03c4ba37-11f4-4631-9bcb-c87f0ff88f6b bridge virbr0
4.- Activar la conexión
Lo primero que debemos hacer es bajar la conexion del team
[root@server1 ~]# nmcli connection down team1La conexión 'team1' fue desactivada correctamente (ruta activa D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/5)
Subimos las interfaces esclavas y revisamos nuevamente
[root@server1 ~]# nmcli connection up team1-slave1Conexión activada con éxito (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)[root@server1 ~]# nmcli connection up team1-slave2Conexión activada con éxito (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)[root@server1 ~]# ifconfig team1team1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.92.40 netmask 255.255.255.0 broadcast 192.168.92.255 inet6 fe80::6782:e164:e95c:5907 prefixlen 64 scopeid 0x20<link> ether 0e:2f:58:30:3a:75 txqueuelen 1000 (Ethernet) RX packets 3 bytes 234 (234.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 38 bytes 4693 (4.5 KiB) TX errors 0 dropped 1 overruns 0 carrier 0 collisions 0
Tambien podemos ver la integridad del teaming con los comandos de teamdctl
[root@server1 ~]# teamdctl team1 statesetup: runner: activebackup # tipo de runnerports: ens38 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 ens39 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0runner: active port: ens38 # tarjeta activa
- Podemos ver que el tipo de runner ==> runner: activebackup
- Los port ==> ens38 ens39
- El estado ==> up
- Cual es el puerto activo actual ==> active port: ens38
Comprobar si la interfaz hace backup
Para realizar esta prueba podrías desconectar la tarjeta o simplremente bajar la interfaz que este activa en el teaming
[rootserver1 ~]# nmcli connection down team1-slave1La conexión 'team1-slave1' fue desactivada correctamente (ruta activa D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/8)[root@server1 ~]# nmcli connection sNOMBRE UUID TIPO DISPOSITIVO ens33 e2867aa2-97f5-4b60-8a40-cece480f3012 802-3-ethernet ens33 team1 ba4313f5-7f9d-4370-b4ca-408502530519 team team1 team1-slave2 a206eb9d-c862-4a40-baa3-60bf3dbcb6fc 802-3-ethernet ens39 virbr0 03c4ba37-11f4-4631-9bcb-c87f0ff88f6b bridge virbr0 team1-slave1 f79e1ff7-086d-44f9-a916-1287437559a5 802-3-ethernet -- [root@server1 ~]# teamdctl team1 statesetup: runner: activebackupports: ens39 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0runner: active port: ens39
con esta prueba hemos bajado la interface ens38 y a levantado automáticamente la ens39 quedando como la port activa
Ahora si volvemos a levantar la interface 1
[root@server1 ~]# nmcli connection up team1-slave1Conexión activada con éxito (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/11)[root@server1 ~]# teamdctl team1 statesetup: runner: activebackupports: ens38 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0 ens39 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0runner: active port: ens39
Ambas tarjetas estan UP pero el activo sigue siendo la ens39, ahora si bajamos la interface2 deberia pasar la interface1 a activa
[root@server1 ~]# nmcli connection down team1-slave2La conexión 'team1-slave2' fue desactivada correctamente (ruta activa D-Bus: /org/freedesktop/NetworkManager/ActiveConnection/10)[root@server1 ~]# teamdctl team1 statesetup: runner: activebackupports: ens38 link watches: link summary: up instance[link_watch_0]: name: ethtool link: up down count: 0runner: active port: ens38
Volcado de la información del team
[root@server1 ~]# teamdctl team1 config dump{ "device": "team1", "hwaddr": "0E:2F:58:30:3A:75", "mcast_rejoin": { "count": 1 }, "notify_peers": { "count": 1 }, "ports": { "ens38": { "link_watch": { "name": "ethtool" } }, "ens39": { "link_watch": { "name": "ethtool" } } }, "runner": { "name": "activebackup" }}
Con todos estos pasos queda claro como funciona la agrupación de redes en modo teaming, solo deben llevarlo a sus consolas y realizar las pruebas.
No hay comentarios.:
Publicar un comentario