Linux配置bond模式 双网卡绑定步骤
作者:@郑琰
本文转载请注明出处!:https://www.cnblogs.com/zhengyan6/p/16269712.html
什么是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不通;操作上面步骤,虚拟机则会断开一张就释放另一张网卡
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)