Linux配置bond模式 双网卡绑定步骤

什么是bond

网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术。Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现,15.5以后的版本可以实现。

bond的模式

bond的模式常用的有两种(共六种):

mode=0(round-robin)

  • 特点:按照设备顺序依次传输数据包,提供负载均衡和容错能力
  • 要求:交换机需要配置trunking

mode=1(active-backup)

  • 特点:只有一个设备处理数据,当它宕机的时候就会由备份代替,仅提供容错能力
  • 要求:交换机不需要配置trunking

小提示:如果网络带宽量不超过单条链路的承载量,就不要配置mode1之外的模式,因为如果通过两个不同网卡去发送数据包,在到达对端包时,有些应用可能识别不到这个包或对这个包排序错误,导致这个数据访问异常;如果超过这个承载量可以做负载,即mode4(lacp)聚合组

bond实现步骤

# 准备两张网卡,通过设置,网络适配器添加网卡
nmcli device s
#有ens160和ens224两张网卡

#接着确保两张网卡都没有配置文件
nmcli con show
nmcli con delete 网卡name  #有两张删两张,有一删一
nmcli con show  #即两张网卡都不显示,确认没有配置文件

#创建虚拟接口(逻辑接口)
nmcli con add type bond ifname bond0 con-name bond0 mode active-backup autoconnect yes
#ifname 是虚拟设备名字;mode 指定模式active-backup 即主备模式

#给虚拟接口添加两块物理网卡
nmcli con add type ethernet slave-type bond ifname ens160 con-name ens160 master bond0
nmcli con add type ethernet slave-type bond ifname ens224 con-name ens224 master bond0

#给虚拟接口配置地址,可以配置网关和DNS
nmcli con modify bond0 ipv4.addresses 192.168.1.99/24 ipv4.method manual
nmcli con up bond0  #不需要激活ens网卡
ifconfig bond0

#通过CMD命令框进行访问 ping 192.168.1.99 -t
证明可以相通

#查看网卡绑定状态
cat /proc/net/bonding/bond0

bond模拟故障

点击虚拟机 ——> 可移动设备(即可看到两个网络适配器) ——> 两张网卡交换断开依旧相通;两张网卡都断开则请求超时

只能去此处断开,不能敲命令断开,否则都不通

ip a
上面步骤只 up 了bond0,只看得到bond0的IP,ens160和ens224的地址变成了同一地址,所以VMware才会提示系统上另一个虚拟适配器正在使用该地址,VMware把两条链路变成了同一条(同一个地址),导致交换机认为网卡有故障,VMware会自动断掉两张网卡其中一条,所以不能down ens网卡,因为另一个是不通的,则会ping不通;操作上面步骤,虚拟机则会断开一张就释放另一张网卡

即可发现,两张网卡随便断开一张(故障一张),依旧可以工作,都不会受影响

posted @ 2022-05-14 12:58  郑琰  阅读(844)  评论(0编辑  收藏  举报
#

# #