GNU/Linux >> Tutoriales Linux >  >> Linux

Conceptos básicos de la vinculación de Ethernet en Linux

Introducción

El controlador de vinculación de Linux proporciona un método para agregar múltiples interfaces de red en una sola interfaz lógica "vinculada". El comportamiento de las interfaces vinculadas depende del modo; en términos generales, los modos proporcionan servicios de equilibrio de carga o de espera activa. Además, se puede realizar el monitoreo de la integridad del enlace.

La última versión del controlador de vinculación se puede encontrar en la última versión del kernel de Linux, que se encuentra en http://kernel.org. La última versión y el documento completo se pueden encontrar en la última fuente del kernel (denominada Documentation/networking/bonding.txt) o en el sitio de bonding sourceforge http://www.sourceforge.net/projects/bonding

Configuración

En Enterprise Linux, el sistema no carga automáticamente el controlador del adaptador de red a menos que el dispositivo ethX esté configurado con una dirección IP. Debido a esta restricción, los usuarios deben configurar manualmente un archivo de script de red para todos los adaptadores físicos que serán miembros de un enlace bondX. Los archivos de script de red se encuentran en el directorio:

/etc/sysconfig/network-scripts

El nombre del archivo debe tener el prefijo "ifcfg-eth ” y con el sufijo del número de adaptador físico del adaptador. Por ejemplo, el script para eth0 se llamaría /etc/sysconfig/network-scripts/ifcfg-eth0 . Coloque el siguiente texto en el archivo:

# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

El “DISPOSITIVO= ” será diferente para cada dispositivo ethX y debe corresponder con el nombre del archivo, es decir, ifcfg-eth1 debe tener una línea de dispositivo de “DEVICE=eth1”. La configuración del “MASTER= ” también dependerá del nombre de la interfaz de enlace final elegido para su enlace. Al igual que con otros dispositivos de red, estos generalmente comienzan en 0 y suben uno para cada dispositivo, es decir, la primera instancia de vinculación es bond0, la segunda es bond1 y así sucesivamente.

A continuación, cree un script de red de enlace. El nombre de archivo para este script será /etc/sysconfig/network-scripts/ifcfg-bondX donde X es el número del bono. Para bond0, el archivo se llama "ifcfg-bond0", para bond1 se llama "ifcfg-bond1", y así sucesivamente. Dentro de ese archivo, coloque el siguiente texto:

# vi /etc/sysconfig/network-scripts/ifcfg-bondX
DEVICE=bond0
IPADDR=192.168.1.1
NETMASK=255.255.255.0
NETWORK=192.168.1.0
BROADCAST=192.168.1.255
ONBOOT=yes
BOOTPROTO=none
USERCTL=no

Asegúrese de cambiar las líneas específicas de red (IPADDR, NETMASK, NETWORK y BROADCAST) para que coincidan con su configuración de red.

Finalmente, es necesario editar /etc/modules.conf para cargar el módulo de vinculación con las opciones deseadas cuando se abra la interfaz bond0. Las siguientes líneas en /etc/modules.conf (o modprobe.conf ) cargará el módulo de vinculación y seleccionará sus opciones:

# vi /etc/modprobe.conf
alias bond0 bonding
options bond0 mode=balance-alb miimon=100
Para CentOS/RHEL 5 ,el modo de vinculación se establece en el archivo /etc/sysconfig/network-scripts/ifconfig-bond0 en lugar de en el archivo /etc/modprobe.conf.

Para CentOS/RHEL 6 , cree un nuevo archivo llamado /etc/modprobe.d/bonding.conf en el directorio /etc/modprobe.d/ con contenido 'alias bond0 bonding'. Y también configure el modo de vinculación en el archivo /etc/sysconfig/network-scripts/ifconfig-bond0 en lugar de /etc/modprobe.d/bonding.conf.

Para el archivo /etc/sysconfig/network-scripts/ifcfg-bond0, reemplace los parámetros de muestra con el conjunto de opciones apropiado para su configuración. Finalmente, ejecute "/etc/rc.d/init.d/network restart" o "reinicio de red de servicio" como raíz. Esto reiniciará el subsistema de red y su enlace de enlace debería estar ahora en funcionamiento.

Consulta de configuración de vinculación

Cada dispositivo de vinculación tiene un archivo de solo lectura que reside en /proc/net/bonding directorio. El contenido del archivo incluye información sobre la configuración de vinculación, las opciones y el estado de cada esclavo.

Por ejemplo, el contenido de /proc/net/bonding/bond0 después de cargar el controlador con parámetros de mode=0 y miimon=1000 es generalmente el siguiente:

# cat /proc/net/bonding
Ethernet Channel Bonding Driver: 2.6.1 (October 29, 2004)
Bonding Mode: load balancing (round-robin)
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 1000
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth1
MII Status: up
Link Failure Count: 1

Slave Interface: eth0
MII Status: up
Link Failure Count: 1

El formato y el contenido exactos cambiarán según la configuración de vinculación, el estado y la versión del controlador de vinculación.

Configuración de enlaces para alta disponibilidad

La alta disponibilidad se refiere a las configuraciones que brindan la máxima disponibilidad de la red al tener dispositivos, enlaces o conmutadores redundantes o de respaldo entre el host y el resto del mundo. El objetivo es proporcionar la máxima disponibilidad de conectividad de red (es decir, la red siempre funciona), aunque otras configuraciones podrían proporcionar un mayor rendimiento.

Alta disponibilidad en una topología de un solo conmutador

Si dos hosts (o un host y un solo conmutador) están conectados directamente a través de múltiples enlaces físicos, entonces no hay penalización de disponibilidad para optimizar el ancho de banda máximo. En este caso, solo hay un conmutador (o igual), por lo que si falla, no hay acceso alternativo al que conmutar por error. Además, los modos de equilibrio de carga de vinculación admiten la supervisión de enlaces de sus miembros, por lo que si fallan los enlaces individuales, la carga se reequilibrará en los dispositivos restantes.

Modos de vinculación

Aparte de los modos de copia de seguridad activa(1) y difusión(3) que son para topología de varios conmutadores (consulte a continuación), puede utilizar los siguientes modos para topologías de un solo conmutador:

  • saldo-rr(0) :Política de operación por turnos:transmite paquetes en orden secuencial desde el primer esclavo disponible hasta el último. Este modo proporciona balanceo de carga y tolerancia a fallas. Este es el modo por defecto. Entonces, si no se indica ningún modo en /etc/modprobe.conf, el controlador de vinculación funcionará en modo balance-rr. Pero es la mejor práctica indicar el modo en /etc/modprobe.conf como se indicó anteriormente.
  • equilibrio-xor(2) :Política XOR:transmisión basada en la política hash de transmisión seleccionada. Esto se basa en una función hash sobre la dirección MAC mediante la operación XOR. Este modo proporciona balanceo de carga y tolerancia a fallas.
  • 802.3ad (4) :Agregación de enlaces dinámicos IEEE 802.3ad. Crea grupos de agregación que comparten la misma configuración de velocidad y dúplex. Utiliza todos los esclavos en el agregador activo según la especificación 802.3ad. Requisitos previos:
    • Compatibilidad con Ethtool en los controladores básicos para recuperar la velocidad y el dúplex de cada esclavo.
    • Un conmutador compatible con la agregación de enlaces dinámicos IEEE 802.3ad.
    • La mayoría de los conmutadores requerirán algún tipo de configuración para habilitar el modo 802.3ad.
  • equilibrio-tlb(5) :Equilibrio de carga de transmisión adaptativo:unión de canales que no requiere ningún soporte de conmutador especial. El tráfico saliente se distribuye de acuerdo con la carga actual (calculada en relación con la velocidad) en cada esclavo. El esclavo actual recibe el tráfico entrante. Si el esclavo receptor falla, otro esclavo asume la dirección MAC del esclavo receptor fallido. Requisito previo:
    • Compatibilidad con Ethtool en los controladores base para recuperar la velocidad de cada esclavo.
  • equilibrio-alb(6) :Equilibrio de carga adaptativo:incluye balance-tlb más equilibrio de carga de recepción (rlb) para el tráfico IPV4 y no requiere ningún soporte de conmutador especial. Recibir tráfico de conexiones creadas por el servidor también está equilibrado. Cuando se vuelve a conectar un enlace o un nuevo esclavo se une al enlace, el tráfico de recepción se redistribuye entre todos los esclavos activos en el enlace. Requisitos previos:
    • Compatibilidad con Ethtool en los controladores base para recuperar la velocidad de cada esclavo.
    • Compatibilidad con el controlador base para configurar la dirección de hardware de un dispositivo mientras está abierto.

Alta disponibilidad en una topología de varios conmutadores

Con varios conmutadores, la configuración de vinculación y la red cambia drásticamente. En las topologías de conmutadores múltiples, existe un equilibrio entre la disponibilidad de la red y el ancho de banda utilizable.

A continuación se muestra una red de muestra, configurada para maximizar la disponibilidad de la red:

En esta configuración, hay un enlace entre los dos conmutadores (ISL, o enlace entre conmutadores) y varios puertos que se conectan al mundo exterior ("puerto3" en cada conmutador). No hay ninguna razón técnica por la que esto no pueda extenderse a un tercer interruptor.

Modos de vinculación

En una topología como la del ejemplo anterior, los modos de transmisión y copia de seguridad activa son los únicos modos de vinculación útiles al optimizar la disponibilidad; los otros modos requieren que todos los enlaces terminen en el mismo par para que se comporten racionalmente.

  • copia de seguridad activa (o 1) :Este es generalmente el modo preferido, particularmente si los interruptores tienen un ISL y funcionan bien juntos. Si la configuración de la red es tal que un conmutador es específicamente un conmutador de respaldo (por ejemplo, tiene menor capacidad, mayor costo, etc.), entonces se puede usar la opción principal para garantizar que el enlace preferido siempre se use cuando esté disponible.
  • transmitir (o 3) :Este modo es realmente un modo de propósito especial y es adecuado solo para necesidades muy específicas. Por ejemplo, si los dos conmutadores no están conectados (sin ISL) y las redes más allá de ellos son totalmente independientes. En este caso, si es necesario que algún tráfico unidireccional específico llegue a ambas redes independientes, entonces el modo de transmisión puede ser adecuado.


Linux
  1. Cómo mover un archivo en Linux

  2. Conceptos básicos de los permisos de archivos de Linux

  3. Linux – ¿Todo es un archivo?

  4. ¿Cómo cambiar el nombre de un archivo en Linux?

  5. UNIX/Linux:Conceptos básicos de las listas de control de acceso (ACL)

Comando Gunzip en Linux

Comando Stat en Linux

¿Qué es umask en Linux?

Cómo vincular un archivo en Linux

Extraiga el archivo tar.gz en Linux

¿Qué es el archivo .bashrc en Linux?