网卡绑定技术:正常工作中他们会共同传输数据,使得网络传输的速度变得更快,即使有一块网卡突然出现故障,另外一块也会自动顶上去,保证数据传输不会中断。
以下使用虚拟机为redhat 7
1、给虚拟机添加一个网络适配器,两块网卡的模式需保持一致,例如都为仅主机模式。注意先关机,再更改虚拟机设置。
2、编辑网卡的绑定参数
# vim /etc/sysconfig/network-scripts/ifcfg-eno16777728
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=ens16777728 ##注意这里需要看ip a 跟上面的网卡名字一样
MASTER=bond0
SLAVE=yes
##新建
# vim /etc/sysconfig/network-scripts/ifcfg-eno33554968
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=eno33554968
MASTER=bond0
SLAVE=yes
新建bond0配置文件
# vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.136.13
PREFIX=24
NM_CONTROLLED=no ## 这个配置指不受NetworkManager服务的控制
查看NetworkManager服务的状态,这是linux中默认启用的 稳定提供网卡的服务,配置比较基础。
# systemctl status NetworkManager
● NetworkManager.service - Network Manager
Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2020-03-07 05:52:32 CST; 21min ago
Docs: man:NetworkManager(8)
Main PID: 810 (NetworkManager)
Tasks: 4
Memory: 10.5M
CGroup: /system.slice/NetworkManager.service
├─810 /usr/sbin/NetworkManager --no-daemon
└─948 /sbin/dhclient -d -q -sf /usr/libexec/nm-dhcp-helper -pf /var/run/d...
Mar 07 06:02:04 templete NetworkManager[810]: <info> [1583532124.8725] device (en...d.
。。。省略。。。
3、让linux内核支持网卡绑定驱动。
常见网卡绑定驱动有三种模式—mode0,mode1,mode6
- mode0 (平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
- mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
- mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持,由内核进行切换。
以下定义网卡已mode6模式进行绑定,且出现故障时自动切换的时间为100毫秒
# vim /etc/modprobe.d/bond.conf
alias bond0 bonding ##让bond0支持绑定技术
options bond0 miimon=100 mode=6 ## 切换时间为100ms,使用模式6
4、更改后重启网络服务
# systemctl restart network
5、测试
测试破坏一块网卡后,网络是否会中断
方法,主机一直ping 虚拟机ip ,编辑虚拟机设置,暴力移除一块网卡,相当于暴力扯掉一块网卡,看网络十分能正常使用。
ping 192.168.136.13 -tr
结果如下图所示,只有一个请求超时,然后立即恢复网络。这里是我们设置的切换时间最大为100ms。
由此可知,两块网卡绑定后,其中一块出问题,另一块能基本无缝对接,使网络不会中断。