linux网口聚合到bond
背景
有四个网口eth0 eth1 eth2 eth3,目前这四个网卡都绑定到了bond0,现在想把eth0 eth1给bond0,eth3 eth4给bond1。
操作
1.安装了 ifenslave 工具。如果没有安装,可以使用以下命令进行安装(需要管理员权限):
sudo apt-get install ifenslave
编辑网络配置文件,找到并打开 ifcfg-eth0 和 ifcfg-eth1 文件。这些文件通常位于 /etc/sysconfig/network-scripts/ 目录下。如果系统是基于Debian/Ubuntu的,请找到 /etc/network/interfaces 文件。
在 ifcfg-eth0 文件中,找到 MASTER 和 SLAVE 的行,并将它们的值设置为 bond0。将 USERCTL 设置为 no,这将防止非特权用户控制绑定接口。
在 ifcfg-eth1 文件中,进行与 ifcfg-eth0 相同的更改。
创建 ifcfg-eth2 文件,将以下内容添加到文件中:
DEVICE=eth2 ONBOOT=yes MASTER=bond1 SLAVE=yes USERCTL=no
创建 ifcfg-eth3 文件,将以下内容添加到文件中:
DEVICE=eth3 ONBOOT=yes MASTER=bond1 SLAVE=yes USERCTL=no
保存并关闭所有文件。
现在,需要编辑 ifcfg-bond0 文件以配置 bond0 接口。找到并打开该文件。
将 BONDING_OPTS 的值设置为适当的选项。可以使用以下设置:
BONDING_OPTS="mode=active-backup miimon=100"
这将将 bond0 配置为主备模式,监测链路状态的最小时间间隔为 100 毫秒。
同样地,编辑 ifcfg-bond1 文件以配置 bond1 接口,并根据需要设置 BONDING_OPTS 的值。
保存并关闭 ifcfg-bond0 和 ifcfg-bond1 文件。
重启网络服务,以使更改生效。可以使用以下命令重启网络服务(需要管理员权限):
sudo systemctl restart network