Enlace de tarjeta de red dual de Linux (enlace) para equilibrio de carga o failover

  
 

La implementación de enlace de NIC dual de Linux que presentamos aquí es utilizar dos NIC para convertirse en NIC. El dispositivo agregado se parece a un dispositivo de interfaz Ethernet independiente. En términos generales, las dos NIC tienen el mismo Las direcciones IP y los enlaces paralelos se agregan en un enlace lógico para funcionar. De hecho, esta tecnología ha existido durante mucho tiempo en Sun y Cisco. Se llama tecnología Trunking y Etherchannel. También se utiliza en el kernel Linux 2.4.x, llamado vinculación.

La primera aplicación de la tecnología de unión se diseñó en clusters — — beowulf para mejorar la transferencia de datos entre nodos de cluster. Discutamos el principio de la vinculación. Lo que es la vinculación debe comenzar con el modo promisc de la tarjeta de red. Sabemos que, en circunstancias normales, la tarjeta de red solo recibe la dirección de hardware de destino (Dirección MAC) es el marco Ethernet de su propia Mac y filtra otros marcos de datos para reducir la carga del controlador. Pero la NIC también admite otro modo llamado promisc, que puede recibir todos los marcos en la red, como tcpdump, que se ejecuta en este modo. La vinculación también se ejecuta en este modo, y la dirección mac en el controlador se modifica para cambiar la dirección Mac de las dos tarjetas de red a la misma, y ​​puede recibir marcos de datos de una mac específica. La trama de datos correspondiente se transfiere al controlador de enlace para su procesamiento.

Es imposible configurar la misma dirección IP directamente en dos tarjetas de red. Los kernels 2.4.12 y posteriores están disponibles para el módulo de unión. Las versiones anteriores se pueden implementar con parches.

Primero, edite el archivo de configuración de la interfaz de red virtual, especifique la IP de la tarjeta de red.

Suponga que eth0 es la tarjeta de red del servicio externo y que la red se ha depurado; eth1 es la tarjeta de red que desea proporcionar servicios con eth0 al mismo tiempo. # cd /etc /sysconfig /network-scripts /# vi ifcfg-bond0 La siguiente información está escrita en el código de copia y es similar a la configuración original de ifcfg-eth0.

Por lo tanto, sugiero que ejecute la siguiente instrucción, copie ifcfg-eth0 y cámbiela. # cp ifcfg-eth0 El código de copia de ifcfg-bon0 modifica la información de ifcfg-bon0 de la siguiente manera: DISPOSITIVO = bond0 BOOTPROTO = static IPADDR = [IP] NETMASK = [MASK] BROADCAST = [BROADCAST] GATEWAY = [GATEWAY] ONBOOT = yes TYPE = Copia Ethernet código 2, configure la tarjeta de red real

Modifique ifcfg-eth0 de la siguiente manera: DISPOSITIVO = eth0 BOOTPROTO = ninguna ONBOOT = yes MASTER = bond0 #Si no escribe, debe hacer el cuarto paso ESCLAVO = sí # si no Escriba, debe hacer el cuarto paso USERCTL = sí. Copie el código de manera similar. Ifcfg-eth1 de la siguiente manera: DISPOSITIVO = eth1 BOOTPROTO = ninguno ONBOOT = yes MASTER = bond0 #Si no escribe, debe realizar el cuarto paso SLAVE = yes # si no Escriba, debe hacer el cuarto paso USERCTL = sí, copie el código tres, cargue el módulo, deje que el sistema admita la vinculación.

De manera predeterminada, el kernel tiene una vinculación de la compatibilidad, solo necesita modificar /etc/modprobe.conf este documento de configuración Puede ser: agregar dos líneas de alias bond0 opciones de enlace bond0 miimon = 100 mode = 1 copia código descripción: mode especifica el modo de trabajo de bond0, comúnmente usado 0 y 1, 0 significa modo de balanceo de carga, 1 significa modo maestro-esclavo, Segun tus necesidades Inicio. Comúnmente se utilizan son 0, 1 dos. Modo = 0 indica que el equilibrio de carga (round-robin) es el modo de equilibrio de carga y que ambas tarjetas de red funcionan. Modo = 1 indica que la tolerancia a fallas (copia de seguridad activa) proporciona redundancia. El modo de trabajo es el modo activo /en espera. Es decir, solo una tarjeta de red funciona de forma predeterminada y la otra se usa para la copia de seguridad. La vinculación solo puede proporcionar monitoreo de enlaces, es decir, si el enlace desde el host al switch está conectado. Si solo el enlace externo del conmutador está inactivo y el conmutador en sí no está defectuoso, entonces la conexión continuará utilizando el enlace como si no hubiera ningún problema. Miimon se utiliza para la monitorización de enlaces. Por ejemplo: miimon = 100, entonces el sistema monitorea el estado de la conexión del enlace cada 100 ms, y si una línea falla, se transferirá a otra línea.

Cuatro, aumente el script de arranque

Agregue el código de copia ifenslave bond0 eth0 eth1 en /etc/rc.d/rc.local. Si eth0 y eth1 escriben MASTER y SLAVE, entonces lo anterior No importa si no haces los pasos.

5, reiniciar

reiniciar o reiniciar la red de servicio puede ver los resultados.

Seis, prueba

Hacer ping a una dirección, por supuesto, puede hacer ping a la dirección. Si se encuentra que la red es inaccesible, verifique la configuración de red de ifcfg-bond0.

Luego, desenchufe un cable de red, si el ping no se rompe, esto prueba que la línea de respaldo está desconectada, no la línea principal, y luego se enchufa nuevamente durante dos minutos.

Desconecte otro cable de red en este momento. Se estima que puede ver el tiempo de espera de ping o la tarjeta está ahí. Espere de 10 a 30 segundos, el ping continúa.

La prueba fue exitosa.

Copyright © Conocimiento de Windows All Rights Reserved