当前位置: 首页 > article >正文

teaming技术

一.介绍

在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:

相关文章:

teaming技术

一.介绍 在CentOS 6与RHEL 6系统中,双网卡绑定采用的是bonding技术。到了CentOS 7,不仅能继续沿用bonding,还新增了teaming技术。在此推荐使用teaming,因其在查看与监控方面更为便捷 。 二.原理 这里介绍两种最常见的双网卡绑定…...

前端开发:Vue以及Vue的路由

Vue是什么 警告:本文作者是底层程序员,对Vue只是偶尔用到,研究并不深入,对Vue的理解可能非常肤浅甚至存在错误,请多包含。以下文字只为外行记录分享,专业前端朋友可以略过。 作为一个底层老程序员&#x…...

【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…...

以mysql 为例, 在cmd 命令行连接数据,操作数据库,关闭数据库的详细步骤

以下是使用 Windows 命令行(cmd) 操作 MySQL 的详细步骤,涵盖 连接数据库、基本操作、关闭数据库 的全流程: 1. 确保 MySQL 服务已启动 步骤: 打开命令行(cmd) 按 Win R,输入 cmd&…...

【数学建模】TOPSIS法简介及应用

文章目录 TOPSIS法的基本原理TOPSIS法的基本步骤TOPSIS法的应用总结 在 多目标决策分析中,我们常常需要在多个选择中找到一个最优解。 TOPSIS(Technique for Order Preference by Similarity to Ideal Solution)法是一个广泛应用的决策方法…...

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

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

清晰易懂的 Conda 彻底卸载与清理教程

一、Windows 系统卸载 Conda(Anaconda/Miniconda) 步骤 1:通过控制面板卸载主程序 打开 控制面板 → 程序 → 程序和功能。在列表中找到 Anaconda 或 Miniconda,右键选择 卸载。 提示:若安装的是 Miniconda 且未通过…...

pytorch小土堆学习有感

一、环境修改问题 pip install tensorboard pip uninstall tensorboard pip install tensorboard2.12.0 常用pip install torch来安装pytorch 版本合适才可以用的哈。 二、控制台和代码调试 变量可以在控制台方便查看 或者点行号左边打一个断点,便于使用deb…...

ChatTTS 开源文本转语音模型本地部署 API 使用和搭建 WebUI 界面

ChatTTS(Chat Text To Speech),专为对话场景设计的文本生成语音(TTS)模型,适用于大型语言模型(LLM)助手的对话任务,以及诸如对话式音频和视频介绍等应用。支持中文和英文,还可以穿插笑声、说话间的停顿、以…...

【linux】统信操作系统修改默认编辑模式从nano改为vim

统信操作系统修改默认编辑模式从nano改为vim 适用命令update-alternatives --config editor rootuos-PC:~# update-alternatives --config editor 有 3 个候选项可用于替换 editor (提供 /usr/bin/editor)。选择 路径 优先级 状态 ---------------------…...

单一职责原则开闭原则其他开发原则

一、单一职责原则(Single Responsibility Principle, SRP) 定义 一个类应该有且仅有一个引起它变化的原因(即一个类只负责一个职责)。 核心思想 高内聚:类的功能高度集中 低耦合:减少不同职责之间的相互影…...

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

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

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

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

基线定位系统:长基线与超短基线的原理与应用

基线定位系统:长基线与超短基线的原理与应用 在测量、导航、天文等领域,基线是两个已知位置之间的距离或方向,常用于三角测量、卫星定位等方法来确定其他位置的相对关系。本文将深入探讨长基线(Long Baseline, LBL)与…...

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

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

深入浅出理解LLM PPO:基于verl框架的实现解析之一

1. 写在前面 强化学习(Reinforcement Learning,RL)在大型语言模型(Large Language Model,LLM)的训练中扮演着越来越重要的角色。特别是近端策略优化(Proximal Policy Optimization,PPO)算法,已成为对齐LLM与人类偏好的主流方法之一。本文将基于verl框架(很多复刻De…...

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编…...

多阶段构建实现 Docker 加速与体积减小:含文件查看、上传及拷贝功能的 FastAPI 应用镜像构建

本文围绕使用 Docker 构建 FastAPI 应用镜像展开,着重介绍了多阶段构建的 Dockerfile 编写及相关操作。借助多阶段构建,不仅实现了 Docker 构建的加速,还有效减小了镜像体积。 1. Dockerfile 内容 以下是我们要使用的 Dockerfile 内容&…...

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

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

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

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

分布式中间件:基于 Redis 实现分布式锁

分布式中间件:基于 Redis 实现分布式锁 一、背景引入 在当今的互联网应用中,分布式系统变得越来越常见。在分布式环境下,多个服务实例可能会同时对共享资源进行读写操作,这就很容易引发数据不一致等问题。比如电商系统中的库存扣…...

鸿蒙开发工程师简历项目撰写全攻略

一、项目结构的黄金法则 建议采用「41」结构: 项目背景(业务价值)技术架构(鸿蒙特性)核心实现(技术难点)个人贡献(量化成果)附加价值(延伸影响) …...

MSE分类时梯度消失的问题详解和交叉熵损失的梯度推导

下面是MSE不适合分类任务的解释,包含梯度推导。以及交叉熵的梯度推导。 前文请移步笔者的另一篇博客:大模型训练为什么选择交叉熵损失(Cross-Entropy Loss):均方误差(MSE)和交叉熵损失的深入对比…...