网络组(Network Teaming)

网络组(Network Teaming)
网络组:是将多个网卡聚合在一起的方法,从而实现容错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性
网络组由内核驱动和teamd守护进程实现.
多种方式runner
    broadcast
    roundrobin
    activebackup
    loadbalance
    lacp (implements the 802.3ad Link Aggregation Control Protocol)
启动team连接不会自动启动网络组中的team-slave连接
启动网络组中的team-slave连接不会自动启动team连接
禁用team连接会自动禁用网络组中的team-slave连接
没有team-slave连接的team连接可以启动静态IP连接

启用DHCP连接时,没有team-slave连接的网络组会等待team-slave连接的加入

创建team连接
nmcli con add type team [config <file>|<raw JSON data>] ifname <interface name> [con-name <connection name>]
    JSON格式指定runner方式:'{"runner": {"name": "METHOD"}}'
        METHOD := { broadcast|roundrobin|activebackup|loadbalance|lacp }

创建team-slave连接
nmcli con add type team-slave master <master (ifname, or connection UUID or name)> [config <file>|<raw JSON data>] ifname <interface name> [con-name <connection name>]
连接名<connection name>若不指定,默认为team-slave-ifname

管理网络组配置文件
# /etc/sysconfig/network-scripts/ifcfg-team0-ens37
NAME=team0-ens37
UUID=80ea99c9-8d37-4a57-907f-1d5f7b3d420b
DEVICE=ens37
ONBOOT=yes
TEAM_MASTER=team0
DEVICETYPE=TeamPort

删除网络组配置:
teamdctl team0 state
nmcli connection show
nmcli connection down team0
nmcli connection delete team0-ens37
nmcli connection delete team0-ens38
nmcli connection delete team0
重新为网卡设备配置新的配置文件,以重用该网卡。
nmcli c add type ethernet ipv4.method manual ipv4.addresses 172.18.38.107/16 ipv4.gateway 172.18.0.1 ipv4.dns 8.8.8.8 ifname ens37 con-name ens37

实验:创建网络组
实验环境:CentOS7,三块网卡,其中额外一块ens33网卡的IPADDR=172.18.38.102,PREFIX=16,GATEWAY=172.18.0.1,配置过程中ssh不断网,方便操作。ens37和ens38两块网卡用作配置网络组。
#要想执行nmcli命令,先启动NetworkManager 服务:
systemctl start  NetworkManager
#查看网卡设备信息

ip link

网络组(Network Teaming)
网络组(Network Teaming)
#若即将配置为网络组的网卡设备有IP,先清除之
ip a flush ens37
ip a flush ens38
网络组(Network Teaming)
#添加连接:(type)类型team,(config)配置为活动-备用模式,(ifname) 设备名team0,(con-name)连接名team0
nmcli connection add type team config ‘{“runner”: {“name”: “activebackup”}}’ ifname team0 con-name team0
网络组(Network Teaming)
#修改连接team0:(ipv4.method)配置手段为手动,ipv4.address,ipv4.gateway
nmcli connection modify team0 ipv4.method manual ipv4.addresses 172.18.38.103/16 ipv4.gateway 172.18.0.1
#如果此后再要修改team0的配置,必须先执行nmcli c down team0,再执行nmcli c up team0,修改才能生效。
#添加team-slave连接:(type)类型team-slave,(master)主设备名,(ifname)设备名必须对应网卡名,(con-name)连接名随意起,缺省为team-slave-<ifname>
nmcli connection add type team-slave master team0 ifname ens37 con-name team0-ens37
nmcli connection add type team-slave master team0 ifname ens38 con-name team0-ens38
网络组(Network Teaming)
#查看网络组状态
teamdctl team0 state
网络组(Network Teaming)
#另外,执行nmcli c add命令时/etc/sysconfig/network-scripts目录下会自动生成ifcfg-team0等网卡配置文件,所以即便重启机器配置也不会丢失
网络组(Network Teaming)
#配置完成后的最终状态:
网络组(Network Teaming)
网络组(Network Teaming)
网络组(Network Teaming)
网络组(Network Teaming)


#验证
#从内部通过team0的IP ping网关
ping -I 172.18.38.103 172.18.0.1
网络组(Network Teaming)
#从外部(另一台主机)ping team0 的IP地址
ping -I 172.18.38.102 172.18.38.7
网络组(Network Teaming)
#设备断开ens37,可查看状态,活动slave接口变为ens38
nmcli dev disconnect ens37
teamdctl team0 state
网络组(Network Teaming)
nmcli dev connect ens37     #连上ens37设备,此时不会自动切换slave活动接口,仍为ens38
teamdctl team0 stat     #题外话:这里ens37的down count并未加1,可能因为使用nmcli命令,它认为是管理性的操作,不计入故障。
网络组(Network Teaming)
ip link set ens38 down     #再用ip link命令(和nmcli dev命令同样工作在链路层)停用ens38设备,此时slave活动接口变为ens37
teamdctl team0 stat     #这里ens38的down count加1,说明它察觉到故障,自动切换接口到ens37上
网络组(Network Teaming)
当然,也可以手动拔掉网线来验证
整个验证过程中ping一直有响应,说明网络组工作正常。


#演示team连接与team-slave连接的关系
nmcli connection down team0     #停用网络组team连接,会自动停用team-slave连接
nmcli c
nmcli connection up team0     #启用网络组team连接,并不会自动启动启用team-slave连接
nmcli c
nmcli connection up team0-ens37
nmcli c
nmcli connection up team0-ens38
nmcli c
teamdctl team0 state     #down count 计数归零
网络组(Network Teaming)


#移除网络组
teamdctl team0 stat
nmcli c
nmcli c down team0
nmcli c del team0
nmcli c del team0-ens37
nmcli c del team0-ens38
#必要情况下重新为ens37和ens38网卡设备配置新的配置文件,以重用该网卡。
nmcli c add type ethernet ipv4.method manual ipv4.addresses 172.18.38.107/16 ipv4.gateway 172.18.0.1 ipv4.dns 8.8.8.8 ifname ens37 con-name ens37
网络组(Network Teaming)

原创文章,作者:Leion,如若转载,请注明出处:http://www.178linux.com/71856

(1)
上一篇 2017-03-26 22:14
下一篇 2017-03-26 22:17

相关推荐

  • CentOS 6开机启动流程理论篇

    CentOS 6开机启动流程理论篇 centos 系统的启动流程 grub 破坏Linux的核心文件再修复体验系统启动流程 概述 任 何系统启动的第一步必然是加电,然后计算机硬件会主动地读取BIOS来加载硬件设备信息并检测,之后系统会主动地读取第一个有引导程序的设备,该引导程序 (grub)可以指定使用哪个内核来启动,并将其加载至内存当中运行,同时内核还要加…

    Linux干货 2016-09-19
  • Linux作业管理和并发执行

    概述 本章将为大家介绍一些进程管理的补充部分作业管理和任务的并发执行,同时也将介绍一下Linux系统上计划任务的相关内容,具体分为:1、Linux作业管理2、任务的并发执行 第一章 Linxu作业管理 1、前台作业和后台作业    前台作业:通过中断启动,且启动后一直占据终端    后台作业:可通过终端启动,但启动后即…

    Linux干货 2016-09-28
  • 系统管理之程序包管理(一) rpm详解

    系统管理之程序包管理(1):     程序包管理是运维人员的基本工作素质之一。在操作系统上,不断的安装,卸载,配置应用程序包,让不同程序包运行提供不同的服务;利用某种工具完成某些操作的过程。这就要求运维工作人员熟悉安装,管理应用程序包。 在linux上,程序包主要有两种:tar,rpm包。 一、程序包概述: 系统接口   &nb…

    Linux干货 2016-08-21
  • 再不自动化就晚啦!优云教你4步打造基于CentOS的产品镜像

    随着Linux程序的增多,软件的安装过程中经常出现如下问题: 1、硬件配置类似或者相同时,批量安装系统和软件,希望实现自动化安装,减少安装时间和人为出错。 2、工程实施人员在不同客户现场进行系统和软件安装(硬件配置不同),由于硬件有差别,不容易实现自动化。 笔者针对以上场景,从提高生产效率,减少误操作的立场,提出如下解决方案,希望能达到抛砖引玉的目的,并能与…

    系统运维 2016-07-16
  • 第三次作业

    第三次作业 一、软链接与硬链接的区别    硬链接就是同一个文件使用了多个别名(他们有共同的 inode)。 硬链接可由命令 link 或 ln 创建,如: 1 2 #link oldfile newfile  #ln oldfile newfile   由于硬链接是有着相同 i…

    Linux干货 2016-08-03
  • N21沉舟-第八周作业

    1、  请描述网桥、集线器、二层交换机、三层交换机、路由器的功能、使用场景与区别。 #网桥:链接层设备,基于MAC地址过滤。 #集线器:物理层设备,基本都属于半双工模式。集线器与网桥在现在的局域网中基本都不用了。 #二层交换机:工作在数据链路层,基本MAC转发数据,功能齐全的可支持VLAN等功能。常见的有100/1000M、16口/24口/48口。…

    Linux干货 2016-08-24