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

2024-04-19 06:12

本文主要是介绍linux环境下创建网口聚合实例,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

这篇关于linux环境下创建网口聚合实例的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/916789

相关文章

通过Docker容器部署Python环境的全流程

《通过Docker容器部署Python环境的全流程》在现代化开发流程中,Docker因其轻量化、环境隔离和跨平台一致性的特性,已成为部署Python应用的标准工具,本文将详细演示如何通过Docker容... 目录引言一、docker与python的协同优势二、核心步骤详解三、进阶配置技巧四、生产环境最佳实践

SpringBoot+RustFS 实现文件切片极速上传的实例代码

《SpringBoot+RustFS实现文件切片极速上传的实例代码》本文介绍利用SpringBoot和RustFS构建高性能文件切片上传系统,实现大文件秒传、断点续传和分片上传等功能,具有一定的参考... 目录一、为什么选择 RustFS + SpringBoot?二、环境准备与部署2.1 安装 RustF

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

linux系统上安装JDK8全过程

《linux系统上安装JDK8全过程》文章介绍安装JDK的必要性及Linux下JDK8的安装步骤,包括卸载旧版本、下载解压、配置环境变量等,强调开发需JDK,运行可选JRE,现JDK已集成JRE... 目录为什么要安装jdk?1.查看linux系统是否有自带的jdk:2.下载jdk压缩包2.解压3.配置环境

Linux搭建ftp服务器的步骤

《Linux搭建ftp服务器的步骤》本文给大家分享Linux搭建ftp服务器的步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录ftp搭建1:下载vsftpd工具2:下载客户端工具3:进入配置文件目录vsftpd.conf配置文件4:

Spring创建Bean的八种主要方式详解

《Spring创建Bean的八种主要方式详解》Spring(尤其是SpringBoot)提供了多种方式来让容器创建和管理Bean,@Component、@Configuration+@Bean、@En... 目录引言一、Spring 创建 Bean 的 8 种主要方式1. @Component 及其衍生注解

Linux实现查看某一端口是否开放

《Linux实现查看某一端口是否开放》文章介绍了三种检查端口6379是否开放的方法:通过lsof查看进程占用,用netstat区分TCP/UDP监听状态,以及用telnet测试远程连接可达性... 目录1、使用lsof 命令来查看端口是否开放2、使用netstat 命令来查看端口是否开放3、使用telnet