Linux网络管理 centos7中team组的实现

        在centos7之前我们一直使用的是bond机制来实现多网络绑定一个ip地址来对网络提供访问,并且按照不同模式来管理或处理数据。到了centos7以后,提供了nmcli命令工具,使用这个工具会根据命令参数生成特定的配置文件供网络接口使用方便而且灵活。

网络组Network Teaming

        网络组是将多块网卡逻辑的连接在一起从而允许故障传一或者提高吞吐率的方法。提高服务器网络可用性的一个方式是使用多块网卡。linux绑定驱动程序提供了一种将多个网卡聚合到一个逻辑的绑定接口的方法。这是个新的实现绑定的方法,并不影响linux内核中旧绑定驱动。

            1、网络组:是将多个网卡聚合在一起的方法,从而实现冗错和提高吞吐量。

            2、网络组不同于旧版中bonding,提高了更好的性能和扩展性。

            3、网络组有内核驱动和teamd守护进程实现。

            4、多种方式runner:

                    broadcast : 传输来自所有端口的包

                    roundrobin :以轮询的方式传输来自每个端口的包

                    activebackup :故障转移,监视链接更改并选择活动端口进行数据传输

                    lacp : 实施802.3链路聚合控制协议

            1、启动网络组接口不会自动启动网络组中的port接口

            2、启动网络组接口中的port接口始终会启动合作接口

            3、禁用网络组接口会自动禁用网络组中的port接口

            4、没有port接口的网络组接口可以启动静态IP连接

            5、启用DHCP链接时,没有port接口的网络组会等待port接口加入

创建网络组接口

            nmcli命令可用于创建和管理组和端口接口。

            1、创建组接口

            2、确定组接口的ipv4或ipv6属性

            3、分配端口接口

            4、启动/关闭组接口和端口接口

创建组接口命令格式

            nmcli con add type team con-name CNAME ifname INAME 【configJSON

                CNAME :连接名,INAME :接口名

                JSON指定runner方式(格式:‘{“runner”:{“METHOD”}}’)

                    METHOD 可以是 broadcast,roundrobin,activebackup,loadbalance,lacp

分配端口接口的命令格式

            nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

                CNAME : 连接名(连接名若不指定,默认为team-slave-IFACE)

                INAME :网络接口名

                TEAM : 网络组接口

启动/关闭组接口和端口接口

            nmcli dev dis INAME

            nmcli con up CNAME

INAME设备名  CNAME网络组接口名或port接口

*注意*

1、当创建网络组team0时,会产生/etc/syscinfig/network-scripts/ifcfg-team0文件。

2、使用命令 teamdctl 组名 state 查看状态


例子:创建网络组team0

            nmcli con add con-name team0 type team ifname team0 config ‘{“runner”{“activebackup”}}’ ip4 10.0.0.1  gw4 10.0.0.2(红色部分如果不需要指定静态ip,可不写)

添加DNS

            nmcli con nodify team0 ipv4.dns 2.2.2.2

加入组成员

            nmcli con add con-name team0-ens33 type team-slave ifname ens33 master team0

启动

            nmcli con up team0

            nmcli con up team0-ens33

常看状态

            teamdctl team0 state