Búsqueda de sitios web

Vinculación de canales Ethernet, también conocida como NIC Teaming en sistemas Linux


Ethernet Channel Bonding permite dos o más tarjetas de interfaz de red (NIC) a una única tarjeta NIC virtual, lo que puede aumentar el ancho de banda y proporciona redundancia de tarjetas NIC. Esta es una excelente manera de lograr enlaces redundantes, tolerancia a fallas o redes de equilibrio de carga en el sistema de producción. Si una NIC física está inactiva o desconectada, automáticamente moverá recursos a otra tarjeta NIC. La vinculación de Canal/NIC funcionará con la ayuda del controlador de vinculación en el Kernel. Usaremos dos NIC para demostrar lo mismo.

Hay casi seis tipos de Channel Bond disponibles. Aquí, revisaremos sólo dos tipos de Channel Bond que son populares y ampliamente utilizados.

  1. 0: Equilibrio de carga (Round-Robin): el tráfico se transmite en orden secuencial o de forma circular desde ambas NIC. Este modo proporciona equilibrio de carga y tolerancia a fallos.
  2. 1: Copia de seguridad activa: solo hay una NIC esclava activa en un momento dado. Otra tarjeta de interfaz estará activa solo si falla la NIC esclava activa.

Creación de enlace de canales Ethernet

Tenemos dos Tarjetas de red Ethernet, es decir, eth1 y eth2 donde se creará bond0 para fines de vinculación. Necesita superusuario con privilegios para ejecutar los siguientes comandos.

Equilibrio de carga (Round-Robin)

Configurar eth1

Mencione el parámetro MASTER bond0 y la interfaz eth1 como SLAVE en el archivo de configuración como se muestra a continuación.

vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
TYPE=Ethernet
ONBOOT="yes"
BOOTPROTO="none"
USERCTL=no
MASTER=bond0
SLAVE=yes
Configurar eth2

Aquí también, especifique el parámetro MASTER bond0 y la interfaz eth2 como SLAVE.

vi /etc/sysconfig/network-scripts/ifcfg-eth2
DEVICE="eth2"
TYPE="Ethernet"
ONBOOT="yes"
USERCTL=no
#NM_CONTROLLED=yes
BOOTPROTO=none
MASTER=bond0
SLAVE=yes
Crear configuración bond0

Cree bond0 y configure la interfaz de enlace de canales en el directorio “/etc/sysconfig/network-scripts/” llamado ifcfg-bond0.

El siguiente es un archivo de configuración de enlace de canales de muestra.

vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.246.130
NETMASK=255.255.255.0
BONDING_OPTS="mode=0 miimon=100"

Nota: En la configuración anterior hemos elegido las opciones de vinculación mode=0, es decir, Round-Robin y miimon=100. (Intervalos de sondeo 100 ms).

Veamos las interfaces creadas usando el comando ifconfig que muestra “bond0” ejecutándose como MASTER ambas interfaces “eth1” y “eth2.” corriendo como ESCLAVES.

ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
          inet addr:192.168.246.130  Bcast:192.168.246.255  Mask:255.255.255.0
          inet6 addr: fe80::20c:29ff:fe57:618e/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:17374 errors:0 dropped:0 overruns:0 frame:0
          TX packets:16060 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:1231555 (1.1 MiB)  TX bytes:1622391 (1.5 MiB)

eth1      Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:16989 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8072 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1196931 (1.1 MiB)  TX bytes:819042 (799.8 KiB)
          Interrupt:19 Base address:0x2000

eth2      Link encap:Ethernet  HWaddr 00:0C:29:57:61:8E
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:385 errors:0 dropped:0 overruns:0 frame:0
          TX packets:7989 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:34624 (33.8 KiB)  TX bytes:803583 (784.7 KiB)
          Interrupt:19 Base address:0x2080

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:8 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:480 (480.0 b)  TX bytes:480 (480.0 b)

Reinicie el servicio de red y las interfaces deberían estar bien.

service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]

Comprobación del estado del bono.

watch -n .1 cat /proc/net/bonding/bond0
Salida de muestra

El resultado siguiente muestra que el Modo de vinculación es Equilibrio de carga (RR) y eth1 y eth2 . están apareciendo.

Every 0.1s: cat /proc/net/bonding/bond0                         Thu Sep 12 14:08:47 2013 

Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)

Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 2
Permanent HW addr: 00:0c:29:57:61:8e
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 2
Permanent HW addr: 00:0c:29:57:61:98
Slave queue ID: 0

Crear copia de seguridad activa

En este escenario, las interfaces esclavas siguen siendo las mismas. solo habrá un cambio en la interfaz de enlace ifcfg-bond0 en lugar de '0' será '1' que se muestra como se muestra a continuación .

vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.246.130
NETMASK=255.255.255.0
BONDING_OPTS="mode=1 miimon=100"

Reinicie el servicio de red y verifique el estado de la vinculación.

service network restart
Shutting down interface bond0:                             [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface bond0:                               [  OK  ]

Comprobando el estado del vínculo con comando.

watch -n .1 cat /proc/net/bonding/bond0
Salida de muestra

El modo de vinculación muestra tolerancia a fallas (respaldo activo) y la interfaz esclava está activa.

Every 0.1s: cat /proc/n...  Thu Sep 12 14:40:37 2013

Ethernet Channel Bonding Driver: v3.6.0 (September 2
6, 2009)

Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eth1
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 00:0c:29:57:61:8e
Slave queue ID: 0

Slave Interface: eth2
MII Status: up
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 00:0c:29:57:61:98
Slave queue ID: 0

Nota: baje y suba manualmente las interfaces esclavas para comprobar el funcionamiento de la vinculación de canales. Consulte el comando como se muestra a continuación.

ifconfig eth1 down
ifconfig eth1 up

¡Eso es todo!