RH358配置链路聚合--配置网络组Team

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
简介: RH358配置链路聚合--配置网络组Team

RH358配置链路聚合–配置网络组Team

本章节开始,介绍如何配置和管理链路聚合配置。此方面技术在实际工作中必备,特别在现各种高并发场景这么大量的时代,没HA咋行?

专栏地址:https://blog.csdn.net/qq_41765918/category_11532281.html

1. 介绍网络组Team概念

保持网络服务的可用性需要一个网络高可用性的坚实基础。当至少有一条trunks提供连通性时,多路冗余网络trunks可以保证网络业务的可用性。此外,当单个网络接口被传入的网络流量饱和时,服务访问可能会受到影响。

在这种情况下,将网络流量分散到多个网络接口可能是解决方案。网络分组将多个网络接口卡逻辑地连接在一起,以允许故障转移,或允许更高的吞吐量。

Red Hat Enterprise Linux 8使用一个小的内核驱动程序和一个用户空间守护进程teamd来实现网络合作。内核高效地处理网络数据包,而teamd负责逻辑和接口处理。称为runners运行器的软件实现负载均衡和active-backup主动备份逻辑,比如roundrobin。下表总结了每个runners运行器的使用:

Teamd 运行器

运行器Runner 描述
activebackup 故障转移运行程序,监视链接更改并选择活动端口进行数据传输。
roundrobin 这个运行器以轮循的方式从每个端口传输数据包。
broadcast 这个运行器从所有端口传输每个数据包。
loadbalance 这个运行器监控流量,并使用哈希函数试图在选择数据包传输端口时达到完美的均衡。
lacp 该运行器实现802.3ad链路聚合控制协议(LACP)。它具有与loadbalance负载均衡运行器相同的传输端口选择可能性。
random 这个运行程序在一个随机选择的端口上传输数据包。

当使用NetworkManager控制团队接口或对其进行故障排除时,您应该牢记以下几点:

  • 启动team接口并不会自动启动其端口接口。

  • 启动端口接口总是启动team接口。

  • 停止team接口也停止端口接口。

  • 没有端口的team接口可以启动静态IP连接。

  • 不含端口的team在启动DHCP连接时等待端口。

  • 如果一个team接口有DHCP连接,并且正在等待端口,当添加一个带有载波信号的端口时,它就完成了激活。

  • 如果一个team接口已经有DHCP连接,并且正在等待端口,当添加一个没有载波信号的端口时,它将继续等待。

所有的网络交互都是通过team接口(或主接口)完成的。 team接口由多个端口接口(端口或从属接口)组成,它们是组合到team中的网络接口。

Runner 方式(补充说明):

1.roundrobin 【mode 0】轮转策略 (balance-rr)

特点:

1)从头到尾顺序的在每一个slave接口上面发送数据包,轮询方式往每条链路发送报文,基于per packet方式发送。服务上ping 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式 ,进行轮询发送。

2)提供负载均衡和容错的能力,当有链路出问题,会把流量切换到正常的链路上。

交换机端需要配置聚合口

2.activebackup【mode 1】活动-备份(主备)策略

特点:

一个端口处于主状态 ,一个处于从状态,所有流量都在主链路上处理,从链路不会有任何流量。当主端口down掉时,从端口接手主状态。

不需要交换机端支持

3.loadbalance【mode 2】限定流量

特点:

该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在“本地”网络配置下可以工作得很好。

如果所有流量是通过单个路由器(比如 “网关”型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。),那该模式就不是最好的选择。

和balance-rr一样,交换机端口需要能配置为“port channel”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。

交换机端需要配置聚合口

4.broadcast【mode 3】广播策略

特点:

这种模式一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。

此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题

适用于拓扑,两个接口分别接入两台交换机,并且属于不同的vlan,当一边的网络出现故障不会影响服务器另一边接入的网络正常工作。而且故障过程是0丢包。

5.lacp (implements the 802.3ad Link Aggregation ControlProtocol)【mode 4】

特点:

802.3ad模式是IEEE标准,因此所有实现了802.3ad的对端都可以很好的互操作。802.3ad 协议包括聚合的自动配置,因此只需要很少的对交换机的手动配置(要指出的是,只有某些设备才能使用802.3ad)。802.3ad标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。

缺点:

标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。 此外,linux bonding的802.3ad实现通过对端来分发流量(通过MAC地址的XOR值),因此在“网关”型配置下,所有外出(Outgoing)流量将使用同一个设备。进入(Incoming)的流量也可能在同一个设备上终止,这依赖于对端802.3ad实现里的均衡策略。在“本地”型配置下,流量将通过 bond里的设备进行分发。

应用拓扑同mode 0,和mode 2一样,不过这种模式除了配置port channel之外还要在port channel聚合口下开启LACP功能,成功协商后,两端可以正常通信。否则不能使用。

2. 配置网络组teams

使用nmcli命令创建和管理team接口与端口接口。以下四个步骤创建和激活一个team接口:

  1. 创建team接口。

  2. 分配team接口的IPv4和/或IPv6属性。

  3. 创建端口接口。

  4. 启用或关闭team接口和端口接口。

1. 创建team接口。

使用nmcli为team接口创建一个连接,语法如下:

[root@host ~]# nmcli con add type team con-name CONN_NAME ifname IFACE_NAME team.runner RUNNER

其中CONN_NAME是连接名,IFACE_NAME是接口名,RUNNER指定team的运行器,例如activebackup。

下面的nmcli命令创建一个名为team0的NetworkManager连接。它创建一个名为team0的team接口,该接口使用负载均衡运行器,当它发送数据包时,该接口在活动接口之间交替使用。

[root@host ~]# nmcli con add type team con-name team0 ifname team0 team.runner loadbalance

2. 分配team接口的IPv4和/或IPv6属性。

创建team接口之后,您可以选择为其分配静态IPv4和/或IPv6属性。默认连接属性将team接口配置为使用DHCP进行IP设置。

以下示例为team0接口分配静态IPv4地址:

[root@host ~]# nmcli con mod team0 ipv4.addresses 192.0.2.4/24

[root@host ~]# nmcli con mod team0 ipv4.method manual

3. 创建端口接口。

# 使用nmcli命令创建每个端口接口,语法如下:。
[root@host ~]# nmcli con add type team-slave con-name CONN_NAME  \
ifname IFACE_NAME master TEAM
# 其中CONN_NAME是NetworkManager连接名,IFACE_NAME是现有网络接口,TEAM指定team接口的connection名称。
# 可以显式指定连接名称,或者默认为team-slave-IFACE_NAME。

# 下面的命令为team0  team接口创建端口接口,并将它们附加到eth1和eth2网络接口。
[root@host ~]# nmcli con add type team-slave con-name team0-eth1 \
 ifname eth1 master team0
[root@host ~]# nmcli con add type team-slave con-name team0-eth2 \
 ifname eth2 master team0

4. 启用或关闭team接口和端口接口。

# 使用nmcli管理team和端口连接,语法如下:
[root@host ~]# nmcli con up CONN_NAME
[root@host ~]# nmcli con down CONN_NAME
# 其中CONN_NAME是团队或端口接口的连接名。

# 下面的示例激活team0 team接口和team0-eth1连接:
[root@host ~]# nmcli con up team0
[root@host ~]# nmcli con up team0-eth1

使用teamdctl命令显示team接口的状态。显示的信息包括端口网口的状态信息。

[root@host ~]# teamdctl team0 state

3. 课本练习

[student@workstation ~]$ lab netlink-teaming start

1. 按要求配置网络聚合。

[root@servera ~]# nmcli con add type team con-name team0 ifname team0 team.runner activebackup team.runner-hwaddr-policy by_active
#课本没有后面的参数,此参数是为了完美模拟故障而设置,实际物理机器不用这样设置。而且这配置适合在 activebackup使用。双网卡在虚拟机上操作,测试断开时,会存在各种问题,请知悉。
[root@servera ~]# nmcli con mod team0 ipv4.addresses 192.168.0.100/24
[root@servera ~]# nmcli con mod team0 ipv4.method manual

[root@servera ~]# nmcli con add type ethernet slave-type team con-name team0-port1 ifname eth1 master team0
[root@servera ~]# nmcli con add type ethernet slave-type team con-name team0-port2 ifname eth2 master team0

[root@servera ~]# nmcli con up team0
[root@servera ~]# nmcli con up team0-port1
[root@servera ~]# nmcli con up team0-port2

[root@servera ~]# teamdctl team0 state
setup:
  runner: activebackup
ports:
  eth1
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
  eth2
    link watches:
      link summary: up
      instance[link_watch_0]:
        name: ethtool
        link: up
        down count: 0
runner:
  active port: eth1
# 注意,eth1端口是活动的,并接收所有流量。当系统出现故障时,将使用eth2。

2. 测试连接。

[root@servera ~]# ping -I team0 -c 4 192.168.0.254

3. 抓包测试。

[root@servera ~]# ping 192.168.0.254

[root@servera ~]# tcpdump -i eth1 -p icmp

[root@servera ~]# tcpdump -i eth2 -p icmp

4. 模拟故障。

(虚拟机环境问题会存在坑)

[root@servera ~]# nmcli con down team0-port1

[root@servera ~]# teamdctl team0 state

完成实验。

[student@workstation ~]$ lab netlink-teaming finish

总结

介绍网络组Team的概念。演示具体命令参数如何配置网络聚合team。虚拟机环境模拟网络聚合配置会有坑,在真机不会。若喜欢金鱼哥的文章,顺手点个赞。也可点个关注,因为后续会不断上干货。

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
27天前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
276 3
|
1月前
|
SQL Oracle Java
实时计算 Flink版产品使用合集之网络包大小与配置不符该如何处理
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStreamAPI、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
18小时前
|
运维 网络安全 网络虚拟化
2024网络建设与运维赛题-交换配置教程
SW1, SW2, SW3作为核心交换机,配置了多个VLAN以隔离不同部门的网络,如产品、营销、财务和行政。配置中还包括启用VLAN访问控制,允许特定VLAN通过二层链路,并设置了链路聚合(LACP)以增强SW1和SW2之间的连接可靠性。此外,所有交换机都配置了IP VRF来支持分公司(Branch,RD 1:1)和Internet(RD 2:2)的虚拟专用网络。
2024网络建设与运维赛题-交换配置教程
YOLOv8打印模型结构配置信息并查看网络模型详细参数:参数量、计算量(GFLOPS)
YOLOv8打印模型结构配置信息并查看网络模型详细参数:参数量、计算量(GFLOPS)
|
1月前
|
网络安全
|
25天前
|
数据安全/隐私保护
给虚拟机配置网络 Xshell 使用
给虚拟机配置网络 Xshell 使用
|
25天前
|
网络协议 网络安全
在Windos Server 2016 版本配置网络参数和接入工作组网络
在Windos Server 2016 版本配置网络参数和接入工作组网络
|
1月前
|
网络协议 Linux 开发工具
Linux中 /etc/sysconfig/network-scripts/ifcfg-<interface> 网络接口配置 详解 看这一篇够用
Linux中 /etc/sysconfig/network-scripts/ifcfg-<interface> 网络接口配置 详解 看这一篇够用
|
1月前
|
域名解析 网络协议 网络虚拟化
【计算机网络】—— 中小型网络构建与配置
【计算机网络】—— 中小型网络构建与配置
51 0
|
1月前
|
负载均衡 网络协议 安全
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
【计算机网络】虚拟路由冗余(VRRP)协议原理与配置
35 0

热门文章

最新文章