一 , 背景需求
我们在实施虚拟化或者超融合的时候 , 部署的linux业务虚拟机 , 因业务需求 , 需要对几个网卡做绑定 。有些工程师可能不光从事安全工作 , 也从事主机存储配置类的工作 , 那么配置网卡聚合的情况就会更多 。大多数工程师对Linux不熟悉 , 尤其是做一些复杂的配置 。我以前刚开始接触Linux , 遇到配置网卡聚合的情况也会慌 , 网上找了不少教程 , 大多数内容长的都一样 , 俗称复制粘贴 , 没有参考意义 。后面我系统性学习了Linux , 编写了很多实用性脚本 , 借此机会分享下Linux下配置网卡聚合的脚本 。
二 , 技术介绍
Linux网卡聚合和交换机聚合类似 , 都需要双边来共同协商 , 协商不一致 , 则无法正常工作 。Linux网卡聚合有7种模式
服务器bond模式
交换机聚合模式
mode0 (balance-rr)Round-robin
on
mode1 (active-backup)Active-backup
无需配置
mode2 (balance-xor)XOR
无需配置
mode3 (broadcast)
无需配置
mode4 (802.3ad)IEEE 802.3ad Dynamic link aggregation
active
mode5 (balance-tlb)Adaptive transmit load balancing
无需配置
mode6 (balance-alb)Adaptive load balancing
无需配置
我们常用的配置就三种 ,
1 , mode0 , 轮询模式 , 交换机需要静态模式或者手工模式 。
2 , mode1 , 主备模式 , 交换机无需配置 。
3 , mode4 , LACP模式 , 交换机也需要配置为LACP 。这个模式用得比较多 , 可以增加链路带宽 , 负载均衡 。
在现行的Linux发行版中 , 配置网卡聚合的程序?.NET-tools和networkManager , 即大家经常叫的bond绑定和team绑定在6系列中 , 只支持net-tools , 即bond , 在7系列中支持两种模式 , 8系列中 , 默认支持team模式 。我在物理服务器和虚拟机上测试了多次 , 两种配置模式性能无差别 。有些客户要求安装完Linux要禁用NetworkManager 服务 , 所以只能使用bond来做聚合 。
【Linux网卡聚合交互式配置脚本】我根据不同的版本 , 不同的系统环境适配了不同的配置模式 。
此脚本只支持centos 6.x/7.x/8.x RedHat 6.x/7.x/8.x 。
三 , 准备工作
下载此脚本 , 上传到需要配置的操作系统下 。如果网口较充足 , 建议使用临时IP , 用工具上传并ssh进行操作 , 否则使用优盘等上传到操作系统中进行配置 。
四 , 使用方法
脚本使用Linux shell 进行编写 , 全自动 , 全交互 , 使用方便简单 。考虑到不同的终端和操作系统语言的复杂性 , 我适配了中文和英文 。如果脚本乱码 , 则选择英文即可 。
文章插图
脚本可选择使用bond模式和team模式来进行绑定
文章插图
选择相应的模式之后 , 会列出当前主机所有网卡、IP、以及网关
文章插图
输入要配置的网卡序号 , 序号之间用空格隔开 , 回车之后输入bond名称 , 此处bond名称与bond模式无关 , 但是为了方便分辨 , 建议bond模式和bond名称统一 。
文章插图
接下来脚本会提示输入聚合口的IP , 掩码、网关、DNS信息 , 所有信息一目了然 。
文章插图
所有信息填写无误 , 回车之后 , 会提示选择bond绑定模式 , 大家根据自己的情况选择相应的模式
文章插图
选择模式之后 , 脚本会进行进一步的配置
文章插图
配置结果
推荐阅读
- WiFi越用越卡? 无线蹭网卡
- Linux取特定某些行的值
- 春日迟迟再出发|《春日迟迟再出发》嘉宾近况,陆莹晒团聚合照,rock莫非暧昧升级
- Atoms 是一个可以让你轻松管理 Linux Chroot 环境的 GUI 工具 | Linux 中国
- Linux安全之SELinux理解
- 听完我的建议,Linux将不再困难
- 10 大可以摧毁你的 Linux 的命令
- Linux命令中特殊符号
- Linux和Windows操作系统如何硬盘分区?看这篇就够了
- 在linux中文件系统的目录结构采用的是-在linux目录结构中目录中的文件-