Linux 链路聚合
链路聚合(Link Aggregation)是一种将多个网络接口结合在一起,以增加带宽和提供冗余的技术。它在数据中心、企业网络以及高性能计算等场景中具有广泛的应用。
背景
在网络中,随着数据流量的增加,单个网络接口可能无法满足带宽需求,导致网络瓶颈。链路聚合应运而生,它允许将多个物理网络接口聚合为一个逻辑接口,从而提高传输能力和可用性。
应用场景
-
数据中心:
-
数据中心通常需要高带宽和高可用性。通过链路聚合,多个服务器可以同时使用多个网络接口,提高数据传输速率。
-
-
企业网络:
-
在企业内部网络中,通过聚合可以连接多个交换机,形成更强大的核心网络,避免单点故障。
-
-
高性能计算(HPC):
-
在高性能计算集群中,链路聚合能够确保计算节点之间的数据快速传输,减少延迟。
-
-
视频监控系统:
-
在大规模视频监控部署中,聚合可以提高视频流的传输速率,保证视频监控的流畅性。
-
解决的现实问题
-
带宽瓶颈:
-
通过链路聚合,可以有效解决带宽不足的问题,满足大数据传输和高并发请求的需求。
-
-
网络故障:
-
链路聚合提供冗余,避免了因单一链路故障导致的网络中断,提升了网络的可靠性。
-
-
网络资源利用不均:
-
通过负载均衡,链路聚合能够有效利用所有可用链路,避免某些链路闲置而其他链路过载的问题。
-
-
提高网络性能:
-
在对性能要求高的应用场景中(如视频流、在线游戏等),链路聚合能有效降低延迟,提高用户体验。
-
实现过程
参考地址: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 ~]#
总结
链路聚合是一项强大的网络技术,广泛应用于各类场景中,能够有效解决带宽不足、网络故障和资源利用不均的问题。通过提高带宽、增强可靠性和简化管理,链路聚合在现代网络中扮演着重要角色,为现代网络架构提供了重要支持,满足了日益增长的业务需求。
标签:聚合,nmcli,Linux,locahost,链路,bond0,root From: https://blog.csdn.net/weixin_52377412/article/details/142798389