linux中双网卡绑定bonding技术(Red Hat 8)
开心一刻
学校请来区里的专家给学生上性知识讲座,结果专家扯了一下午计划生育工作进展,最后为了增加趣味性捎带提到女娲造人的传说,他问道:谁知道女娲为什么要用黄土造人?
台下无人响应,专家有点尴尬,就点了他面前的一个女生回答。
女生小声说:是不是她不知道怎么造人?
专家启发道:那她为什么不知道怎么造人呢?
女生答:是不是因为听了您的讲座?
写在前面
最近在学linux课程,在VMware中使用redhat 8进行学习,学到上网卡绑定bonding技术,尝试使用修改配置文件的方式进行配置,一直无法成功,后来使用图形化界面配置成功,和我之前使用配置文件配置不成功的方法对比,记录一下正确的配置文件配置方法,并记录某些字段含义以便理解。
第一步:添加网卡
虚拟机中添加网卡非常方便,只不过配置双网卡绑定要让两块网卡处于相同的模式下,我这里选择的都是处于仅主机模式。处于相同模式的网卡设备才可以进行网卡绑定,否则两块网卡之间无法相互传送数据。
首先按照下图添加网卡。
添加完成后修改新添加的网卡模式为仅主机模式。
第二步:网卡参数设置
配置之前最好先用nmcli connection delete ens160
命令删除已经设置过得网卡配置信息(ens160是网卡的设备名称,根据实际情况来写),要不然配置成功后ifconfig查看信息时有块“从属”网卡仍然会有ip信息。真机建议先备份网卡配置信息再删除。
使用Vim编辑器来配置网卡设备的绑定参数。网卡配置信息在/etc/sysconfig/network-scripts下。
[root@localhost network-scripts]# vim ifcfg-ens160
TYPE=Ethernet # 必需,网卡类型,“从属”网卡设置为以太网
BOOTPROTO=none # 非必需,启动协议,可选dhcp、static、none等
NAME=ens160 # 非必需,但建议写上,且和DEVICE字段保持一致,否则系统自动生成一个名称,在使用 'nmcli connection up 设备名称' 命令时就要用系统生成的名称。系统生成的比较长,而且还有空格,可以用 'nmcli connection show' 查看。
DEVICE=ens160 # 必需,系统默认生成的名称。
ONBOOT=yes # 非必需,但建议加上,此字段为开机是否自动连接,一般都是选择自动连接。
MASTER=bond0 # 必需,设置“主”网卡
SLAVE=yes # 必需,设置该网卡是否为一个“从属”网卡
[root@localhost network-scripts]# vim ifcfg-ens192
TYPE=Ethernet
BOOTPROTO=none
NAME=ens192
DEVICE=ens192
ONBOOT=yes
MASTER=bond0
SLAVE=yes
设置好“从属”网卡后,还需要将绑定后的设备命名为bond0并把IP地址等信息填写进去,这样当用户访问相应服务的时候,实际上就是由这两块网卡设备在共同提供服务。
[root@localhost network-scripts]# vim ifcfg-bond0
TYPE=Bond # 必需,且要为Bond,redhat7中使用network服务管理时也可以设置为Ethernet,但是redhat8中已经取消了network,使用NetworkManager管理网络服务。不过不管在redhat7还是8中,bond0最好TYPE都设置为Bond
BOOTPROTO=none
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.10.10
PREFIX=24
DNS=192.168.10.1 # 非必需
NM_CONTROLLED=yes # 非必需,但是不要设置为no,设置为no的意思是不让NetworkManager管理,这样话双网卡设置是不会成功的。
BONDING_OPTS="downdelay=0 miimon=1 mode=balance-alb updelay=0" # 非必需,不写就会使用系统默认。这里是设置Bonding的模式,Bonding有7种模式
BONDING_MASTER=yes # 非必需,明确说明这是一个“主”网卡。
第三步:让linux内核支持网卡绑定技术。常见的网卡绑定驱动有三种模式--mode0、mode1和mode6.
- mode0(平衡负载模式): 平时两块网卡均工作,且自动备援,但需要在与服务器本地网卡相连的交换机设备上进行端口聚合来支持绑定技术。
- mode1(自动备援模式): 平时只有一块网卡工作,在它故障后自动替换为另外的网卡。
- mode6(平衡负载模式): 平时两块网卡均工作,且自动备援,无需交换机设备提供辅助支持。
具体可参考七种网卡绑定模式详解
但是,特别说明:redhat7和8中已经不用单独设置了,在配置文件中的 BONDING_OPTS 和 BONDING_MASTER 字段已经说明了。我也没有写配置方法
第四步:启动虚拟网卡bond0
在redhat8中,不需要重启网络服务而是重启网卡即可使用。
输入一下命令即可。
nmcli connection reload
nmcli connection up bond0 # redhat8中重启网卡的命令已经都集成到nmcli命令中喽,不再是ifup、ifdown了
结语
配置了大半天,终于配置了,使用配置文件心累呀,不过能学到知识还是好的。不过说实话能有图形化界面,使用图形化界面最好了,操作简单,还能一次性成功。_
文中都是我个人的理解,如有错误的地方欢迎下方评论告诉我,我及时更正,大家共同进步