teaming技术

news2025/3/22 8:45:24

一.介绍

在CentOS 6与RHEL 6系统中,双网卡绑定采用的是bonding技术。到了CentOS 7,不仅能继续沿用bonding,还新增了teaming技术。在此推荐使用teaming,因其在查看与监控方面更为便捷 。

二.原理

这里介绍两种最常见的双网卡绑定模式:

(1) roundrobin - 轮询模式

        所有链路处于负载均衡状态,这种模式的特点增加了带宽,同时支持容错能力。

部署——

(说明:要用kvm做,如果用VMware做会出问题)

1.准备两块网卡

[root@kvm ~]# virsh attach-interface vm-1 --type bridge --source virbr0 --persistent       

#添加网卡

[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
NAME=eth0
IPADDR=192.168.122.100
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
DNS1=114.114.114.114
ONBOOT=yes
BOOTPROTO=none
[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens9
DEVICE=ens9
NAME=ens9
IPADDR=192.168.122.200
NETMASK=255.255.255.0
GATEWAY=192.168.122.1
DNS1=114.114.114.114
ONBOOT=yes
BOOTPROTO=none

2.重启网络并开启NetworkManager

[root@teaming ~]# systemctl restart network        #重启网络

[root@teaming ~]# systemctl start NetworkManager        #启动NetworkManager服务

3.配置teaming

[root@teaming ~]# yum install teamd        #安装管理 team 设备的工具

[root@teaming ~]# nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"roundrobin"}}'        #添加轮询模式团队连接

[root@teaming ~]# nmcli connection modify team0 ipv4.addresses 192.168.122.100/24 ipv4.gateway 192.168.122.1 ipv4.dns 114.114.114.114 ipv4.method manual autoconnect yes

#修改团队连接网络配置

[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=b6b9a81d-3afd-4344-9f87-6ca1e1bc5dbb
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.122.100
PREFIX=24
GATEWAY=192.168.122.1
DNS1=114.114.114.114
添加成功!

[root@teaming ~]# nmcli connection add type team-slave con-name team0-slave1 ifname eth0 master team0        #添加eth0至团队连接

[root@teaming ~]#  nmcli connection add type team-slave con-name team0-slave2 ifname ens9 master team0        #添加ens9至团队连接

[root@teaming ~]# nmcli connection show         #配置好了就会变成这个样子

[root@teaming ~]# teamdctl team0 st        #查看是否为轮询模式roundrobin

[root@teaming ~]# nmcli connection up team0        #激活

[root@teaming ~]# nmcli connection show        #显示网络连接配置信息

[root@teaming ~]# nmcli connection up team0-slave1       

#激活team0从连接配置team0-slave1

[root@teaming ~]# nmcli connection up team0-slave2

#激活team0从连接配置team0-slave2

[root@teaming ~]# nmcli connection show        #显示网络连接配置信息

4.测试

开两个终端以及一台客户机进行测试

[root@teaming ~]# yum install tcpdump        #安装tcpdump

终端1:

[root@teaming ~]# tcpdump -nn -i eth0 icmp        #在eth0抓icmp包信息

终端2:

[root@haproxy ~]# tcpdump -nn -i ens9 icmp        #在ens9抓icmp包信息

客户机:

[root@kvm ~]# ping 192.168.122.100

(2) activebackup - 主备模式

 一个网卡处于活动状态,另一个处于备份状态,所有流量都在主链路上处理,当活动网卡down掉时,启用备份网卡。

部署——

1.准备两块网卡

前面准备了就不用再准备了,如果没有准备就去准备一下,方法在上面。 

2.配置teaming

方法一:直接改配置文件

[root@teaming ~]# cat /etc/sysconfig/network-scripts/ifcfg-team0
TEAM_CONFIG="{\"runner\":{\"name\":\"activebackup\"}}"
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=team0
UUID=b6b9a81d-3afd-4344-9f87-6ca1e1bc5dbb
DEVICE=team0
ONBOOT=yes
DEVICETYPE=Team
IPADDR=192.168.122.100
PREFIX=24
GATEWAY=192.168.122.1
DNS1=114.114.114.114

(就改这一个地方就行)

[root@teaming ~]# systemctl restart network        #重启网卡

[root@teaming ~]# teamdctl team0 st        #查看是否为主备模式activebackup

(配置成功)

[root@teaming ~]# nmcli connection up team0-slave1        #激活

[root@teaming ~]# nmcli connection up team0-slave2

 [root@teaming ~]# nmcli connection show

(这就配置好了,然后进行测试)

方法二:把team0配置文件删了,重新再敲一遍命令

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

只有这不一样,剩下的和上面的轮询配置完全一样。

3.测试

开三个终端以及一台客户机进行测试

[root@teaming ~]# yum install tcpdump        #安装tcpdump

终端1:

[root@teaming ~]# tcpdump -nn -i eth0 icmp        #抓包

终端2:

[root@haproxy ~]# tcpdump -nn -i ens9 icmp

客户机:

[root@kvm ~]# ping 192.168.122.100

 

终端3:

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

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

相关文章

【JavaEE进阶】Linux常用命令

目录 🍃前言 🌴pwd 与 ls 🚩pwd 🚩ls 🎍cd 🌲mkdir与touch 🚩mkdir 🚩touch 🍀cat与rm 🚩cat 🚩rm 🎋vim 🚩…

【FastGPT】利用知识库创建AI智能助手

【FastGPT】利用知识库创建AI智能助手 摘要创建知识库上传文档创建应用准备提示词准备开场白关联知识库AI回答效果 摘要 关于FastGPT的部署,官方提供了docker-compose方式的部署文档,如果使用的是podman和podman-compose的同学,可以参考这篇…

【DeepSeek 学c++】dynamic_cast 原理

用于向下转化。 父类引用指向指类对象 假设父亲是a, 子类是b. B* pb new B; 子类对象 A* pa 父类引用指向子类对象, 那么向上转化 Apa pb 这个是自动完成的,隐式转化,不需要dynamic_cast 向下转化指的是 A pa new B。 这个是指向子类对象…

【递归,搜索与回溯算法篇】- 名词解释

一. 递归 1. 什么是递归? 定义: 函数自己调用自己的情况关键点: ➀终止条件: 必须明确递归出口,避免无限递归 ➁子问题拆分: 问题需能分解成结构相同的更小的子问题缺点: ➀栈溢出风险&#x…

Beans模块之工厂模块注解模块@Qualifier

博主介绍:✌全网粉丝5W,全栈开发工程师,从事多年软件开发,在大厂呆过。持有软件中级、六级等证书。可提供微服务项目搭建与毕业项目实战,博主也曾写过优秀论文,查重率极低,在这方面有丰富的经验…

数据结构---图的深度优先遍历(DFS)

一、与树的深度优先遍历之间的联系 1.类似于树的先根遍历。 递归访问各个结点: 2.图的深度优先遍历 先设置一个数组,初始值全部设置为false,先访问一个结点,在用一个循环,依次检查和这个结点相邻的其他结点&#xff0c…

健康养生:拥抱生活,从呵护身心开始

在这个瞬息万变的时代,人们好似不停旋转的陀螺,在忙碌中迷失了对健康的关注。然而,健康养生绝非可有可无的点缀,它是幸福生活的基石,如同阳光与空气,滋养并支撑着我们的生命。当我们懂得拥抱健康养生&#…

QT网页显示的几种方法及对比

一.直接跳转打开网页 1.使用QDesktopServices::openUrl调用系统浏览器 原理:直接调用操作系统默认浏览器打开指定URL,不在应用程序内嵌入网页。 优点: 实现简单,无需额外模块或依赖。 适用于仅需跳转外部浏览器的场景。 缺点&…

Linux python 安装 conda(内部自带的有python的版本了)

位置网站 https://repo.anaconda.com/miniconda/也可以在https://www.anaconda.com/download/success 官方下载之后方linux中 切换路径之后 执行 bash Miniconda3-py310_25.1.1-2-Linux-x86_64.sh [rootVM-4-5-centos ~]# [rootVM-4-5-centos ~]# uname -a Linux VM-4-5-cen…

git原理与常用命令及其使用

认识工作区、暂存区、版本库 ⼯作区:是在电脑上你要写代码或⽂件的⽬录。 暂存区:英⽂叫 stage 或 index。⼀般存放在 .git ⽬录下的 index ⽂件(.git/index)中,我们 把暂存区有时也叫作索引(index&#xf…

19681 01背包

19681 01背包 ⭐️难度:中等 🌟考点:动态规划、01背包 📖 📚 import java.util.Arrays; import java.util.LinkedList; import java.util.Queue; import java.util.Scanner;public class Main {static int N 10001…

Guava:Google开源的Java工具库,太强大了

🧑 博主简介:CSDN博客专家,历代文学网(PC端可以访问:https://literature.sinhy.com/#/?__c1000,移动端可微信小程序搜索“历代文学”)总架构师,15年工作经验,精通Java编…

蓝桥杯每日一题----海底高铁

🌈个人主页:羽晨同学 💫个人格言:“成为自己未来的主人~” 题目链接 P3406 海底高铁 - 洛谷https://www.luogu.com.cn/problem/P3406 解题思路 在这道题来说,主要使用的想法就是使用一维的差分数组,这道题中有两个买…

触动精灵对某东cookie读取并解密--记lua调用C语言

在Mac上构建Lua扩展模块:AES解密与Base64解码实战 今天我要分享一个实用技术:如何在Mac系统上为Lua编写和编译C扩展模块,特别是实现一个某东iOS PIN码解密功能的扩展。这对于需要在Lua环境中执行高性能计算或使用底层系统功能的开发者非常有…

【设计模式】三十二、策略模式

系列文章|源码 https://github.com/tyronczt/design-mode-learn 文章目录 系列文章|源码一、模式定义与核心思想二、模式结构与Java实现1. 核心角色2. Java代码示例 三、策略模式的五大核心优势四、适用场景五、与其他模式的对比六、最佳实践建议总结 🚀进阶版【更…

Cyberchef实用功能之-json line格式文件美化和查询

本文将介绍一下如何使用cyberchef对json line格式数据进行美化方便阅读,以及json line格式数据的批量查询操作。 之前的文章介绍了json格式数据的美化和查询,即Cyberchef实用功能之-json解析美化和转换,Cyberchef实用功能之-批量提取json数据…

计算机基础:编码03,根据十进制数,求其原码

专栏导航 本节文章分别属于《Win32 学习笔记》和《MFC 学习笔记》两个专栏,故划分为两个专栏导航。读者可以自行选择前往哪个专栏。 (一)WIn32 专栏导航 上一篇:计算机基础:编码02,有符号数编码&#xf…

FaryGui文字shader修改,弧线排列

因项目要求,希望将文字进行标题那样的弧线排列,如下图: 对FaryGUI的文字Shader进行了一些修改,基本达到要求,shader设置如下: shader代码如下: // Upgrade NOTE: replaced _Object2World with unity_ObjectToWorld // Upgrade NOTE: replaced mul(UNITY_MATRIX_MVP,*) with Un…

C++ string的模拟实现

Hello!!大家早上中午晚上好,昨天复习了string的使用,今天来模拟实现一下string!!! 一、string的框架搭建 1.1首先我们需要一个string的头文件用来做变量、函数、类等声明;再需要一个test文件来做测试,还需…

使用LangChain实现基于LLM和RAG的PDF问答系统

目录 前言一.大语言模型(LLM)1. 什么是LLM?2. LLM 的能力与特点 二、增强检索生成(RAG)三. 什么是 LangChain?1. LangChain 的核心功能2. LangChain 的优势3. LangChain 的应用场景4. 总结 四.使用 LangChain 实现基于 PDF 的问答系统 前言 本文将介绍 …