Estoy intentando configurar la configuración de conmutación por recuperación en la vinculación, pero no puedo evitar la configuración de la interfaz. Mi interfaz es la siguiente:
auto bond0
iface bond0 inet static
address 192.168.1.39
netmask 255.255.255.0
up /sbin/ifenslave bond0 eth1 eth3
down /sbin/ifenslave -d bond0 eth1 eth3
Mi archivo /etc/modprobe.d/bonding.conf es:
alias bond0 bonding
options bonding mode=3
Lo pruebo ejecutando ping desde otro sistema. El estado de mi fianza es el siguiente:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (broadcast)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 44:a8:42:03:68:2c
Slave queue ID: 0
Slave Interface: eth3
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 44:a8:42:03:68:2c
Slave queue ID: 0
Cuando quito el cable eth1, la conmutación por error funciona y eth3 realiza los datos (el ping aún continúa).
Si vuelvo a conectar eth1 y elimino eth3, el ping se detiene y el estado de vinculación no contiene ninguna interfaz. El estado del bono es:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (broadcast)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Probé con todos los modos en la vinculación (0 a 6). Pero ninguna de las configuraciones proporciona soporte de recuperación. ¿Dónde me equivoco?
Respuesta1
EDITAR 2019-01-10:Estas instrucciones son para Ubuntu 16.04 y versiones anteriores. Intentaré actualizar con instrucciones para 18.04.
En esta respuesta, utilizamos active-backup
la vinculación con un bond-primary
conjunto de interfaces que permite que la conmutación por error regrese al principal cuando esté disponible. Se puede encontrar más información:https://wiki.linuxfoundation.org/networking/bonding
La vinculación en Ubuntu es una configuración diferente a la de otras distribuciones de Linux como RedHat. He realizado algunas configuraciones de vinculación en Ubuntu y las expondré a continuación lo mejor posible.
Como parece, ya lo tienes ifenslave
instalado, pero si no, instala ifenslave
:
sudo apt-get install ifenslave
A continuación, échale un vistazo /etc/modules
y asegúrate de que tenga las siguientes líneas:
loop
lp
rtc
bonding
En el /etc/network/interfaces
archivo, configure sus loopback
interfaces eth1
, y eth3
:
auto lo
iface lo inet loopback
auto eth1
iface eth1 inet manual
bond-master bond0
bond-primary eth1
auto eth3
iface eth3 inet manual
bond-master bond0
Ahora configure su bond0
interfaz active-backup
para conmutación por error si falla una de las conexiones NIC:
auto bond0
iface bond0 inet static
address 192.168.1.39
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bond-mode active-backup
bond-miimon 100
bond-slaves none
Guarde los cambios en /etc/network/interfaces
el archivo y reinicie su servicio de red:
sudo /etc/init.d/networking restart
Ahora puede verificar la configuración de su vinculación. Asegúrese de que sus bond0
y eth1
sean eth3
correctos:
sudo ethtool bond0
sudo ethtool eth1
sudo ethtool eth3
Verifique si la conmutación por error ahora funciona eliminando eth1
de bond0
:
sudo ifenslave -d bond0 eth1
Verifique si aún puede hacer ping a la puerta de enlace:
ping -c2 192.168.1.1
Añadir eth1
de nuevo a bond0
:
sudo ifenslave bond0 eth1
¡Espero que esto ayude!