linux环境下创建网口聚合实例

devtools/2024/10/23 3:04:54/

Linux的网口聚合(网口绑定、bonding)技术是一种通过多个网络接口聚合来提供网络冗余和/或增加网络带宽的方法,为提供网络稳定性、带宽、性能非常有利工具,常见的网口聚合可以支持不同工作模式

  • mode=0 (balance-rr):轮询模式,负载均衡。
  • mode=1 (active-backup):热备份模式,一个接口处于活动状态,另一个处于备份状态。
  • mode=2(balance-xor) 异或均衡模式。
  • mode=3(broadcast) 广播模式,给所有端口都传输数据。
  • mode=4(802.3ad) LACP模式。
  • mode=5(balance-tlb) 发送均衡模式。
  • mode=6 (balance-tlb):适配器传输负载均衡模式,需要交换机支持。

这里以 active-backup模式为例,创建网口聚合通常需要如下步骤:

1.驱动安装

需要支持bonding驱动,linux内核自带。

insmod bonding.ko

2. 绑定eth0和eth1网口实例

网卡绑定使用核心工具是nmcli (NetworkManager Command-Line)nmcli是一个功能强大的命令行工具,用于配置和管理和获取网络连接等。通过使用它提供的各种命令和选项,可以满足各种网络设置需求,其中网卡绑定是该工具支持能力之一。

这里以eth0和eth1网口绑定为bond0 ( active-backup模式)为实例:

  1. NetworkManager 服务启动
    systemctl stop NetworkManager
    systemctl restart NetworkManager

  2. 节点信息查看和删除
    nmcli connection show 查看所有网卡节点
    nmcli connection delete eth0 配置前删掉相关节点和ip
    nmcli connection delete eth1
    nmcli connection delete bond0

  3. 创建bond0绑定接口
    nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup ip4 192.168.1.112/24

  4. 添加被绑定的网卡节点(eth0 和eth1)
    nmcli connection add type bond-slave ifname eth1 master bond0
    nmcli connection add type bond-slave ifname eth0 master bond0

  5. 启动网卡
    nmcli con up bond0
    nmcli con up bond-slave-eth1
    nmcli con up bond-slave-eth0

  6. 查看状态
    nmcli connection show
    cat /proc/net/bonding/bond0
    要看到链接到DEVICE项 有对应名称,才说明connection上,绑定后mac地址将一样:

bond0 7c8a196a-2f96-4096-8d32-dbf8ebb99593 bond
bond0 bond-slave-eth0 0a553cc8-4612-4232-942a-0cc105e82758
ethernet eth0 bond-slave-eth1
df79a75c-8b0d-4ea7-89d4-717288c465b6 ethernet eth1

  1. 断开绑定、连接绑定
    nmcli dev disconnect eth0 断开eth0的绑定
    nmcli dev connect eth0 连接eth0的绑定

  2. MII监控
    检查MII监控是否开启:
    cat /sys/class/net/bond0/bonding/mii_status
    检查MII监控周期:
    cat /sys/class/net/bond0/bonding/miimon

  3. 修改bond模式
    nmcli connection modify bond0 mode broadcast 修改为广播模式
    nmcli con up bond0 生效

如果报错:‘bond0’: bond.options: ‘primary’ option is only valid for
‘mode=active-backup’ 则del 后再重新创建:
nmcli connection delete bond0
nmcli connection add con-name bond0 ifname bond0 type bond mode
active-backup ip4 192.168.1.112/24

  1. 指定当前活动网卡Currently(active-backup模式)
    nmcli connection modify bond0 primary eth1
    nmcli con up bond0 生效
    关闭:nmcli connection modify bond0 primary none

如果:
nmcli dev disconnect eth0 eth1
nmcli dev connect eth1 谁先connect的谁就做Currently
nmcli dev connect eth0

  1. 为bond0 添加ip、网关、dns
    nmcli connection modify bond0 ipv4.method manual ipv4.addresses xx.xx.xx.xx/yy ipv4.gateway xx.xx.xx.xx ipv4.dns xx.xx.xx.xx ipv6.method ignore

  2. 修改配置文件路径
    /etc/NetworkManager/system-connections


http://www.ppmy.cn/devtools/8974.html

相关文章

k8s whereabouts 使用

Whereabouts简介 whereabouts是一个cluster-wide(集群级别)的IPAM插件,非常适合用在NetworkAttachment的场景。之前我们描述过k8s为分配地址使用的是ipam,常见的ipam类型为host-local,calico-ipam。whereabouts是一款…

小型架构实验模拟

一 实验需求 二 实验环境 22 机器: 做nginx 反向代理 做静态资源服务器 装 nginx keepalived filebeat 44机器: 做22 机器的备胎 装nginx keepalived 99机器:做mysql的主 装mysqld 装node 装filebeat 77机器:做mysq…

Tomcat安装步骤及详细配置

目录 一、Tomcat安装准备 1.官网在线下载 二、tomcat安装步骤 1.tomcat安装 三、运行tomcat 1.打开tomcat安装目录 2.打开目录里面的bin文件 3.运行 bin目录的startup.bat文件(如果启动闪退,请到5.1目录) 4.点击允许访问(…

代码随想录算法训练营第三十六天|435. 无重叠区间、763.划分字母区间、56. 合并区间

今天三道题没看解析都做出来了,很开心~ 435. 无重叠区间 - 🔗 讲解 - 🔗 💡这道题个人认为是今天三道题中最难的。⚠️注意每道题对 “重叠” 的定义是不一样的,有些intervals[i][1] intervals[i 1][0]是重叠&…

【Git】常用命令速查

目录 一、创建版本 二、修改和提交 三、查看提交历史 四、撤销 五、分支与标签 六、合并与衍合 七、远程操作 一、创建版本 命令简要说明注意事项git clone <url>克隆远程版本库 二、修改和提交 命令简要说明注意事项 三、查看提交历史 命令简要说明注意事项 …

【Qt 学习笔记】Qt常用控件 | 按钮类控件 | Push Button的使用及说明

博客主页&#xff1a;Duck Bro 博客主页系列专栏&#xff1a;Qt 专栏关注博主&#xff0c;后期持续更新系列文章如果有错误感谢请大家批评指出&#xff0c;及时修改感谢大家点赞&#x1f44d;收藏⭐评论✍ Qt常用控件 | 按钮类控件 | Push Button的使用及说明 文章编号&#x…

Docker容器化部署(企业版)

大家好&#xff0c;webfunny前端监控埋点系统&#xff0c;已经正式发布了webfunny的官方镜像&#xff1a; Webfunny镜像目录&#xff1a;https://hub.docker.com/r/webfunny/webfunny_monitor_cluster/tags 部署前提是你的服务器已经安装了Docker环境&#xff0c;没有安装doc…

python-django企业设备配件检修系统flask+vue

本课题使用Python语言进行开发。代码层面的操作主要在PyCharm中进行&#xff0c;将系统所使用到的表以及数据存储到MySQL数据库中&#xff0c;方便对数据进行操作本课题基于WEB的开发平台&#xff0c;设计的基本思路是&#xff1a; 前端&#xff1a;vue.jselementui 框架&#…