技术流ken

运维拯救世界

网卡绑定bond–技术流ken

前言

 

一般来讲,生产环境必须提供7×24小时的网络传输服务。借助于网卡绑定技术,不仅可以提高网络传输速度,更重要的是,还可以确保在其中一块网卡出现故障时,依然可以正常提供网络服务。假设我们对两块网卡实施了绑定技术,这样在正常工作中它们会共同传输数据,使得网络传输的速度变得更快;而且即使有一块网卡突然出现了故障,另外一块网卡便会立即自动顶替上去,保证数据传输不会中断。

 

网卡绑定常见模式

 

常见的网卡绑定驱动有三种模式—mode0、mode1和mode6。下面以绑定两块网卡为例,讲解使用的情景。

mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。

mode1(自动备援模式):平时只有一块网卡工作,在它故障后自动替换为另外的网卡。

mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持。

比如有一台用于提供NFS或者samba服务的文件服务器,它所能提供的最大网络传输速度为100Mbit/s,但是访问该服务器的用户数量特别多,那么它的访问压力一定很大。在生产环境中,网络的可靠性是极为重要的,而且网络的传输速度也必须得以保证。针对这样的情况,比较好的选择就是mode6网卡绑定驱动模式了。因为mode6能够让两块网卡同时一起工作,当其中一块网卡出现故障后能自动备援,且无需交换机设备支援,从而提供了可靠的网络传输保障。

 

网卡绑定技术实践

 

实验关掉NetworkManager

 

第一步:添加一块网卡,两块网卡需要在相同的网络模式

使用仅主机模式

 

第二步:使用Vim文本编辑器来配置网卡设备的绑定参数。网卡绑定的理论知识类似于前面学习的RAID硬盘组,我们需要对参与绑定的网卡设备逐个进行“初始设置”。需要注意的是,这些原本独立的网卡设备此时需要被配置成为一块“从属”网卡,服务于“主”网卡,不应该再有自己的IP地址等信息。在进行了初始设置之后,它们就可以支持网卡绑定。

[root@ken2 network-scripts]# cat ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
DEVICE=ens33
MASTER=bond0
SLAVE=yes

[root@ken2 network-scripts]# cat ifcfg-ens37
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
DEVICE=ens37
MASTER=bond0
SLAVE=yes

 

第三步:还需要将绑定后的设备命名为bond0并把IP地址等信息填写进去,这样当用户访问相应服务的时候,实际上就是由这两块网卡设备在共同提供服务。

[root@ken2 network-scripts]# cat ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
DEVICE=bond0
IPADDR=192.168.64.7
NETMASK=255.255.255.0

DNS=114.114.114.114

GATEWAY=192.168.64.2

 

第四步:下面使用Vim文本编辑器创建一个用于网卡绑定的驱动文件,使得绑定后的bond0网卡设备能够支持绑定技术(bonding);同时定义网卡以mode6模式进行绑定,且出现故障时自动切换的时间为100毫秒。

[root@ken2 network-scripts]# cat /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=6

 

第五步:重启网络服务后网卡绑定操作即可成功。正常情况下只有bond0网卡设备才会有IP地址等信息

 

第六步:确认bond状况

 

从上面的确认信息中,我们可以看到2个重要信息:
1.现在的bonding模式
2.现在Active状态的网口是ens33

 

第七步:可以在本地主机执行ping 192.168.64.7命令检查网络的连通性。为了检验网卡绑定技术的自动备援功能,可以使用ifdown网卡名关闭一个网卡,可以非常清晰地看到网卡切换的过程(一般只有1个数据丢包)。然后另外一块网卡会继续为用户提供服务。

 

ifdown eth0

ifup eth0

 

 

发表评论

电子邮件地址不会被公开。