未登录

信蚁社区 通行证

搜索
热搜: 统信UOS 麒麟
查看: 94|回复: 0

[关于麒麟] Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)

[复制链接]

103

主题

4

回帖

339

积分

实习版主

Rank: 7Rank: 7Rank: 7Rank: 7

积分
339

最佳新人灌水之王优秀版主

发表于 2025-4-19 13:34:40 | 显示全部楼层 |阅读模式
目录

    一、理论储备
      1. 链路聚合
    二、任务实施
      1. team模式 2. bond模式


一、理论储备

1. 链路聚合

链路聚合是指将多个物理端口捆绑在一起,形成一个逻辑端口,以实现出/入流量在各成员端口中的负载分担。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。在RHEL7中是通过内核驱动程序和teamd来实现。
增加网络带宽
链路聚合可以将多个链路捆绑成为一个逻辑链路,捆绑后的链路带宽是每个独立链路的带宽总和。
提高网络连接的可靠性
链路聚合中的多个链路互为备份,当有一个链路断开,流量会自动在剩下链路间重新分配。
实现流量的负载均衡
把流量平均分到所有成员链路中去,使得每个成员链路最低限度的减低产生流量阻塞链路的风险。
麒麟操作系统内核模块(module)带有team驱动,支持team聚合链路
  1. /usr/lib/modules/4.19.90-89.11.v2401.ky10.x86_64/kernel/drivers/net/team/
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-1.png


bond链路聚合与team聚合链路区别
team聚合链路bond链路聚合
用户可设定哈希功能支持不支持
用户LACP支持的负载平衡支持不支持
支持IPv6支持不支持
#在这里插入代码片# 2. team聚合链路模式
roundrobin平衡轮询
    交换机对接方式:配置手工模式链路聚合 说明:服务器所绑定的网卡被修改成相同的MAC地址,需要交换机通过手工模式链路聚合对接
activebackup主备轮询
    交换机对接方式:配置对接接口在同一个VLAN内 说明:服务器采用双网卡时,一个处于主状态,一个处于从状态,所有数据都通过主状态的端口传输,当主状态端口对应的链路出现故障时,数据通过从状态端口传输。建议将交换机的对应端口配置为同一个VLAN内。
loadbalanc负载均衡
    交换机对接方式:配置手工模式链路聚合 说明:服务器的多网卡基于指定的HASH策略传输数据包,需要交换机配置手工模式链路聚合对接。
broadcast广播容错
    交换机对接方式:采用两台交换机对接在不同的VLAN内 说明:服务器的多网卡对于同一份报文会复制成两份,然后从两个端口传输。建议使用两台交换机,且配置不同的VLAN。
team模式格式:
  1. config '{"runner":{"name":"工作模式"}}'
复制代码
bond模式格式:
  1. mode "工作模式"
复制代码
二、任务实施

1. team模式

链路聚合配置步骤如下:
    创建“网络接口组” 为”网络接口组“配置IPv4或IPv6网络信息 分配“网卡接口”给“网络接口组“ 启动或关闭“网络接口组”和”网卡接口“
准备一台虚拟机,添加两个虚拟网卡,ens3和ens8,实现虚拟网卡team0,IP地址为172.16.200.102/24
聚合链路网络信息工作模式物理网卡
team0172.16.200.102/24activebackupens3、ens8
[Step1]:创建网络接口组
  1. nmcli connection addtype team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}'
复制代码
    nmcli connection add type team:新建网卡连接,类型为team con-name team0con1:网络接口组对应连接名为 team0con1 ifname team0:网络接口组的名称为team0 config:指定数据转发的算法(JSON格式)
  1. '{"runner":{"name":"算法类型"}"}'
复制代码
[Step2]:给网络接口组接配置网络信息
  1. nmcli connection modify team0 ipv4.method manual ipv4.addresses 172.16.200.102/24
  2. nmcli connection up team0
复制代码
[Step3]:将网卡接口划分到网络接口组
  1. nmcli connection add con-name team0-1 type team-slave ifname ens3 master team0
  2. nmcli connection add con-name team0-2 type team-slave ifname ens8 master team0
复制代码
[Step4]:启动网络接口组和网卡接口
  1. nmcli connection up team0con1
  2. nmcli connection up team0-1
  3. nmcli connection up team0-2
复制代码
[Step5]:验证:查看网络接口组的状态
  1. teamnl team0 ports
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-2.png


[Step6]:验证:查看team状态
  1. teamdctl team0 state
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-3.png


[Step6]:验证:查看当前网络信息
  1. ipadd show
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-4.png


[Step7]:验证:在主机上ping虚拟机,模拟ens3网卡损坏,可以看到网络没有发生波动,且当前运行网卡自动切换到ens8
  1. ifconfig ens3 down
  2. teamdctl team0 state
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-5.png


[Step8]:恢复ens3网卡后,team0的工作网卡仍然是ens8,直到ens8也损坏后才会自动切换为ens3,这种工作方式称为轮询
  1. ifconfig ens3 up
  2. teamdctl team0 state
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-6.png


2. bond模式

准备一台虚拟机,添加两个虚拟网卡,ens3和ens8,实现虚拟网卡team0,IP地址为172.16.200.103/24
聚合链路网络信息工作模式物理网卡
bond0172.16.200.103/24activebackupens3、ens8
[Step1]:需要先查看当前系统是否支持bonding
  1. modinfo bonding |more
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-7.png


[Step2]:添加bond连接
  1. nmcli connection addtype bond con-name bond0 ifname bond0 mode active-backup ipv4.method 172.16.200.103/24 ipv4.method manaual
复制代码
[Step3]:将网卡添加到bond网络组中
  1. nmcli connection addtype bond-slave ifname ens3 master bond0
  2. nmcli connection addtype bond-slave ifname ens8 master bond0
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-8.png


[Step4]:验证:查看bond0的工作状态
  1. cat /proc/
复制代码
Kylin麒麟操作系统 | 网络链路聚合配置(team和bond)-9.png
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

快速回复 返回顶部 返回列表