アクティブモードとスタンバイモードでボンドインターフェイスをテストする方法

アクティブモードとスタンバイモードでボンドインターフェイスをテストする方法

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のままですが、その役割(アクティブ/バックアップ)は変更されます。

関連情報