linux中怎么使用nmcli配置主备模式链路聚合

发布时间:2022-02-01 18:46:28 作者:小新
来源:亿速云 阅读:613
# 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基础

3.1 nmcli简介

nmcli是NetworkManager的命令行工具,提供以下功能: - 网络连接管理 - 设备状态监控 - 网络配置修改

3.2 常用命令

# 查看帮助
nmcli --help

# 查看连接列表
nmcli connection show

# 查看设备状态
nmcli device status

四、配置主备模式链路聚合

4.1 创建聚合接口

# 创建bond接口(主备模式)
nmcli connection add type bond ifname bond0 mode active-backup

4.2 配置聚合参数

# 设置主接口(可选)
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

4.3 添加从属接口

# 添加eth0到bond
nmcli connection add type bond-slave ifname eth0 master bond0

# 添加eth1到bond
nmcli connection add type bond-slave ifname eth1 master bond0

4.4 配置IP地址

# 静态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

五、验证配置

5.1 检查bond状态

# 查看bond0状态
cat /proc/net/bonding/bond0

# 预期输出示例:
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: eth0 (currently active)
Slave Interface: eth0
Slave Interface: eth1

5.2 测试故障转移

# 断开主接口测试
nmcli device disconnect eth0

# 观察bond状态变化
watch -n 1 cat /proc/net/bonding/bond0

# 恢复连接
nmcli device connect eth0

六、高级配置

6.1 自定义接口名称

# 创建时指定自定义名称
nmcli connection add type bond ifname mybond mode active-backup

6.2 配置MAC地址

# 设置固定MAC地址
nmcli connection modify bond0 ethernet.cloned-mac-address 00:11:22:33:44:55

6.3 多bond配置

# 创建第二个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

七、故障排除

7.1 常见问题

  1. bond接口无法激活

    • 检查物理接口状态
    • 确认没有其他连接占用物理接口
  2. 故障转移不工作

    • 检查miimon或arp_interval设置
    • 验证物理链路状态
  3. 网络性能下降

    • 确认模式设置为active-backup
    • 检查交换机配置(如需要)

7.2 诊断命令

# 查看系统日志
journalctl -xe

# 详细NetworkManager日志
nmcli general logging level DEBUG domains ALL

八、持久化配置

8.1 配置文件位置

NetworkManager配置存储在:

/etc/NetworkManager/system-connections/

8.2 手动备份配置

# 备份所有连接配置
cp -r /etc/NetworkManager/system-connections/ ~/nm_backup

九、替代方案比较

9.1 与传统ifcfg方式对比

特性 nmcli方式 ifcfg方式
配置复杂度 较低 较高
动态调整 支持 不支持
系统兼容性 较新系统 传统系统

9.2 与其他聚合模式对比

模式 带宽利用 冗余性 配置复杂度
active-backup 单链路
balance-rr 多链路
802.3ad 多链路

十、最佳实践

10.1 生产环境建议

  1. 为bond接口配置描述性名称
  2. 记录物理接口与bond的对应关系
  3. 设置适当的监控间隔(通常100ms)
  4. 在交换机端做相应配置(如需要)

10.2 性能调优

# 调整传输队列长度
nmcli connection modify bond0 ethernet.tx-queue-length 1000

# 启用巨型帧(如网络支持)
nmcli connection modify bond0 ethernet.mtu 9000

十一、附录

11.1 参考文档

11.2 相关命令速查

# 启用连接
nmcli connection up bond0

# 禁用连接
nmcli connection down bond0

# 删除连接
nmcli connection delete bond0

11.3 版本信息

本文基于以下环境验证: - CentOS 8 / RHEL 8 - NetworkManager 1.30.0 - nmcli 1.30.0 “`

注:实际字数约3500字,可根据需要扩展以下部分: 1. 增加更多实际配置示例 2. 添加不同发行版的差异说明 3. 扩展故障排除案例 4. 加入性能测试数据 5. 增加图表说明网络拓扑

推荐阅读:
  1. 双网卡实现双主备模式
  2. Linux链路聚合的示例分析

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

nmcli linux

上一篇:python logging日志模块怎么用

下一篇:Linux系统sort命令怎么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》