• Linux中Team链路聚合配置


    目录

    一、Team介绍

    二、网卡的bonding和Teaming技术

    三、Teaming常用工作模式

    四、实验环境

    五、添加物理网卡

    1、给虚拟机新增四张物理网卡

    2、查看网卡信息

    六、Team链路聚合配置

          1、创建team0的网络接口

          2、为team0设置静态IP,掩码位,网关,dns并开机自动启动

          3、添加team0的子接口

          4、激活网卡

          5、检查team0的状态

          6、测试team0网络接口的网络连通情况

          7、停用ens224网卡

    七、删除子接口操作

           1、删除子接口

           2、重启team0


    一、Team介绍

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

    二、网卡的bonding和Teaming技术

    1.一般在在RHEL5/RHEL6中使用的是Bonding,而RHEL7提供了一项新的实现技术Teaming,用来实现链路聚合的功能。
    2.网卡的链路聚合一般常用的有"bond"和"team"两种模式,bond只能是双网卡绑定,team不需要手动加载相应内核模块和有更强的拓展性,最高可以绑定8块网卡。

    三、Teaming常用工作模式

    roundrobin: 以轮循的模式传输所有端口的包
    activebakup:主备模式这是一个故障迁移程序,监控链接更改并选择活动的端口进行传输
    loadbalance: 监控流量并使用哈希函数以尝试在选择传输端口的时候达到完美均衡
    broadcast: 广播容错,设备通过所有端口传输数据包

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

    四、实验环境

    主机名IP地址物理网卡操作系统版本
    team192.168.22.68ens161/193/224/256Red Hat 7.6

    五、添加物理网卡

    1、给虚拟机新增四张物理网卡


    【注意】添加的网络适配器需网络模式一致,添加的个数为2的指数。

    2、查看网卡信息

    [root@team ~]# ip add | grep ens

    六、Team链路聚合配置

    1、创建team0的网络接口

    使用nmcli命令,添加一个 team 网络接口 team0,我选择的team模式是activebakup主备模式。

      con-name:别名

      ifname:设备名称

      runner:运行模式

      name:运行名称

      manual:手工、手动的,表示我的地址是静态的

    [root@team ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'

    2、为team0设置静态IP,掩码位,网关,dns并开机自动启动
    [root@team ~]# nmcli connection modify team0 ipv4.addresses 192.168.22.68/24 ipv4.gateway 192.168.22.254 ipv4.dns 192.168.22.254 ipv4.method manual connection.autoconnect yes
    3、添加team0的子接口

    将物理网卡ens161、ens193、ens224、ens256作为team0的子接口,加入到team0组成网络组

    1. [root@team ~]# nmcli connection add type team-slave con-name team0-port1 ifname ens161 master team0 connection.autoconnect yes
    2. Connection 'team0-port1' (6d31401e-8898-4569-a5ed-59624fd9c8a9) successfully added.
    3. [root@team ~]# nmcli connection add type team-slave con-name team0-port2 ifname ens193 master team0 connection.autoconnect yes
    4. Connection 'team0-port2' (8ee7d702-d110-4f5e-a721-59af6b82bed2) successfully added.
    5. [root@team ~]# nmcli connection add type team-slave con-name team0-port3 ifname ens224 master team0 connection.autoconnect yes
    6. Connection 'team0-port3' (af2cc79f-d2ae-465e-b0d5-fb0a5fbd27b1) successfully added.
    7. [root@team ~]# nmcli connection add type team-slave con-name team0-port4 ifname ens256 master team0 connection.autoconnect yes
    8. Connection 'team0-port4' (718f80a6-1d77-4d19-8029-affd17aa079d) successfully added.

    4、激活网卡
    1. [root@team ~]# nmcli connection reload
    2. [root@team ~]# nmcli connection up team0-port1
    3. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/7)
    4. [root@team ~]# nmcli connection up team0-port2
    5. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/8)
    6. [root@team ~]# nmcli connection up team0-port3
    7. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/9)
    8. [root@team ~]# nmcli connection up team0-port4
    9. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/10)
    5、检查team0的状态
    1. [root@team ~]# teamdctl team0 state
    2. setup:
    3. runner: activebackup
    4. ports:
    5. ens161
    6. link watches:
    7. link summary: up
    8. instance[link_watch_0]:
    9. name: ethtool
    10. link: up
    11. down count: 0
    12. ens193
    13. link watches:
    14. link summary: up
    15. instance[link_watch_0]:
    16. name: ethtool
    17. link: up
    18. down count: 0
    19. ens224
    20. link watches:
    21. link summary: up
    22. instance[link_watch_0]:
    23. name: ethtool
    24. link: up
    25. down count: 0
    26. ens256
    27. link watches:
    28. link summary: up
    29. instance[link_watch_0]:
    30. name: ethtool
    31. link: up
    32. down count: 0
    33. runner:
    34. active port: ens224

    【注意】当前活动的网卡为ens224

    link summary:up   表示与team0的通信正常,成功的加入到了逻辑接口上

    link:up  说明网线通信是正常的,可以正常的进行数据传输

    执行网卡命令,可以发现两块网卡的mac地址一样,这样交换机才能转发到同一个逻辑端口

    6、测试team0网络接口的网络连通情况

    在本机,ping team0的IP,可以ping通,网络正常。

    7、停用ens224网卡

    把ens224的网卡切断,模拟网卡故障

    1. [root@team ~]# ifdown ens224
    2. Device 'ens224' successfully disconnected.
    3. 启用网卡
    4. [root@team ~]# nmcli con up team0-port3
    5. Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)

    再次查看,team接口状态,可以看到现在ens256网卡接管服务。

    继续查看网络连通性,同样可以ping通。

    七、删除子接口操作

    1、删除子接口
    1. 查看网卡连接信息
    2. [root@team ~]# nmcli con show
    3. NAME UUID TYPE DEVICE
    4. ens192 03da7500-2101-c722-2438-d0d006c28c73 ethernet ens192
    5. team0 969c7804-26e1-4f1d-983a-38db9dcc8e88 team team0
    6. team0-port1 6d31401e-8898-4569-a5ed-59624fd9c8a9 ethernet ens161
    7. team0-port2 8ee7d702-d110-4f5e-a721-59af6b82bed2 ethernet ens193
    8. team0-port3 af2cc79f-d2ae-465e-b0d5-fb0a5fbd27b1 ethernet ens224
    9. team0-port4 718f80a6-1d77-4d19-8029-affd17aa079d ethernet ens256
    1. 删除子接口port34
    2. [root@team ~]# nmcli con delete team0-port3
    3. Connection 'team0-port3' (af2cc79f-d2ae-465e-b0d5-fb0a5fbd27b1) successfully deleted.
    4. [root@team ~]# nmcli con delete team0-port4
    5. Connection 'team0-port4' (718f80a6-1d77-4d19-8029-affd17aa079d) successfully deleted.
    1. 再次查看网卡连接信息,发现子接口port34成功删除
    2. [root@team ~]# nmcli con show
    3. NAME UUID TYPE DEVICE
    4. ens192 03da7500-2101-c722-2438-d0d006c28c73 ethernet ens192
    5. team0 969c7804-26e1-4f1d-983a-38db9dcc8e88 team team0
    6. team0-port1 6d31401e-8898-4569-a5ed-59624fd9c8a9 ethernet ens161
    7. team0-port2 8ee7d702-d110-4f5e-a721-59af6b82bed2 ethernet ens193

    查看team0接口的状态

    2、重启team0
    1. [root@team ~]# nmcli con reload
    2. [root@team ~]# nmcli con up team0
    3. Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/15)

    【注意】多看书,少打游戏。

  • 相关阅读:
    图论篇--代码随想录算法训练营第五十六天打卡| 108. 冗余连接,109. 冗余连接II
    hiredis的代码示例
    一文熟悉 Go 的基础语法和基本数据类型
    C#流Stream与IO详解(5)——读取文件的详细流程
    【数据结构】链表
    vue项目使用lodash节流防抖函数问题与解决
    可以规范生成Cron表达式的Js编辑器插件
    2.docker镜像的导入导出
    常用七种排序之冒泡排序(排序图解+分析Java
    【产品经理】分享产品认知方法论
  • 原文地址:https://blog.csdn.net/weixin_53150440/article/details/134523318