Ich versuche, eine Failback-Konfiguration für das Bonden einzurichten, komme jedoch nicht an der Schnittstellenkonfiguration vorbei. Meine Schnittstelle ist wie folgt:
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
Meine /etc/modprobe.d/bonding.conf Datei ist:
alias bond0 bonding
options bonding mode=3
Ich teste es durch Ausführen von Ping von einem anderen System. Mein Anleihenstatus ist wie folgt:
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
Wenn ich das eth1-Kabel entferne, funktioniert das Failover und eth3 führt die Daten aus (der Ping wird weiterhin ausgeführt).
Wenn ich eth1 zurückschließe und eth3 entferne, stoppt der Ping und der Verbindungsstatus enthält keine der Schnittstellen. Der Anleihenstatus ist:
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
Ich habe es mit allen Modi beim Bonden versucht (0 bis 6). Die Konfiguration bietet jedoch keine Failback-Unterstützung. Wo gehe ich falsch?
EDIT 2019-01-10: Diese Anweisungen gelten für Ubuntu 16.04 und älter. Ich werde versuchen, mit Anweisungen für den 18.04 zu aktualisieren.
In dieser Antwort verwenden wir das active-backup
- Bonding mit einem bond-primary
- Schnittstellensatz, mit dem ein Failover zum primären zurückgesetzt werden kann, wenn es verfügbar ist. Weitere Informationen finden Sie unter: https://wiki.linuxfoundation.org/networking/bonding
Bonding in Ubuntu ist ein anderes Setup als in anderen Linux-Distributionen wie RedHat. Ich habe einige Bonding-Konfigurationen in Ubuntu vorgenommen und werde sie im Folgenden so gut wie möglich ausführen.
Wie es aussieht, haben Sie bereits ifenslave
installiert, aber wenn nicht, installieren Sie ifenslave
:
Sudo apt-get install ifenslave
Schauen Sie sich als nächstes /etc/modules
An und vergewissern Sie sich, dass es die folgenden Zeilen enthält:
loop
lp
rtc
bonding
Legen Sie in der Datei /etc/network/interfaces
Die Schnittstellen loopback
, eth1
Und eth3
Fest:
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
Stellen Sie nun Ihre bond0
- Schnittstelle mit active-backup
Für das Failover ein, wenn eine der NIC Verbindungen fehlschlägt:
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
Speichern Sie die Änderungen in der Datei /etc/network/interfaces
Und starten Sie den Netzwerkdienst neu:
Sudo /etc/init.d/networking restart
Jetzt können Sie Ihren Verbindungsaufbau überprüfen. Stellen Sie sicher, dass Ihr bond0
, eth1
Und eth3
Korrekt sind:
Sudo ethtool bond0
Sudo ethtool eth1
Sudo ethtool eth3
Überprüfen Sie, ob das Failover jetzt funktioniert, indem Sie eth1
Aus bond0
Entfernen:
Sudo ifenslave -d bond0 eth1
Überprüfen Sie, ob Sie das Gateway noch anpingen können:
ping -c2 192.168.1.1
Fügen Sie eth1
Zurück zu bond0
Hinzu:
Sudo ifenslave bond0 eth1
Hoffe das hilft!