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

相关文章

Linux命令之firewalld的用法

《Linux命令之firewalld的用法》:本文主要介绍Linux命令之firewalld的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux命令之firewalld1、程序包2、启动firewalld3、配置文件4、firewalld规则定义的九大

Linux之计划任务和调度命令at/cron详解

《Linux之计划任务和调度命令at/cron详解》:本文主要介绍Linux之计划任务和调度命令at/cron的使用,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux计划任务和调度命令at/cron一、计划任务二、命令{at}介绍三、命令语法及功能 :at

Linux下如何使用C++获取硬件信息

《Linux下如何使用C++获取硬件信息》这篇文章主要为大家详细介绍了如何使用C++实现获取CPU,主板,磁盘,BIOS信息等硬件信息,文中的示例代码讲解详细,感兴趣的小伙伴可以了解下... 目录方法获取CPU信息:读取"/proc/cpuinfo"文件获取磁盘信息:读取"/proc/diskstats"文

Linux内核参数配置与验证详细指南

《Linux内核参数配置与验证详细指南》在Linux系统运维和性能优化中,内核参数(sysctl)的配置至关重要,本文主要来聊聊如何配置与验证这些Linux内核参数,希望对大家有一定的帮助... 目录1. 引言2. 内核参数的作用3. 如何设置内核参数3.1 临时设置(重启失效)3.2 永久设置(重启仍生效

Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案

《Vue3组件中getCurrentInstance()获取App实例,但是返回null的解决方案》:本文主要介绍Vue3组件中getCurrentInstance()获取App实例,但是返回nu... 目录vue3组件中getCurrentInstajavascriptnce()获取App实例,但是返回n

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

SQL表间关联查询实例详解

《SQL表间关联查询实例详解》本文主要讲解SQL语句中常用的表间关联查询方式,包括:左连接(leftjoin)、右连接(rightjoin)、全连接(fulljoin)、内连接(innerjoin)、... 目录简介样例准备左外连接右外连接全外连接内连接交叉连接自然连接简介本文主要讲解SQL语句中常用的表

kali linux 无法登录root的问题及解决方法

《kalilinux无法登录root的问题及解决方法》:本文主要介绍kalilinux无法登录root的问题及解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,... 目录kali linux 无法登录root1、问题描述1.1、本地登录root1.2、ssh远程登录root2、

Linux ls命令操作详解

《Linuxls命令操作详解》通过ls命令,我们可以查看指定目录下的文件和子目录,并结合不同的选项获取详细的文件信息,如权限、大小、修改时间等,:本文主要介绍Linuxls命令详解,需要的朋友可... 目录1. 命令简介2. 命令的基本语法和用法2.1 语法格式2.2 使用示例2.2.1 列出当前目录下的文

Redis在windows环境下如何启动

《Redis在windows环境下如何启动》:本文主要介绍Redis在windows环境下如何启动的实现方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录Redis在Windows环境下启动1.在redis的安装目录下2.输入·redis-server.exe