Linux服务管理-链路聚合

Linux 链路聚合

链路聚合(Link Aggregation)是一种将多个网络接口结合在一起,以增加带宽和提供冗余的技术。它在数据中心、企业网络以及高性能计算等场景中具有广泛的应用。

背景

在网络中,随着数据流量的增加,单个网络接口可能无法满足带宽需求,导致网络瓶颈。链路聚合应运而生,它允许将多个物理网络接口聚合为一个逻辑接口,从而提高传输能力和可用性。

应用场景

  1. 数据中心

    • 数据中心通常需要高带宽和高可用性。通过链路聚合,多个服务器可以同时使用多个网络接口,提高数据传输速率。

  2. 企业网络

    • 在企业内部网络中,通过聚合可以连接多个交换机,形成更强大的核心网络,避免单点故障。

  3. 高性能计算(HPC)

    • 在高性能计算集群中,链路聚合能够确保计算节点之间的数据快速传输,减少延迟。

  4. 视频监控系统

    • 在大规模视频监控部署中,聚合可以提高视频流的传输速率,保证视频监控的流畅性。

解决的现实问题

  1. 带宽瓶颈

    • 通过链路聚合,可以有效解决带宽不足的问题,满足大数据传输和高并发请求的需求。

  2. 网络故障

    • 链路聚合提供冗余,避免了因单一链路故障导致的网络中断,提升了网络的可靠性。

  3. 网络资源利用不均

    • 通过负载均衡,链路聚合能够有效利用所有可用链路,避免某些链路闲置而其他链路过载的问题。

  4. 提高网络性能

    • 在对性能要求高的应用场景中(如视频流、在线游戏等),链路聚合能有效降低延迟,提高用户体验。

实现过程

参考地址:3.3. 使用 nmcli 配置网络绑定 | Red Hat Product Documentation

注:在centos 7,8中推荐使用team做聚合,bond也可以用。在9中,team被弃用,使用bond

本实验的操作系统为centos stream9,所以使用bond做聚合。网卡个数:2个。

根据您要使用的绑定模式,您必须在交换机上配置端口:

绑定模式交换机上的配置
0 - balance-rr需要启用静态 EtherChannel,而不是链路聚合控制协议(LACP)协商。
1 - active-backup交换机上不需要任何配置。
2 - balance-xor需要启用静态 EtherChannel,而不是 LACP 协商。
3 - broadcast需要启用静态 EtherChannel,而不是 LACP 协商。
4 - 802.3ad需要启用 LACP 协商的 EtherChannel。
5 - balance-tlb交换机上不需要任何配置。
6 - balance-alb交换机上不需要任何配置。
# 删除原有网卡连接
[root@locahost ~]# nmcli con down ens33
Connection 'ens33' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
[root@locahost ~]# nmcli con delete ens33 
Connection 'ens33' (bc10550c-24ba-3c3e-8635-98d2a9236983) successfully deleted.
[root@locahost ~]# 
[root@locahost ~]# nmcli con down ens37 
Connection 'ens37' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/6)
[root@locahost ~]# nmcli con delete ens37 
Connection 'ens37' (907dac22-e81b-4bab-8844-3d8e318d5dba) successfully deleted.
[root@locahost ~]# 
​
# 创建绑定接口
[root@locahost ~]# nmcli connection add type bond con-name bond0 ifname bond0 bond.options "mode=active-backup"
Connection 'bond0' (69f604ce-f9be-4e87-bb42-fbb9561ba649) successfully added.
[root@locahost ~]#
​
# 显示网络接口以及您要添加到绑定中的接口名称
[root@locahost ~]# nmcli device status 
DEVICE   TYPE      STATE                                  CONNECTION 
bond0    bond      connecting (getting IP configuration)  bond0      
lo       loopback  connected (externally)                 lo         
docker0  bridge    connected (externally)                 docker0    
ens33    ethernet  disconnected                           --         
ens37    ethernet  disconnected                           --         
[root@locahost ~]# 
​
# 为绑定分配接口
[root@locahost ~]# nmcli connection add type ethernet port-type bond con-name bond0-port1 ifname ens33 controller bond0
Connection 'bond0-port1' (bd0f46fb-6ac6-4b84-ae5b-56a0c7911cb4) successfully added.
[root@locahost ~]# nmcli connection add type ethernet port-type bond con-name bond0-port2 ifname ens37 controller bond0
Connection 'bond0-port2' (6bbf5447-66ef-4ca1-850f-9ea57456af44) successfully added.
[root@locahost ~]# 
​
# 为bond0配置IP地址
[root@locahost ~]# nmcli con modify bond0 ipv4.method manual ipv4.addresses 10.45.25.100/24 ipv4.gateway 10.45.25.2 ipv4.dns 8.8.8.8 connection.autoconnect yes
[root@locahost ~]# 
​
# 启动bond0
[root@locahost ~]# nmcli con up bond0
Connection successfully activated (controller waiting for ports) (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/22)
[root@locahost ~]# 
​
# 查看网卡连接信息
[root@locahost ~]# nmcli con show
NAME         UUID                                  TYPE      DEVICE  
bond0        69f604ce-f9be-4e87-bb42-fbb9561ba649  bond      bond0   
bond0-port1  bd0f46fb-6ac6-4b84-ae5b-56a0c7911cb4  ethernet  ens33   
bond0-port2  6bbf5447-66ef-4ca1-850f-9ea57456af44  ethernet  ens37   
lo           88a31016-e800-456d-a473-d248bac534d4  loopback  lo      
docker0      b68c7c7e-d6f0-4f80-9aac-acd421bb4826  bridge    docker0 
[root@locahost ~]# 
​
# 现实绑定状态
[root@locahost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v5.14.0-496.el9.x86_64
​
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: ens33
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Peer Notification Delay (ms): 0
​
Slave Interface: ens33
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:2d:97:cd
Slave queue ID: 0
​
Slave Interface: ens37
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:50:56:3b:8f:09
Slave queue ID: 0
[root@locahost ~]# 
​
# 测试
[root@locahost ~]# ping -c 3 baidu.com
PING baidu.com (110.242.68.66) 56(84) bytes of data.
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=1 ttl=128 time=49.5 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=2 ttl=128 time=39.5 ms
64 bytes from 110.242.68.66 (110.242.68.66): icmp_seq=3 ttl=128 time=58.0 ms
​
--- baidu.com ping statistics ---
3 packets transmitted, 3 received, 0% packet loss, time 2007ms
rtt min/avg/max/mdev = 39.487/48.991/57.974/7.556 ms
[root@locahost ~]# 

总结

链路聚合是一项强大的网络技术,广泛应用于各类场景中,能够有效解决带宽不足、网络故障和资源利用不均的问题。通过提高带宽、增强可靠性和简化管理,链路聚合在现代网络中扮演着重要角色,为现代网络架构提供了重要支持,满足了日益增长的业务需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值