三、CentOS7下通过网络组Network Teaming绑定
1、网络组概述
(1)网络组作用:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量,提供更好的性能和扩展性
(2)网络组由内核驱动和teamd守护进程实现
(3)支持的方式:broadcast、roundrobin、activebackup、loadbalance、lacp(implements the 802.3ad LinkAggregation Control Protocol)
2、创建网络组(即创建banding)
(1)创建网络组接口
1)创建命令:nmclicon add type team con-nameCNAMEifnameINAME[configJSON]
2)参数说明:CNAME连接名,INAME接口名
JSON指定runner方式
格式:'{"runner": {"name":"METHOD"}}'
METHOD可以是broadcast,roundrobin,activebackup,loadbalance,lacp
[root@linuxidc ~]# nmcliconnection add type team con-name team0 ifname team0 config'{"runner":{"name":"loadbalance"}}' #创建网络组接口,创建后会自动生成网络组配置文件
[root@linuxidc network-scripts]#ls ifcfg-team0 #生成的网络组配置文件
ifcfg-team0
#为网络组接口配置IP地址
[root@linuxidc network-scripts]#nmcli connection modify team0 ipv4.addresses 172.16.1.252/16
#指定网络接口组IP地址类型为手工指定
[root@linuxidc network-scripts]#nmcli connection modify team0 ipv4.method manual
#为网络组接口设置DNS和网关
[root@linuxidc network-scripts]#nmcli connection modify team0 ipv4.gateway 172.16.0.1
[root@linuxidc network-scripts]#nmcli connection modify team0 ipv4.dns 172.16.0.1
(2)创建port接口(即为网络组添加物理网卡)
1)用法:nmclicon add type team-slave con-nameCNAMEifnameINAMEmaster TEAM
2)参数:CNAME连接名
INAME网络接口名
TEAM网络组接口名
[root@linuxidc network-scripts]#nmcli connection add con-name team0-eth0 type team-slave ifname eth0 master team0 #将eth0添加到网络组,会生成新的配置文件team0-eth0
Connection 'team0-eth0' (26f78262-827e-4576-a6dd-ffa633710cad)successfully added.
[root@linuxidc network-scripts]#nmcli connection add con-name team0-eth1 type team-slave ifname eth1 master team0 #将eth1添加到网络组,会生成新的配置文件team0-eth1
Connection 'team0-eth1' (520a97b9-22ce-4e26-9c7f-ff2470260b11)successfully added.
[root@linuxidc network-scripts]#nmcli connection show #查看网络配置文件
……
team0 f6ad9858-fa1c-447c-b05c-d64026722648 team team0
team0-eth1 520a97b9-22ce-4e26-9c7f-ff2470260b11 802-3-ethernet --
team0-eth0 26f78262-827e-4576-a6dd-ffa633710cad 802-3-ethernet --
(3)启动网络组
1)启动网络组接口不会自动启动网络组中的port接口
2)启动网络组接口中的port接口总会自动启动网络组接口
3)禁用网络组接口会自动禁用网络组中的port接口
4)没有port接口的网络组接口可以启动静态IP连接
5)启用DHCP连接时,没有port接口的网络组会等待port接口的加入
[root@linuxidc network-scripts]#nmcli connection up team0 #启动网络组
Connection successfully activated(master waiting for slaves) (D-Bus active path:/org/freedesktop/NetworkManager/ActiveConnection/24)
#没有启动网络组接口静态IP可以生效,并可以ping通(前提示和物理网卡同一网段)
[root@linuxidc network-scripts]#ifconfig team0
team0:flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.16.1.252 netmask 255.255.0.0 broadcast 172.16.255.255
ether 4a:12:68:43:5b:74 txqueuelen 0 (Ethernet)
[root@linuxidc network-scripts]#nmcli connection show #启动网络组并不会启动网络组中接口
NAME UUID TYPE DEVICE
team0 f6ad9858-fa1c-447c-b05c-d64026722648 team team0
……
team0-eth1 520a97b9-22ce-4e26-9c7f-ff2470260b11 802-3-ethernet --
team0-eth0 26f78262-827e-4576-a6dd-ffa633710cad 802-3-ethernet --
#启动网络组中接口,启动网络组接口后,网络组接口ip地址才会失效
[root@linuxidc network-scripts]#nmcli connection up team0-eth0
[root@linuxidc network-scripts]#nmcli connection up team0-eth1
(4)查看网络组状态信息
[root@linuxidc ~]# teamdctl team0state
setup:
runner: loadbalance
ports:
……
(5)删除网络组
[root@linuxidc ~]# nmcliconnection down team0 #停掉网络组,停掉后物理网络会自动开启
#删除网络组port配置信息
[root@linuxidc ~]# nmcliconnection delete team0-eth0
Connection 'team0-eth0'(26f78262-827e-4576-a6dd-ffa633710cad) successfully deleted.
[root@linuxidc ~]# nmcliconnection delete team0-eth1
Connection 'team0-eth1'(520a97b9-22ce-4e26-9c7f-ff2470260b11) successfully deleted.
[root@linuxidc ~]# nmcliconnection delete team0 #删除网络组
Connection 'team0'(f6ad9858-fa1c-447c-b05c-d64026722648) successfully deleted.
[root@linuxidc ~]# nmcliconnection show #查看配置信息时,没有了网络组配置信息
NAME UUID TYPE DEVICE
virbr0 084f00d4-652e-44c8-83b7-70b469f89f31 bridge virbr0
eth0 d50e8c71-6416-4ab6-97ca-ad2002cd3353 802-3-ethernet eth0
eth1 370c3d11-868f-4efc-95bc-630169b62ef1 802-3-ethernet eth1