如何测试主备模式下的bond接口

如何测试主备模式下的bond接口

我有一台 Linux 机器,有 2 个物理网络接口 eth0 和 eth1。在这两个接口上创建了一个容错(主动-备份)绑定。 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

ifeth0当前处于活动状态并且eth1是备份。

在这种情况下,所有接口都将保持状态 UP,但它们的角色(主动/备份)将会改变。

相关内容