Herramientas de usuario

Herramientas del sitio


es:stretch:config:network:bonding

2.1.4 Agrupación de las interfaces de red

La mayoría de los sistemas actuales tienen dos o más conexiones de Ethernet. Estas conexiones se pueden usar por separado o en paralelo mediante una técnica llamada bonding. Esta técnica es muy interesante porque permite equilibrar la transmisión de los datos (los datos se transmiten a través de dos interfaces), y además se implementa tolerancia a fallos (si un enlace falla, la transmisión está asegurada por el otro enlace).

En nuestro servidor, agregamos dos interfaces físicas del sistema, eno1 y eno2, para crear una nueva interfaz de red bond0 de alta disponibilidad.

Ethernet bonding

Ethernet bonding, está regulada por la norma IEEE 802.3ad con el título link aggregation. Es un término técnico de las redes informáticas que describe el acoplamiento de dos o más canales de Ethernet en paralelo para producir un solo canal de mayor velocidad y/o aumentar la disponibilidad y la redundancia de ese canal.

Instalación

<sxh bash; highlight: [1]> root@server~# apt install ifenslave </sxh>

Configuración

Para crear la interfaz bond0 hay que cargar y configurar previamente el módulo bonding del kernel o núcleo de linux. Este módulo se cargará automáticamente después de la configuración, pero ahora hay que cargarlo de forma manual:

<sxh bash; highlight: [1]> root@server:~# modprobe bonding </sxh>

Con la siguiente línea de comandos se comprueba qué es lo que se carga en realidad:

<sxh bash; highlight: [1]> root@server:~# lsmod | grep bonding bonding 147456 0 </sxh>

El siguiente paso es la parametrización de la nueva interfaz de red y eliminar (o comentar) todas las referencias a las interfaces físicas que utilizará la nueva interfaz. Estas modificaciones se realizan, por supuesto, en el fichero /etc/network/interfaces:

<sxh; highlight: [16-39]; title: /etc/network/interfaces> # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5).

# The loopback network interface # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5).

# The loopback network interface auto lo iface lo inet loopback

# The primary network interface # allow-hotplug eno1 # iface eno1 inet dhcp

# Static IP address #auto eno1 #iface eno1 inet static # address 192.168.1.100 # netmask 255.255.255.0 # network 192.168.1.0 # broadcast 192.168.1.255 # gateway 192.168.1.1

# Interface bonding # Static IP address auto bond0 iface bond0 inet static

      slaves eno1 eno2
      bond-mode balance-rr
      bond-miimon 100
      bond_downdelay 200
      bond_updelay 200
      address 192.168.1.100
      netmask 255.255.255.0
      network 192.168.1.0
      broadcast 192.168.1.255
      gateway 192.168.1.1

</sxh>

El parámetro de modo de enlace bond-mode balance-rr indica que la interfaz funcionará en modo de balance-rr, en el que los datos se transmiten alternativamente por las diferentes interfaces físicas que componen la nueva interfaz bond0.

Por último, hay que reiniciar los servicios de red:

<sxh bash; highlight: [1]> root@server:~# systemctl restart networking </sxh>

Verificación

El comando ifconfig le permite comprobar el estado de las interfaces de red:

<sxh bash; highlight: [1]> root@server:~# ifconfig bond0 Link encap:Ethernet HWaddr 08:00:27:69:7a:b5

        inet addr:192.168.56.100  Bcast:192.168.56.255  Mask:255.255.255.0
        UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
        RX packets:47 errors:0 dropped:0 overruns:0 frame:0
        TX packets:62 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0
        RX bytes:5803 (5.6 KiB)  TX bytes:8608 (8.4 KiB)

eno1 Link encap:Ethernet HWaddr 08:00:27:69:7a:b5

        UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
        RX packets:44 errors:0 dropped:0 overruns:0 frame:0
        TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:5601 (5.4 KiB)  TX bytes:2842 (2.7 KiB)

eno2 Link encap:Ethernet HWaddr 08:00:27:69:7a:b5

        UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
        RX packets:3 errors:0 dropped:0 overruns:0 frame:0
        TX packets:31 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:1000
        RX bytes:202 (202.0 B)  TX bytes:5766 (5.6 KiB)

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:193243 errors:0 dropped:0 overruns:0 frame:0
        TX packets:193243 errors:0 dropped:0 overruns:0 carrier:0
        collisions:0 txqueuelen:0
        RX bytes:31609190 (30.1 MiB)  TX bytes:31609190 (30.1 MiB)

</sxh>

A la interfaz bond0 se le asigna una dirección IP, concretamente 192.168.1.100, y las 3 interfaces (bond0, eno1 y eno2) tienen la misma dirección física (“HWaddr 08:00:27:69:7a:b5”), para que las tres sean “vistas” por el resto de la red como una sola interfaz.

Se puede obtener más informaciones sobre el estado de la interfaz bond0 con:

<sxh bash; highlight: [1]> root@server:~# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

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

Slave Interface: eno1 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 08:00:27:69:7a:b5 Slave queue ID: 0

Slave Interface: eno2 MII Status: up Speed: Unknown Duplex: Unknown Link Failure Count: 0 Permanent HW addr: 08:00:27:22:af:bf Slave queue ID: 0 </sxh>

Referencias

es/stretch/config/network/bonding.txt · Última modificación: 2020-08-02 20:10 (editor externo)

Excepto donde se indique lo contrario, el contenido de este wiki esta bajo la siguiente licencia: CC Attribution-Noncommercial-Share Alike 4.0 International
CC Attribution-Noncommercial-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki