centos 7 2009 Linux系统之多网卡Team链路聚合配置
  ETWZF7L1nsXD 2023年11月02日 57 0

Linux系统之Team链路聚合配置

操作步骤
一、Team链路聚合介绍
     1. Teaming技术简介
     2. 网卡的bonding和Teaming技术
     3. Team常用工作模式
 二、实践环境规划
 三、添加物理网卡
     1. 新增物理网卡
     2. 查看网卡信息
 四、Team链路聚合配置
     1. 查看team的工作模式
     2. 创建team0的网络接口
     3. 配置team0接口的IP地址
     4. 添加team0的子接口
     5. 激活网卡
     6. 检查team0接口的状态
 五、测试Team链路聚合
     1. 测试team0接口的网络连通情况
     1. 停用ens37网卡
     3. 测试网络情况
 六、删除子接口操作
     1. 删除子接口
     2. 查看网卡信息
     3. 重启team0
     
     来自:https://blog.51cto.com/u_14664141/7060447

一、Team链路聚合介绍

  1. Teaming技术简介
1. 1.Teaming技术就是把同一台服务器上的多个物理网卡通过软件绑定成一个虚拟网卡;
2.我们可以通过Teaming技术做链路聚合,实现不同网卡的网卡的负载均衡和冗余;
解释:

    1. TIC teaming

       将多个物理端口绑定在一起当成一个逻辑端口使用

       Rhel7是通过runner(可以视作一段代码)来实现高可用或负载均衡

    2. Team结构

       Mster:一个逻辑端口,可以看作一个组

       Slave:所有的物理端口,可以看作成员

    3. Team实现过程

       配置一个mster(逻辑端口),并且同时通过runner设置模式(HA或者LB)

       将物理网卡绑定到master

       启用加入master的slave

       配置IP
  1. 网卡的bonding和Teaming技术
1. 1.一般在在RHEL5/RHEL6中使用的是Bonding,而RHEL7提供了一项新的实现技术Teaming,
用来实现链路聚合的功能。
2.网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,
"team"模式最多可以添加八块网卡。
  1. Team常用工作模式
3. Team常用工作模式如下:
roundrobin: 以轮循的模式传输所有端口的包
activebakup:主备模式这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输
loadbalance: 监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡
broadcast: 广播容错,设备通过所有端口传输数据包

二、实践环境规划

本次实践规划:

centos 7 2009 Linux系统之多网卡Team链路聚合配置_IP

hostname team接口IP地址 物理网卡 操作系统版本 jeven 192.168.200.126 ens37/38/39/40 centos 7.6 三、添加物理网卡

  1. 新增物理网卡
    给虚拟机新增四张物理网卡 需要注意的是添加的网络适配器需网络模式一致,添加的个数为2的指数。

centos 7 2009 Linux系统之多网卡Team链路聚合配置_链路_02

Linux系统之Team链路聚合配置_docker

  1. 查看网卡信息
    查看新增的4张网卡ens37/38/39/40,已正常添加。
[root@localhost ~]# ip add  |grep ens
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.10.201.222/24 brd 10.10.201.255 scope global noprefixroute ens33
3: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.10.201.127/24 brd 10.10.201.255 scope global noprefixroute dynamic ens37
4: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.10.201.101/24 brd 10.10.201.255 scope global noprefixroute dynamic ens38
5: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.10.201.229/24 brd 10.10.201.255 scope global noprefixroute dynamic ens39
6: ens40: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 10.10.201.138/24 brd 10.10.201.255 scope global noprefixroute dynamic ens40

centos 7 2009 Linux系统之多网卡Team链路聚合配置_链路_03

四、Team链路聚合配置

  1. 查看team的工作模式
    通过teamd.conf查看team的工作模式
man teamd.conf

centos 7 2009 Linux系统之多网卡Team链路聚合配置_3d_04

翻译:

runner.name(字符串)

团队设备的名称。以下跑步者可用:


broadcast—简单的runner,它指导团队设备通过所有端口传输数据包。


roundrobin——简单的runner,它指导团队设备以roundrobing的方式传输数据包。


random——简单的runner,它指导团队设备在随机选择的端口上传输数据包。


activebackup--监视链接更改并选择用于数据传输的活动端口。


loadbalance——要进行被动负载平衡,runner只设置BPF散列函数,该函数将确定数据包的端口

传输为了进行主动负载平衡,runner在可用端口之间移动散列,试图达到完美的平衡。


lacp——实现802.3ad lacp协议。可以使用与负载平衡运行程序相同的Tx端口选择可能性。


默认值:循环

Linux系统之Team链路聚合配置链路02

  1. 创建team0的网络接口
使用 nmcli 命令,添加一个 team 网络接口 team0,我们选择的team模式是activebakup主备模式。
1.创建team0网络接口
[root@localhost ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'

显示如下成功
Connection 'team0' (d53b931e-3f20-4ff0-b883-ea25e6c9b6fc) successfully added.

2.显示网络设备连接状态:

nmcli device status

centos 7 2009 Linux系统之多网卡Team链路聚合配置_IP_05

centos 7 2009 Linux系统之多网卡Team链路聚合配置_IP_06

3.配置team0接口的IP地址

配置team0接口的IP地址为10.10.201.211/24

命令如下

mcli connection modify team0 ipv4.addresses 10.10.201.211/24 ipv4.method manual

下面是nmcli其他一些命令也许以后用得到

一、基本命令 (也可以使用缩写:如nmcli dev status)

1、查询操作:

显示网络设备连接状态:nmcli device status

显示所有网络设备的详情:nmcli device show

显示所有网络连接:nmcli connection show

 

2、开关操作

启用网络连接:nmcli connection up ens30

停用网络连接:nmcli connection down ens30

禁用网卡:nmcli device disconnect ens30

启用网卡:nmcli device connect ens30

启用所有的网络连接:nmcli networking on

关闭所有的网络连接:nmcli networking off

 

3、创建与删除网卡连接配置

动态获取IP:nmcli connection add type ethernet con-name ens30 ifname ens30

静态获取IP:nmcli connection add type ethernet con-name ens30 ifname ens30 autoconnect yes ipv4.addresses 192.168.1.13/24 ipv4.gateway 192.168.1.1

删除网络配置文件:nmcli connection delete ens30

 

4、修改网卡连接配置

设置自动连接:nmcli connection modify ens30 connection.autoconnect yes
  1. 添加team0的子接口
    将物理网卡ens37、ens38、ens39、ens40作为team0的子接口。

注意下面一一对应:

team0-port1 ifname ens37 

team0-port2 ifname ens38

team0-port3 ifname ens39

team0-port4 ifname ens40

命令如下

[root@localhost ~]# nmcli connection add type team-slave con-name team0-port1 ifname ens37 master team0 


[root@localhost ~]# nmcli connection add type team-slave con-name team0-port2 ifname ens38 master team0 


[root@localhost ~]# nmcli connection add type team-slave con-name team0-port3 ifname ens39 master team0 


[root@localhost ~]# nmcli connection add type team-slave con-name team0-port4 ifname ens40 master team0
  1. 激活网卡
    重启网络服务
1.重启动网卡
[root@localhost ~]# nmcli con reload 
2.激活网卡
[root@localhost ~]# nmcli con up team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
[root@localhost ~]# nmcli con up team0-port2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
[root@localhost ~]# nmcli con up team0-port3
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
[root@localhost ~]# nmcli con up team0-port4
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)
  1. 检查team0接口的状态
    检查team0接口的状态,当前活动的网卡为ens37。
[root@localhost ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  ens37
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens38
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens39
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens40
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: ens37

五、测试Team链路聚合

  1. 测试team0接口的网络连通情况
    在宿主机,ping其team0的IP地址,网络正常。


ping 10.10.201.211 -t

Linux系统之Team链路聚合配置

  1. 停用ens37网卡
    在本机停用ens37网卡,在局域网其他主机测试其连通性。
    本机停用ens37网卡


1.
ifdown ens37 
或者
nmcli device disconnect ens37
显示如下
Device 'ens37' successfully disconnected.

2.
查看当前team接口状态,可以看到现在ens40网卡接管服务。

[root@localhost ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  ens38
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens39
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens40
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: ens40

centos 7 2009 Linux系统之多网卡Team链路聚合配置_3d_07

如果启用网卡命令:
nmcli device connect ens37
  1. 测试网络情况
    继续查看网络连通性,网络正常,网络没有中断即可。


六、删除子接口操作

  1. 删除子接口
    查看网卡连接信息


[root@localhost ~]# nmcli con show
显示如下
NAME                UUID                                  TYPE      DEVICE 
ens33               a61ae827-15bb-44cd-acc3-8025b97abedd  ethernet  ens33  
team0               d53b931e-3f20-4ff0-b883-ea25e6c9b6fc  team      team0  
team0-port2         3fdee742-6e83-4e4d-a846-fc4e858241df  ethernet  ens38  
team0-port3         b0546ac9-3ca5-4e12-ae4a-da94f8f0499a  ethernet  ens39  
team0-port4         593652e3-3cbe-4d47-871a-06ba53461dbe  ethernet  ens40  
team0-port1         aebb661a-5836-4ee4-9c49-175a717bf4fa  ethernet  --     
team0-port1         f01db18b-bd22-4174-a1d8-978799c8b7b9  ethernet  --     
team0-port1         74506247-02c4-476b-b942-9e44084a6c43  ethernet  --     
team0-port1         3daaa4b9-8e4d-4818-af36-64b1c53ed43d  ethernet  --     
team0-port1         1c526bd5-16f2-4953-9def-a3b9bb745f1c  ethernet  --     
team0-port1         2553fccc-a125-49e8-9f06-65d2ad9d677b  ethernet  --     
Wired connection 1  b151e0c3-44dc-3b0f-bfbf-1c12ba9907f0  ethernet  --     
Wired connection 2  3998995e-c0a0-30c3-afc6-c489e27bbcbb  ethernet  --     
Wired connection 3  de1ee7b2-d972-3b2a-8b18-8f0eafd623de  ethernet  --     
Wired connection 4  59cedfe2-8df6-3627-a535-aa0c6feaae0d  ethernet  --
删除子接口team0-port4  team0-port3 留team0-port1 team0-port2 
命令如下
[root@localhost ~]# nmcli con delete team0-port4 
显示如下
Connection 'team0-port4' (593652e3-3cbe-4d47-871a-06ba53461dbe) successfully deleted.

[root@localhost ~]# nmcli con delete team0-port3
显示
Connection 'team0-port3' (b0546ac9-3ca5-4e12-ae4a-da94f8f0499a) successfully deleted.
  1. 查看网卡信息
    查看网卡连接信息

    只有两个了

   team0-port1         3daaa4b9-8e4d-4818-af36-64b1c53ed43d  ethernet  ens40  

  team0-port2         3fdee742-6e83-4e4d-a846-fc4e858241df  ethernet  ens38  )

[root@localhost ~]# nmcli con show
NAME                UUID                                  TYPE      DEVICE 
ens33               a61ae827-15bb-44cd-acc3-8025b97abedd  ethernet  ens33  
team0               d53b931e-3f20-4ff0-b883-ea25e6c9b6fc  team      team0  
team0-port1         74506247-02c4-476b-b942-9e44084a6c43  ethernet  ens39  
team0-port1         3daaa4b9-8e4d-4818-af36-64b1c53ed43d  ethernet  ens40  
team0-port2         3fdee742-6e83-4e4d-a846-fc4e858241df  ethernet  ens38  
team0-port1         aebb661a-5836-4ee4-9c49-175a717bf4fa  ethernet  --     
team0-port1         f01db18b-bd22-4174-a1d8-978799c8b7b9  ethernet  --     
team0-port1         1c526bd5-16f2-4953-9def-a3b9bb745f1c  ethernet  --     
team0-port1         2553fccc-a125-49e8-9f06-65d2ad9d677b  ethernet  --     
Wired connection 1  b151e0c3-44dc-3b0f-bfbf-1c12ba9907f0  ethernet  --     
Wired connection 2  3998995e-c0a0-30c3-afc6-c489e27bbcbb  ethernet  --     
Wired connection 3  de1ee7b2-d972-3b2a-8b18-8f0eafd623de  ethernet  --     
Wired connection 4  59cedfe2-8df6-3627-a535-aa0c6feaae0d  ethernet  --
  1. 查看team接口状态
[root@localhost ~]# teamdctl team0 state 
setup:
  runner: activebackup
ports:
  ens38
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens39
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  ens40
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: ens40
  1. 重启team0,查看当前网络连接状态,ens39/40两张网卡已停止使用。
[root@localhost ~]# nmcli con reload 
[root@localhost ~]# nmcli con up team0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/13)
[root@localhost ~]# nmcli con show


【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP
  ozzp9aSSE46S   2023年11月30日   31   0   0 DNSIPPod
  48fXx4UfWSFg   2023年12月06日   58   0   0 bcIPbundle
  it2nV7RK7uw1   2023年11月28日   79   0   0 DockerServerIP
  aYmIB3fiUdn9   2023年12月08日   50   0   0 客户端IPNATlvs
ETWZF7L1nsXD