Kylin麒麟操作系统服务部署 | 网络链路聚合team和bond

以下所使用的环境为:
虚拟化软件:VMware Workstation 17 Pro
麒麟系统版本:Kylin-Server-V10-SP3-2403-Release-20240426-x86_64

一、链路聚合

链路聚合是指将多个物理端口捆绑在一起,形成一个逻辑端口,以实现出/入流量在各成员端口中的负载分担。链路聚合在增加链路带宽、实现链路传输弹性和冗余等方面是一项很重要的技术。在RHEL7中是通过内核驱动程序和teamd来实现。

增加网络带宽

链路聚合可以将多个链路捆绑成为一个逻辑链路,捆绑后的链路带宽是每个独立链路的带宽总和。

提高网络连接的可靠性

链路聚合中的多个链路互为备份,当有一个链路断开,流量会自动在剩下链路间重新分配。

实现流量的负载均衡

把流量平均分到所有成员链路中去,使得每个成员链路最低限度的减低产生流量阻塞链路的风险。

麒麟操作系统内核模块(module)带有team驱动,支持team聚合链路

/usr/lib/modules/4.19.90-89.11.v2401.ky10.x86_64/kernel/drivers/net/team/

在这里插入图片描述

bond链路聚合与team聚合链路区别

team聚合链路bond链路聚合
用户可设定哈希功能支持不支持
用户LACP支持的负载平衡支持不支持
支持IPv6支持不支持

在Centos7之前都是使用 bond 机制来实现链路聚合,并根据不同的模式来实现负载均衡或者轮询接替处理数据。在Centos7以后,出现了一种新的网络工具 nmcli。nmcli会根据命令参数的配置来重新生成特定的配置文件来供给网络接口使用。Centos7中不再使用 bond 机制,而是使用 team 网络组,将 team 组当作一个设备。

二、team聚合链路模式

roundrobin平衡轮询

  • 交换机对接方式:配置手工模式链路聚合
  • 说明:服务器所绑定的网卡被修改成相同的MAC地址,需要交换机通过手工模式链路聚合对接

activebackup主备轮询

  • 交换机对接方式:配置对接接口在同一个VLAN内
  • 说明:服务器采用双网卡时,一个处于主状态,一个处于从状态,所有数据都通过主状态的端口传输,当主状态端口对应的链路出现故障时,数据通过从状态端口传输。建议将交换机的对应端口配置为同一个VLAN内。

loadbalanc负载均衡

  • 交换机对接方式:配置手工模式链路聚合
  • 说明:服务器的多网卡基于指定的HASH策略传输数据包,需要交换机配置手工模式链路聚合对接。

broadcast广播容错

  • 交换机对接方式:采用两台交换机对接在不同的VLAN内
  • 说明:服务器的多网卡对于同一份报文会复制成两份,然后从两个端口传输。建议使用两台交换机,且配置不同的VLAN。

team模式格式:

config '{"runner":{"name":"工作模式"}}'

bond模式格式:

mode "工作模式"

三、team聚合链路配置案例

链路聚合配置步骤

  1. 创建“网络接口组”
  2. 为”网络接口组“配置IPv4或IPv6网络信息
  3. 分配“网卡接口”给“网络接口组“
  4. 启动或关闭“网络接口组”和”网卡接口“

节点设计

聚合链路网络信息工作模式物理网卡
team0192.168.1.10/24activebackupens36 ens37

[Step1]: 新建网络组team0

nmcli connection add type team con-name team0 ifname team0 autoconnect yes config '{"runner":{"name":"activebackup"}}'
  • nmcli connection add type team:新建网卡连接,类型为team
  • con-name team0con1:网络接口组对应连接名为 team0con1
  • ifname team0:网络接口组的名称为team0
  • autoconnect yes:设置为开机自启连接
  • config:指定数据转发的算法(JSON格式)

在这里插入图片描述

[Step2]: 为网络组team0配置网络信息

nmcli connection modify team0 ipv4.method manual ipv4.addresses 192.168.1.10/24 autoconnect yes
nmcli connection up team0

在这里插入图片描述

[Step4]: 往网络组team0中添加成员端口

nmcli connection add type team-slave con-name team0-ens36 ifname ens36 master team0
nmcli connection add type team-slave con-name team0-ens37 ifname ens37 master team0
nmcli connection up team0		# 这里需要重新启动一下team0的链接

在这里插入图片描述

[Step5]: 验证:查看网络接口组team0的状态和网络接口组的端口信息

teamnl team0 ports
teamdctl team0 state

在这里插入图片描述

[Step6]: 验证:使用Kylin-2 PING Kylin-1,然后关闭ens36端口,查看网卡切换状态,可以看到网卡成功切换,但是网络还是不通

在这里插入图片描述

[Step7]: 验证:查看网卡的MAC地址,可以发现ens36、ens37、team0在配置聚合链路后,MAC地址一致。在主网卡发生故障时,虽然成功切换到备份端口,但是系统无法知道该使用哪张网卡

在这里插入图片描述

[Step8]: 修改config配置,添加硬件地址策略,如果活动成员发生变化(如:故障转移),team0接口的MAC地址也会相应地改变为新的活动成员的MAC地址

nmcli connection modify team0 config '{"runner":{"name":"activebackup","hwaddr_policy":"by_active"}}'
nmcli connection up team0
  • “hwaddr_policy”:指定硬件地址(MAC地址)策略
  • “by_active”:team0将使用当前活动成员的MAC地址

[Step9]: 验证:使用Kylin-2 PING Kylin-1,然后关闭ens36端口,查看网卡切换状态,可以看到网卡成功切换,同时仍然可以PING通

在这里插入图片描述

四、bond链路聚合配置案例

节点设计

聚合链路网络信息工作模式物理网卡
bond0192.168.1.10/24activebackupens36 ens37

[Step1]: 首先需要查看当前系统是否支持bonding

modinfo bonding | more

在这里插入图片描述

[Step2]: 添加bond链接

nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup autoconnect yes

在这里插入图片描述

[Step3]: 为bond链接配置网络信息

nmcli connection modify bond0 ipv4.method manual ipv4.addresses 192.168.1.10/24
nmcli connection up bond0

在这里插入图片描述

[Step4]: 往bond0中添加成员端口

nmcli connection add type bond-slave con-name bond0-ens36 ifname ens36 master bond0
nmcli connection add type bond-slave con-name bond0-ens37 ifname ens37 master bond0
nmcli connection up bond0-ens36
nmcli connection up bond0-ens37
nmcli connection up bond0

在这里插入图片描述

[Step5]: 验证:查看bond0的工作状态

cat /proc/net/bonding/bond0

在这里插入图片描述

[Step6]: 验证:在配置完bond后,ens36、ens37和bond0的MAC一致,从而导致在切换备份网卡时,无法PING通。

在这里插入图片描述

[Step7]: 分别修改bond0的网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0

# 在末尾追加一行,在网卡故障转移时,绑定网卡的MAC地址能够更新为当前活动网卡的MAC地址
BONDING_OPTS="mode=active-backup fail_over_mac=1"
  • BONDING_OPTS:控制bond的MAC地址行为
  • fail_over_mac=1:绑定的MAC地址应为当前活动网卡的MAC地址

[Step8]: 验证:重新启用bond0,然后查看bond0的工作状态

nmcli connection reload		# 重新加载配置文件内容
nmcli connection up bond0

在这里插入图片描述

[Step9]: 验证:使用Kylin-2 PING Kylin-1,然后关闭ens36端口,查看网卡切换状态,可以看到网卡成功切换,同时仍然可以PING通

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Meaauf

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值