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

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
传统型负载均衡 CLB,每月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。虚拟机环境模拟网络聚合配置会有坑,在真机不会。若喜欢金鱼哥的文章,顺手点个赞。也可点个关注,因为后续会不断上干货。

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
1月前
|
安全 网络安全 数据安全/隐私保护
|
1月前
|
网络协议 网络架构
网络工程师必知:什么是OSPF多区域?如何配置?
网络工程师必知:什么是OSPF多区域?如何配置?
69 2
网络工程师必知:什么是OSPF多区域?如何配置?
|
1月前
|
网络协议 Linux
图形界面配置网络
本文介绍了在Linux上配置网络服务的步骤。首先打开RHEL-01服务器,找到桌面网络配置选项,进入网络配置面板。点击面板右下角的小齿轮,进入有线配置面板,选择IPv4选项,将地址设置为手动。接下来配置IP地址、子网掩码、网关和DNS服务器。配置完成后,使用新的IP地址进行访问。
47 4
图形界面配置网络
|
1月前
|
监控 负载均衡 网络协议
OSPF在小型网络中的应用:简化配置与高效管理
OSPF在小型网络中的应用:简化配置与高效管理
106 1
|
1月前
|
网络虚拟化 数据安全/隐私保护 数据中心
对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令
本文对比了思科和华为网络设备的基本配置、接口配置、VLAN配置、路由配置、访问控制列表配置及其他重要命令,帮助网络工程师更好地理解和使用这两个品牌的产品。通过详细对比,展示了两者的相似之处和差异,强调了持续学习的重要性。
56 2
|
1月前
|
网络协议 Linux
通用网卡配置文件配置网络
本文介绍了在RHEL 7系统中配置网络的方法。首先,通过编辑位于`/etc/sysconfig/network-scripts`目录下的网卡配置文件(例如`ifcfg-ens33`),设置静态IP地址、子网掩码、网关和DNS等参数。接着,使用`systemctl`命令重启网络服务,确保配置生效。此外,还介绍了使用`nmtui`图形界面工具进行网络配置的步骤,包括修改IP地址、保存配置和重启网络。最后,通过`ip addr`或`ifconfig`命令验证配置是否成功。
110 2
|
2月前
|
负载均衡 算法 数据中心
网络中的链路聚合是什么意思?
【10月更文挑战第12天】
94 0
网络中的链路聚合是什么意思?
|
2月前
|
存储 缓存 Ubuntu
配置网络接口的“IP”命令10个
【10月更文挑战第18天】配置网络接口的“IP”命令10个
83 0
|
10天前
|
SQL 安全 网络安全
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
47 17
|
20天前
|
存储 SQL 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
随着互联网的普及,网络安全问题日益突出。本文将介绍网络安全的重要性,分析常见的网络安全漏洞及其危害,探讨加密技术在保障网络安全中的作用,并强调提高安全意识的必要性。通过本文的学习,读者将了解网络安全的基本概念和应对策略,提升个人和组织的网络安全防护能力。

热门文章

最新文章