网卡(接口)绑定是将多块网卡逻辑地连接到一起从而允许故障转移或者提高吞吐率的方法。提高服务器网络可用性的一个方式是使用多个网卡。Linux绑定驱动程序提供了一种将多个网卡聚合到一个逻辑的绑定接口的方法。这是个新的实现绑定的方法,并不影响linux内核中旧绑定驱动。
网卡绑定为我们提供了两个主要的好处:
现在让我们在CentOS7上配置网卡绑定吧。我们需要决定选取哪些接口配置成一个组接口(Teaminterface)。
运行iplink命令查看系统中可用的接口。
$iplink
这里我们使用eno16777736和eno33554960网卡在主动备份模式下创建一个组接口。(译者注:关于不同模式可以参考:多网卡的7种bond模式原理)
按照下面的语法,用nmcli命令为网络组接口创建一个连接。
#nmcliconaddtypeteamcon-nameCNAMEifnameINAME[configJSON]
CNAME指代连接的名称,INAME是接口名称,JSON(JavaScriptObjectNotation)指定所使用的处理器(runner)。JSON语法格式如下:
'{"runner":{"name":"METHOD"}}'
METHOD是以下的其中一个:broadcast、activebackup、roundrobin、loadbalance或者lacp。
1.创建组接口
现在让我们来创建组接口。这是我们创建组接口所使用的命令。
#nmcliconaddtypeteamcon-nameteam0ifnameteam0config'{"runner":{"name":"activebackup"}}'
运行#nmcliconshow命令验证组接口配置。
#nmcliconshow
2.添加从设备
现在让我们添加从设备到主设备team0。这是添加从设备的语法:
#nmcliconaddtypeteam-slavecon-nameCNAMEifnameINAMEmasterTEAM
在这里我们添加eno16777736和eno33554960作为team0接口的从设备。
#nmcliconaddtypeteam-slavecon-nameteam0-port1ifnameeno16777736masterteam0#nmcliconaddtypeteam-slavecon-nameteam0-port2ifnameeno33554960masterteam0
再次用命令#nmcliconshow验证连接配置。现在我们可以看到从设备配置信息。
#nmcliconshow
3.分配IP地址
上面的命令会在/etc/sysconfig/network-scripts/目录下创建需要的配置文件。
现在让我们为team0接口分配一个IP地址并启用这个连接。这是进行IP分配的命令。
#nmcliconmodteam0ipv4.addresses"192.168.1.24/24192.168.1.1"#nmcliconmodteam0ipv4.methodmanual#nmcliconupteam0
4.验证绑定
用#ipaddshowteam0命令验证IP地址信息。
#ipaddshowteam0
现在用teamdctl命令检查主动备份配置功能。
#nmcliconaddtypeteamcon-nameCNAMEifnameINAME[configJSON]
0
现在让我们把激活的端口断开连接并再次检查状态来确认主动备份配置是否像希望的那样工作。
#nmcliconaddtypeteamcon-nameCNAMEifnameINAME[configJSON]
1
断开激活端口后再次用命令#teamdctlteam0state检查状态。
#nmcliconaddtypeteamcon-nameCNAMEifnameINAME[configJSON]
0
是的,它运行良好!!我们会使用下面的命令连接回到team0的断开的连接。
#nmcliconaddtypeteamcon-nameCNAMEifnameINAME[configJSON]
3
我们还有一个teamnl命令可以显示teamnl命令的一些选项。
用下面的命令检查在team0运行的端口。
#nmcliconaddtypeteamcon-nameCNAMEifnameINAME[configJSON]
4
显示team0当前活动的端口。
#nmcliconaddtypeteamcon-nameCNAMEifnameINAME[configJSON]
5
好了,我们已经成功地配置了网卡绑定:-),如果有任何反馈,请告诉我们。
作者:ArunPyasi译者:ictlyh校对:wxy
本文由LCTT原创翻译,Linux中国荣誉推出
本文由LCTT原创翻译,Linux中国首发。也想加入译者行列,为开源做一些自己的贡献么?欢迎加入LCTT!
翻译工作和译文发表仅用于学习和交流目的,翻译工作遵照CC协议规定,如果我们的工作有侵犯到您的权益,请及时联系我们。
欢迎遵照CC协议规定转载,敬请在正文中标注并保留原文/译文链接和作者/译者等信息。
文章仅代表作者的知识和看法,如有不同观点,请楼下排队吐槽:D