您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Linux中怎么使用nmcli配置主备模式链路聚合
## 一、链路聚合概述
### 1.1 什么是链路聚合
链路聚合(Link Aggregation)是一种将多个物理网络接口绑定为一个逻辑接口的技术,通过聚合多个物理链路的带宽资源,实现:
- 增加网络带宽
- 提供链路冗余
- 实现负载均衡
### 1.2 主备模式(Active-Backup)特点
主备模式是链路聚合的一种工作模式,其特点包括:
- 同一时间只有主接口处于活动状态
- 当主接口故障时自动切换到备用接口
- 不增加带宽但提供高可用性
- 适用于对冗余性要求高的场景
### 1.3 常见应用场景
- 服务器高可用网络连接
- 关键网络设备冗余
- 需要保证业务连续性的环境
## 二、准备工作
### 2.1 硬件要求
- 至少两个物理网络接口
- 支持以太网绑定的网卡
- 建议使用相同型号的网卡
### 2.2 软件要求
- Linux内核版本3.0+
- NetworkManager 1.0+
- nmcli工具(通常随NetworkManager安装)
### 2.3 检查网络接口
```bash
# 列出所有网络接口
nmcli device status
# 查看接口详细信息
nmcli device show eth0
nmcli device show eth1
nmcli是NetworkManager的命令行工具,提供以下功能: - 网络连接管理 - 设备状态监控 - 网络配置修改
# 查看帮助
nmcli --help
# 查看连接列表
nmcli connection show
# 查看设备状态
nmcli device status
# 创建bond接口(主备模式)
nmcli connection add type bond ifname bond0 mode active-backup
# 设置主接口(可选)
nmcli connection modify bond0 primary eth0
# 设置监控间隔(毫秒)
nmcli connection modify bond0 miimon 100
# 设置ARP监控(可选)
nmcli connection modify bond0 arp_interval 100
nmcli connection modify bond0 arp_ip_target 192.168.1.1
# 添加eth0到bond
nmcli connection add type bond-slave ifname eth0 master bond0
# 添加eth1到bond
nmcli connection add type bond-slave ifname eth1 master bond0
# 静态IP配置
nmcli connection modify bond0 ipv4.addresses 192.168.1.100/24
nmcli connection modify bond0 ipv4.gateway 192.168.1.1
nmcli connection modify bond0 ipv4.dns "8.8.8.8 8.8.4.4"
nmcli connection modify bond0 ipv4.method manual
# 或者使用DHCP
nmcli connection modify bond0 ipv4.method auto
# 查看bond0状态
cat /proc/net/bonding/bond0
# 预期输出示例:
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0 (currently active)
Slave Interface: eth0
Slave Interface: eth1
# 断开主接口测试
nmcli device disconnect eth0
# 观察bond状态变化
watch -n 1 cat /proc/net/bonding/bond0
# 恢复连接
nmcli device connect eth0
# 创建时指定自定义名称
nmcli connection add type bond ifname mybond mode active-backup
# 设置固定MAC地址
nmcli connection modify bond0 ethernet.cloned-mac-address 00:11:22:33:44:55
# 创建第二个bond接口
nmcli connection add type bond ifname bond1 mode active-backup
nmcli connection add type bond-slave ifname eth2 master bond1
nmcli connection add type bond-slave ifname eth3 master bond1
bond接口无法激活
故障转移不工作
网络性能下降
# 查看系统日志
journalctl -xe
# 详细NetworkManager日志
nmcli general logging level DEBUG domains ALL
NetworkManager配置存储在:
/etc/NetworkManager/system-connections/
# 备份所有连接配置
cp -r /etc/NetworkManager/system-connections/ ~/nm_backup
特性 | nmcli方式 | ifcfg方式 |
---|---|---|
配置复杂度 | 较低 | 较高 |
动态调整 | 支持 | 不支持 |
系统兼容性 | 较新系统 | 传统系统 |
模式 | 带宽利用 | 冗余性 | 配置复杂度 |
---|---|---|---|
active-backup | 单链路 | 高 | 低 |
balance-rr | 多链路 | 中 | 中 |
802.3ad | 多链路 | 高 | 高 |
# 调整传输队列长度
nmcli connection modify bond0 ethernet.tx-queue-length 1000
# 启用巨型帧(如网络支持)
nmcli connection modify bond0 ethernet.mtu 9000
# 启用连接
nmcli connection up bond0
# 禁用连接
nmcli connection down bond0
# 删除连接
nmcli connection delete bond0
本文基于以下环境验证: - CentOS 8 / RHEL 8 - NetworkManager 1.30.0 - nmcli 1.30.0 “`
注:实际字数约3500字,可根据需要扩展以下部分: 1. 增加更多实际配置示例 2. 添加不同发行版的差异说明 3. 扩展故障排除案例 4. 加入性能测试数据 5. 增加图表说明网络拓扑
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。