2つの物理ネットワークインターフェースeth0とeth1を持つLinuxシステムがあります。フォールトトレラント(アクティブ - バックアップ)の組み合わせは、これら2つのインターフェイスで作成されます。 bond0にはIPアドレスが割り当てられています。 eth0とeth1には割り当てられたIPアドレスはありません。
すべてが正常です。 eth0 のリンクがダウンすると、発信トラフィックは eth1 経由でルーティングされ、eth0 が表示されると Linux は再び切り替えて、すべての発信トラフィックに対して eth0 を使用します。今まではそんなに良くなった。
eth1のパスが大丈夫かどうかをテストしたいのですが、eth0では接続を切断したくありません。カーネルが特定のテストパケットの発信トラフィックにeth1を使用するように強制する方法はありますか?
答え1
現在の設定からアクティブな結合インターフェイスを削除し、実行時に再配置できます。
echo -eth0 > /sys/class/net/bond0/bonding/slaves
echo +eth0 > /sys/class/net/bond0/bonding/slaves
スレーブの変更を確認する必要があります。
別の方法は、ifenslaveをインストールし、次のコマンドを使用してこれを実行することです。
ifenslave -c bond0 eth1 eth0
これにより、eth1 がアクティブなインターフェイスに設定されます。
答え2
フェールオーバーを強制するためにインターフェイスを削除して追加する代わりに、次のように/sys/class/net/bond0/bonding/slaves
アクティブなスレーブを変更します。
echo eth1 > /sys/class/net/bond0/bonding/active_slave
if はeth0
現在アクティブでeth1
バックアップです。
この場合、すべてのインターフェイスはUPのままですが、その役割(アクティブ/バックアップ)は変更されます。