Linux系统之Team链路聚合配置

news2024/11/15 15:29:08

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

一、Team链路聚合介绍

1. Teaming技术简介

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

2. 网卡的bonding和Teaming技术

1.一般在在RHEL5/RHEL6中使用的是Bonding,而RHEL7提供了一项新的实现技术Teaming,用来实现链路聚合的功能。
2.网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。

3. Team常用工作模式

Team常用工作模式如下:

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

二、实践环境规划

本次实践规划:

hostnameteam接口IP地址物理网卡操作系统版本
jeven192.168.200.126ens37/38/39/40centos 7.6

三、添加物理网卡

1. 新增物理网卡

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

在这里插入图片描述

2. 查看网卡信息

查看新增的4张网卡ens37/38/39/40,已正常添加。

[root@jeven ~]# ip add  |grep ens
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.3.166/24 brd 192.168.3.255 scope global noprefixroute dynamic ens33
120: ens37: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.200.215/24 brd 192.168.200.255 scope global noprefixroute dynamic ens37
121: ens38: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.200.216/24 brd 192.168.200.255 scope global noprefixroute dynamic ens38
122: ens39: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.200.212/24 brd 192.168.200.255 scope global noprefixroute dynamic ens39
126: ens40: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    inet 192.168.200.217/24 brd 192.168.200.255 scope global noprefixroute dynamic ens40

四、Team链路聚合配置

1. 查看team的工作模式

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

man teamd.conf

在这里插入图片描述

2. 创建team0的网络接口

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

[root@jeven ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'
Connection 'team0' (7d4367b3-4f6b-4fbf-968f-daf110d7292b) successfully added.


3. 配置team0接口的IP地址

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

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

4. 添加team0的子接口

将物理网卡ens37、ens38、ens39、ens40作为team0的子接口。

[root@jeven ~]# nmcli connection add type team-slave con-name team0-port1 ifname ens37 master team0 
Connection 'team0-port1' (66450b15-fdec-48d8-9df4-ba8ab29c8633) successfully added.
[root@jeven ~]#  nmcli connection add type team-slave con-name team0-port2 ifname ens38 master team0
Connection 'team0-port2' (dc869a3b-d9bd-49a7-a1b8-1368e5f2e0db) successfully added.
[root@jeven ~]# nmcli connection add type team-slave con-name team0-port3 ifname ens39 master team0
Connection 'team0-port3' (df21f75f-0343-45e7-9051-f3063cedfee0) successfully added.
[root@jeven ~]# nmcli connection add type team-slave con-name team0-port4 ifname ens40 master team0
Connection 'team0-port4' (58838a61-fb21-443f-a932-959ebd40c21e) successfully added.


5. 激活网卡

重启网络服务

[root@jeven network-scripts]# nmcli con reload 
[root@jeven network-scripts]# nmcli con up team0-port1
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/38)
[root@jeven network-scripts]# nmcli con up team0-port2
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/39)
[root@jeven network-scripts]# nmcli con up team0-port3
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/40)
[root@jeven network-scripts]# nmcli con up team0-port4
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/41)


6. 检查team0接口的状态

检查team0接口的状态,当前活动的网卡为ens37。

[root@jeven network-scripts]# 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 192.168.200.126 -t 

在这里插入图片描述

1. 停用ens37网卡

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

  • 本机停用ens37网卡
[root@jeven ~]# ifdown ens37
Device 'ens37' successfully disconnected.

  • 查看当前team接口状态,可以看到现在ens40网卡接管服务。
[root@jeven ~]# 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

3. 测试网络情况

继续查看网络连通性,网络正常,网络没有中断。

在这里插入图片描述

六、删除子接口操作

1. 删除子接口

查看网卡连接信息

[root@jeven ~]# nmcli con show
NAME                UUID                                  TYPE      DEVICE  
docker0             85baca8e-d2b0-4fdc-bf5d-2d202ae7d2a3  bridge    docker0 
ens33               ba415981-963e-4130-984a-8dd764f4bb70  ethernet  ens33   
team0               7d4367b3-4f6b-4fbf-968f-daf110d7292b  team      team0   
team0-port1         66450b15-fdec-48d8-9df4-ba8ab29c8633  ethernet  ens37   
team0-port2         dc869a3b-d9bd-49a7-a1b8-1368e5f2e0db  ethernet  ens38   
team0-port3         df21f75f-0343-45e7-9051-f3063cedfee0  ethernet  ens39   
team0-port4         58838a61-fb21-443f-a932-959ebd40c21e  ethernet  ens40   
virbr0              d83517b6-f9f1-434b-bf41-dcedb7cb1bde  bridge    virbr0  

删除子接口

[root@jeven ~]# nmcli con delete team0-port4 
Connection 'team0-port4' (58838a61-fb21-443f-a932-959ebd40c21e) successfully deleted.
[root@jeven ~]# nmcli con delete team0-port3
Connection 'team0-port3' (df21f75f-0343-45e7-9051-f3063cedfee0) successfully deleted.

2. 查看网卡信息

查看网卡连接信息

[root@jeven ~]# nmcli con show
NAME                UUID                                  TYPE      DEVICE  
docker0             85baca8e-d2b0-4fdc-bf5d-2d202ae7d2a3  bridge    docker0 
ens33               ba415981-963e-4130-984a-8dd764f4bb70  ethernet  ens33   
team0               7d4367b3-4f6b-4fbf-968f-daf110d7292b  team      team0   
team0-port1         66450b15-fdec-48d8-9df4-ba8ab29c8633  ethernet  ens37   
team0-port2         dc869a3b-d9bd-49a7-a1b8-1368e5f2e0db  ethernet  ens38   
virbr0              d83517b6-f9f1-434b-bf41-dcedb7cb1bde  bridge    virbr0  
Wired connection 4  02e53166-ccb4-38cf-b922-a5ffd8c549e5  ethernet  ens40   
Wired connection 1  2650ffb4-2ebf-361f-b30f-489f12a7b889  ethernet  --      
Wired connection 2  412789b9-ffeb-3280-8129-8c4465f0a779  ethernet  --      
Wired connection 3  80a0f41d-942f-3e88-8d22-c63604519d15  ethernet  -- 

查看team接口状态

[root@jeven ~]# 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
runner:
  active port: ens38

3. 重启team0

重启team0,查看当前网络连接状态,ens39/40两张网卡已停止使用。

[root@jeven network-scripts]# nmcli con reload 
[root@jeven network-scripts]# nmcli con up team0
Connection successfully activated (master waiting for slaves) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/52)
[root@jeven network-scripts]# nmcli con show
NAME                UUID                                  TYPE      DEVICE  
docker0             85baca8e-d2b0-4fdc-bf5d-2d202ae7d2a3  bridge    docker0 
ens33               ba415981-963e-4130-984a-8dd764f4bb70  ethernet  ens33   
team0               7d4367b3-4f6b-4fbf-968f-daf110d7292b  team      team0   
team0-port1         66450b15-fdec-48d8-9df4-ba8ab29c8633  ethernet  ens37   
team0-port2         dc869a3b-d9bd-49a7-a1b8-1368e5f2e0db  ethernet  ens38   
virbr0              d83517b6-f9f1-434b-bf41-dcedb7cb1bde  bridge    virbr0  
Wired connection 1  2650ffb4-2ebf-361f-b30f-489f12a7b889  ethernet  --      
Wired connection 2  412789b9-ffeb-3280-8129-8c4465f0a779  ethernet  --      
Wired connection 3  80a0f41d-942f-3e88-8d22-c63604519d15  ethernet  --      
Wired connection 4  02e53166-ccb4-38cf-b922-a5ffd8c549e5  ethernet  --  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/510140.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

物联网仿真调试与下载|CC254基础开发(通用I/O)|独立按键开发|长短按键实现思路|物联网之蓝牙4.0 BLE基础-学习笔记(4)

文章目录 7、仿真调试与下载8、CC254基础开发(通用I/O)示例:LED流水灯 9、独立按键开发 7、仿真调试与下载 仿真调试下钱器驱动的安装 程序仿真调试 结合smartRF Flash Programmer软件实现程序下载 设置 F:\IOT\blud_prj\test\Debug\Exe 获取CC2540蓝牙设备的IEEE地址 8…

Unity期末AI足球游戏小项目(免费开源)

​ 该游戏项目仅供参考&#xff0c;下载链接在文末。若需要答辩论文请私聊 版本&#xff1a;Unity 2018.4 文章目录 游戏介绍整体框架部分截图答辩论文截图答辩问题1 倒计时功能如何实现&#xff1f;2 AI的实现体现在哪一方面&#xff1f;3 计分系统的实现&#xff1f; 游戏介…

VR全景园区:数字化旅游业的新未来

VR全景园区是未来数字化旅游业的一种新兴形式。它利用高清晰度的3D图像和360度全景拍摄技术&#xff0c;将景区中的自然风光、历史文化和人文风情等元素呈现在游客面前。VR全景园区不仅可以为游客提供身临其境的参观体验&#xff0c;还可以有效地推广当地的文化和旅游资源。 【…

【FOF管理策略与技术】第1章 FOF的基本概念

第1章 FOF的基本概念 文章目录 第1章 FOF的基本概念一、FOF的定义与分类1 FOF的定义1.1、FOF的两个显著特点1.2、FOF天生的不足之处 2 FOF的分类2.1、按投资标的区分2.2、按所投资基金的管理权归属区分2.3、按投资基金种类的不同区分2.4、按FOF与其标的基金的管理运作方式(主动…

【Linux】system V共享内存与信号量

目录 一、前言 二、共享内存 1、基本原理 2、实现代码 2.1、创建共享内存 2.2、释放共享内存 2.3、关联共享内存 2.4、与共享内存去关联 2.5、进程间通信 2.6、补充内容 三、system V信号量 1、概念 2、信号量 3、相关接口 3.1、获取信号量 3.2、释放信号量 …

机器学习模型————分类模型

K近邻&#xff08;KNN&#xff09; 逻辑斯提回归 Sigmoid函数&#xff08;压缩函数&#xff09; 梯度下降法求解

叶工好容2-云原生网络

前言 IT行业中网络技术本身就是最枯燥但又最复杂的一块&#xff0c;kebernetes用到的这些虚拟网络技术更是难上加难&#xff0c;许多知识点容易记混淆&#xff0c;或者说能背过概念但不清楚它出现的前因后果和应用场景&#xff0c;本篇博文会按照底层协议->上层技术->顶…

工业园区的智慧安监方案:AI视频边缘计算技术的应用场景剖析

一、方案背景 针对工业园区化工企业多且安全及环保等方面存在风险高、隐患多、精细化管控复杂的情况&#xff0c;需要全面整合并优化园区现有基础设施、系统平台等信息化资源&#xff0c;建立园区的智能化风险预警管理平台&#xff0c;利用信息化手段&#xff0c;增强园区安全…

Baklib知识库搭建平台产品操作手册

产品概述 Baklib是一款专业的知识库搭建平台&#xff0c;它帮助客户搭建内部知识库和对外帮助中心。在今天的信息时代&#xff0c;知识已经成为组织的核心竞争力&#xff0c;而Baklib正是为了帮助组织构建完整的知识体系&#xff0c;提高组织的核心竞争力而生。 Baklib具有以…

刷题之另类加法与走方格的方案数

目录 一、编程题 1.另类加法 2.走方格的方案数 二、选择题 一、编程题 1.另类加法 链接&#xff1a;另类加法_牛客题霸_牛客网 (nowcoder.com) 描述 给定两个int A和B。编写一个函数返回AB的值&#xff0c;但不得使用或其他算数运算符。 测试样例&#xff1a; 1,2 返回&am…

GitHub简单使用

一、安装git客户端(查看版本git --version)&#xff1a; Linux&#xff1a;yum install -y git Mac:brew install git windows:https://git-scm.com/downloads 配置git(可通过git config --list查看配置的内容)&#xff1a; git config --global user.name "用户名&qu…

计算机视觉——day89 Restormer:高效的高分辨率图像恢复变压器(CVPR简读)

Restormer&#xff1a;高效的高分辨率图像恢复变压器&#xff08;CVPR简读&#xff09; 1. Introduction3. Method4. 实验与分析5. 结论 Restormer: Efficient Transformer for High-Resolution Image Restoration 1. Introduction 摘要部分简要总结了一下当前transformer的广…

(附源码)计算机毕业设计Java对外汉语教学辅助平台

项目运行 &#x1f345;包售后&#xff0c;包调试&#xff0c;包讲解&#x1f345; &#x1f345;获取方式1:文章末尾获取联系&#x1f345; &#x1f345;获取方式2:点我进入&#xff0c;文章末尾获取联系&#x1f345; &#x1f345;包售后&#xff0c;包调试&#xff0c;包讲…

SpringBoot 创建和使用

SpringBoot 创建和使用 1. 初识 SpringBoot Spring 的诞生是为了简化 java 程序的开发 , 而Spring Boot 的诞生是为了简化 Spring 程序开发. Spring boot 翻译以下就是"脚手架" , 有了脚手架就可以快速的开发和使用 Spring . 2. Spring Boot 优点 快速的集成框架…

【JSON】谷歌浏览器JSON可视化插件:JSON-Handle

摘要 : JSON-handle是一款对JSON格式的内容进行浏览和编辑&#xff0c;以树形图样式展现JSON文档&#xff0c;并可实时编辑。 今天我推荐一款chrome/Firfox下处理json的插件JSON-handle&#xff0c;这个应该是我用过最好最方便的了。 插件功能 实际开发工作中经常用到json数据&…

基于无线传感网络(WSN)的目标跟踪技术(Matlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f468;‍&#x1f4bb;4 Matlab代码 &#x1f4a5;1 概述 无线传感器网络由于其自组织性、鲁棒性及节点数量巨大的特点,非常适合于目标跟踪。无线传感器网络中的移动目标跟踪实际上就是…

centerpoint论文和代码解读

目录 一、序论 二、论文结构 三、代码 论文地址&#xff1a; https://arxiv.org/pdf/2006.11275.pdf 代码地址&#xff1a;tianweiy/CenterPoint (github.com) 一、序论 centorpoint是一种anchor-free的方法&#xff0c;直接预测物体的中心点&#xff0c;然后直接回归其wh…

《微服务实战》 第四章 Spring Cloud Netflix 之 Eureka

前言 Eureka 是 Netflix 公司开发的一款开源的服务注册与发现组件。 Spring Cloud 使用 Spring Boot 思想为 Eureka 增加了自动化配置&#xff0c;开发人员只需要引入相关依赖和注解&#xff0c;就能将 Spring Boot 构建的微服务轻松地与 Eureka 进行整合。 1、Eureka 两大组…

三维后处理与重建PACS源码,大容量图像存储 报告单多种模式及自定义样式

医学影像系统源码 三维后处理与重建PACS源码 医学影像系统由PACS系统、RIS系统组成&#xff0c;同时提供与HIS的接口&#xff08;HL7或其他类型&#xff09;。 主要功能介绍 信息预约登记 支持对患者、检查项目、申请医生、申请单据、设备等信息进行管理。且支持检查病人排…

SwiftUI中DatePicker学习

在界面开发中&#xff0c;经常要使用到DatePicker控件&#xff0c;如年月日&#xff0c;时分选择。 但我们还要修改它的显示方式&#xff0c;文字语言&#xff0c;及其他功能 先看下最简单的调用方法就是&#xff1a; State private var date Date()var body: some View {D…