麒麟网络负载均衡与高可用方案实践

安装 teamd 包。

复制代码
yum -y install teamd

Copy

一、配置TEAMING

查看两个网卡信息

复制代码
ifconfig

Copy

注意: 根据实际网卡设备名称情况调整代码!不同环境下网卡名称略有不同!

根据查询的结果,两张网卡设备名称分别为 enp0s2 和 enp0s3

复制代码
ifconfig enp0s2 && ifconfig enp0s3

Copy

添加team连接,取名为 team 0,此处将127.0.0.1和 127.0.0.3 进行聚合

复制代码
nmcli connection add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup", "hwaddr_policy": "by_active"}}' ipv4.addresses 127.0.0.1/3
nmcli connection show

Copy

添加team0的两个slave
注意:如下代码涉及了网卡名称,请根据实际情况调整

复制代码
nmcli con add con-name team0-port1  type team-slave  ifname enp0s2 master team0
nmcli con add con-name team0-port2  type team-slave  ifname enp0s3 master team0

Copy

启动team0连接

复制代码
nmcli connection up team0

Copy

查看此时的连接状态。发现 Net1/Net2 因为 enp0s2/enp0s3 网卡被占据,而没能启动连接。

复制代码
nmcli connection show

Copy

可以看到 Net1/Net2 目前占据着enp0s2/enp0s3 网卡我们需要将它 down 掉。
注意:如下代码涉及了网卡名称,请根据实际情况调整

复制代码
nmcli connection down Net1
nmcli connection down Net2

Copy

此时再次查看网卡连接情况,确认 team0 和 team0-port0、team0-port1 能正常开启。

复制代码
nmcli connection show

Copy

二、验证故障切换

查看team0状态,确认激活的网卡

复制代码
teamdctl team0 stat

Copy

模拟网卡故障

注意:根据实际情况,down掉激活的网卡。

复制代码
ifconfig 激活的网卡 down

Copy

此时再次查看team0被激活的链路是否变更为另一张网卡

复制代码
teamdctl team0 stat

Copy

三、配置BONDING

由于teamd服务和libteam库在RHEL 9中已弃用,并将在下一个主要版本中删除,建议同学同时掌握bonding的使用方法,其配置步骤与teaming大体类似,给出示例如下:

添加bond连接

复制代码
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup ipv4.addresses 127.0.0.2/4 ipv4.method manual

Copy

添加bond的两个slave
注意:如下代码涉及了网卡名称,请根据实际情况调整

复制代码
nmcli connection add type bond-slave ifname enp0s2 master bond0
nmcli connection add type bond-slave ifname enp0s3 master bond0

Copy

down掉两个网卡连接,启动bond

复制代码
nmcli connection up bond-slave-enp0s2
nmcli connection up bond-slave-enp0s3

Copy

查看网卡连接情况

复制代码
nmcli connection show

Copy

相关推荐
.Shu.5 小时前
计算机网络 TLS握手中三个随机数详解
网络·计算机网络·安全
程序员 _孜然9 小时前
Ubuntu/Debian修改网卡名字enP3p49s0为eth0
linux·运维·驱动开发·嵌入式硬件·ubuntu·debian
IDIOT___IDIOT9 小时前
Linux mount 命令
linux·运维·服务器
暗流者9 小时前
AAA 服务器与 RADIUS 协议笔记
运维·服务器·笔记
锐策9 小时前
Git checkout 与 Git reset 核心区别解析(分支与版本关联逻辑)
运维·git
青草地溪水旁12 小时前
服务发现实例和服务实例是不同的
服务器·服务发现·服务实例
于冬恋13 小时前
RabbitMQ高级
服务器·网络·rabbitmq
算力魔方AIPC14 小时前
如何用算力魔方4060安装PaddleOCR MCP 服务器
运维·服务器
tan77º14 小时前
【Linux网络编程】分布式Json-RPC框架 - 项目设计
linux·服务器·网络·分布式·网络协议·rpc·json
Ray Song15 小时前
【Linux】 wget、curl 用法区别
linux·运维·服务器·curl·wget