本文主要是介绍linux环境下创建网口聚合实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
Linux的网口聚合(网口绑定、bonding)技术是一种通过多个网络接口聚合来提供网络冗余和/或增加网络带宽的方法,为提供网络稳定性、带宽、性能非常有利工具,常见的网口聚合可以支持不同工作模式
- mode=0 (balance-rr):轮询模式,负载均衡。
- mode=1 (active-backup):热备份模式,一个接口处于活动状态,另一个处于备份状态。
- mode=2(balance-xor) 异或均衡模式。
- mode=3(broadcast) 广播模式,给所有端口都传输数据。
- mode=4(802.3ad) LACP模式。
- mode=5(balance-tlb) 发送均衡模式。
- mode=6 (balance-tlb):适配器传输负载均衡模式,需要交换机支持。
这里以 active-backup
模式为例,创建网口聚合通常需要如下步骤:
1.驱动安装
需要支持bonding驱动,linux内核自带。
insmod bonding.ko
2. 绑定eth0和eth1网口实例
网卡绑定使用核心工具是nmcli
(NetworkManager Command-Line)nmcli是一个功能强大的命令行工具,用于配置和管理和获取网络连接等。通过使用它提供的各种命令和选项,可以满足各种网络设置需求,其中网卡绑定是该工具支持能力之一。
这里以eth0和eth1网口绑定为bond0 ( active-backup
模式)为实例:
-
NetworkManager 服务启动
systemctl stop NetworkManager
systemctl restart NetworkManager -
节点信息查看和删除
nmcli connection show 查看所有网卡节点
nmcli connection delete eth0 配置前删掉相关节点和ip
nmcli connection delete eth1
nmcli connection delete bond0 -
创建bond0绑定接口
nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 192.168.1.112/24 -
添加被绑定的网卡节点(eth0 和eth1)
nmcli connection add type bond-slave ifname eth1 master bond0
nmcli connection add type bond-slave ifname eth0 master bond0 -
启动网卡
nmcli con up bond0
nmcli con up bond-slave-eth1
nmcli con up bond-slave-eth0 -
查看状态
nmcli connection show
cat /proc/net/bonding/bond0
要看到链接到DEVICE项 有对应名称,才说明connection上,绑定后mac地址将一样:
bond0 7c8a196a-2f96-4096-8d32-dbf8ebb99593 bond
bond0 bond-slave-eth0 0a553cc8-4612-4232-942a-0cc105e82758
ethernet eth0 bond-slave-eth1
df79a75c-8b0d-4ea7-89d4-717288c465b6 ethernet eth1
-
断开绑定、连接绑定
nmcli dev disconnect eth0 断开eth0的绑定
nmcli dev connect eth0 连接eth0的绑定 -
MII监控
检查MII监控是否开启:
cat /sys/class/net/bond0/bonding/mii_status
检查MII监控周期:
cat /sys/class/net/bond0/bonding/miimon -
修改bond模式
nmcli connection modify bond0 mode broadcast 修改为广播模式
nmcli con up bond0 生效
如果报错:‘bond0’: bond.options: ‘primary’ option is only valid for
‘mode=active-backup’ 则del 后再重新创建:
nmcli connection delete bond0
nmcli connection add con-name bond0 ifname bond0 type bond mode
active-backup ip4 192.168.1.112/24
- 指定当前活动网卡Currently(active-backup模式)
nmcli connection modify bond0 primary eth1
nmcli con up bond0 生效
关闭:nmcli connection modify bond0 primary none
如果:
nmcli dev disconnect eth0 eth1
nmcli dev connect eth1 谁先connect的谁就做Currently
nmcli dev connect eth0
-
为bond0 添加ip、网关、dns
nmcli connection modify bond0 ipv4.method manual ipv4.addresses xx.xx.xx.xx/yy ipv4.gateway xx.xx.xx.xx ipv4.dns xx.xx.xx.xx ipv6.method ignore -
修改配置文件路径
/etc/NetworkManager/system-connections
这篇关于linux环境下创建网口聚合实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!