Ubuntu:拔下並重新插回電纜後 ethX 介面未綁定

Ubuntu:拔下並重新插回電纜後 ethX 介面未綁定

我正在嘗試在綁定中設置故障恢復配置,但無法繞過介面配置。我的介面如下:

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

我的 /etc/modprobe.d/bonding.conf 檔案是:

alias bond0 bonding
options bonding mode=3

我透過從其他系統執行 ping 來測試它。我的債券狀況如下:

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

當我拔掉 eth1 電纜時,故障轉移起作用並且 eth3 執行資料(ping 仍然繼續)。

如果我連接回 eth1 並刪除 eth3,ping 將停止,並且綁定狀態不包含任何介面。債券狀態為:

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

我嘗試了綁定中的所有模式(0 到 6)。但沒有任何配置提供故障恢復支援。我哪裡錯了?

答案1

編輯 2019-01-10:這些說明適用於 Ubuntu 16.04 及更早版本。我將嘗試按照 18.04 的說明進行更新。

在這個答案中,我們使用active-backup與介面集的綁定bond-primary,允許故障轉移在可用時返回到主資料庫。更多資訊可以找到:https://wiki.linuxfoundation.org/networking/bonding


Ubuntu 中的綁定與 RedHat 等其他 Linux 發行版中的綁定是不同的設定。我已經在 Ubuntu 中完成了一些綁定配置,我將盡可能在下面列出。

看起來,您已經ifenslave安裝了,但如果沒有,請安裝ifenslave

sudo apt-get install ifenslave

接下來,查看/etc/modules並確保它具有以下行:

loop
lp
rtc
bonding

在該/etc/network/interfaces檔案中,設定您的loopbacketh1eth3介面:

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

現在將您的bond0介面設定為active-backup在其中一個 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

儲存檔案的變更/etc/network/interfaces並重新啟動網路服務:

sudo /etc/init.d/networking restart

現在您可以檢查您的綁定設定。確保您的bond0,eth1eth3正確:

sudo ethtool bond0
sudo ethtool eth1
sudo ethtool eth3

eth1透過刪除來檢查故障轉移現在是否有效bond0

sudo ifenslave -d bond0 eth1

檢查是否仍可 ping 通網關:

ping -c2 192.168.1.1

添加eth1bond0

sudo ifenslave bond0 eth1

希望這可以幫助!

相關內容