ボンディングでフェイルバック構成を設定しようとしていますが、インターフェース構成を回避できません。インターフェースは次のとおりです。
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
、、およびインターフェースを設定loopback
しeth1
ます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
次に、NIC 接続の 1 つに障害が発生した場合にフェイルオーバーするようにbond0
インターフェイスを設定します。active-backup
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
、eth1
およびがeth3
正しいことを確認してください。
sudo ethtool bond0
sudo ethtool eth1
sudo ethtool eth3
eth1
以下を削除して、フェイルオーバーが機能するかどうかを確認しますbond0
:
sudo ifenslave -d bond0 eth1
ゲートウェイにまだ ping できるかどうかを確認します。
ping -c2 192.168.1.1
追加eth1
するbond0
:
sudo ifenslave bond0 eth1
お役に立てれば!