Linux Bonding 技术解析与配置指南

news2024/11/14 13:52:00

介绍

在复杂的网络环境中,为了提高带宽、负载均衡和冗余备份,Linux 提供了 Bonding 技术。Bonding 技术允许将多个物理网络接口绑定在一起,形成一个逻辑接口,以提高网络性能和可用性。

Bonding 七种模式

Linux Bonding 支持多种模式,每种模式都有其独特的特性和应用场景。

俗称配置简称英文名中文名解释
bond0balance-rrRound-robin policy平衡轮询策略传输数据包顺序是依次传输,直到最后一个传输完毕,此模式提供负载平衡和容错能力。
bond1active-backupActive-backup policy活动备份策略只有一个设备处于活动状态。一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。此模式提供了容错能力。
bond2balance-xorXOR policy平衡策略传输根据 (源MAC地址 xor 目标MAC地址) mod 设备数量 的布尔值选择传输设备。 此模式提供负载平衡和容错能力。
bond3broadcastBroadcast policy广播策略将所有数据包传输给所有设备。此模式提供了容错能力。
bond4802.3adIEEE 802.3ad Dynamic link aggregationIEEE 802.3ad 动态链接聚合创建共享相同的速度和双工设置的聚合组。此模式提供了容错能力。每个设备需要基于驱动的重新获取速度和全双工支持;如果使用交换机,交换机也需启用 802.3ad 模式。
bond5balance-tlbAdaptive transmit load balancing适配器传输负载均衡通道绑定不需要专用的交换机支持。发出的流量根据当前负载分给每一个设备。由当前设备处理接收,如果接受的设 备传不通就用另一个设备接管当前设备正在处理的mac地址。
bond6balance-albAdaptive load balancing适配器负载均衡包括mode5,由 ARP 协商完成接收的负载。bonding驱动程序截获 ARP在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。
  • mode0,mode2 和 mode3 理论上需要静态聚合方式
  • bond1,mode5 和 mode6 不需要交换机端的设置,网卡能自动聚合
  • bond4 需要支持 802.3ad,配置交换机

1. Active-Backup 模式

在此模式下,只有一个网络接口是活动的,其他的是备份的。如果活动接口失效,备份接口会接管。这种模式适用于对网络连接的高可用性要求。

2. Balance-RR (Round Robin) 模式

数据包按照轮询的方式分发到所有可用的网络接口。这是一种基于轮询的负载均衡模式,但不能充分利用带宽。

3. 802.3ad (LACP) 模式

使用 Link Aggregation Control Protocol (LACP) 协议,将多个接口绑定在一起,提供负载均衡和冗余备份。需要交换机支持。

4. Balance-TLB (Transmit Load Balancing) 模式

基于当前网络流量状况进行数据包分发,提供负载均衡。

5. Balance-ALB (Adaptive Load Balancing) 模式

通过学习最佳路径来发送数据包,适用于动态网络环境。

配置步骤

步骤 1:安装 ifenslave 工具

sudo apt-get install ifenslave

步骤 2:编辑网络配置文件

编辑 /etc/network/interfaces 文件,添加 Bonding 配置:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto enp1s0
iface enp1s0 inet manual
    bond-master bond0
auto enp2s0
iface enp2s0 inet manual
    bond-master bond0
auto bond0
iface bond0 inet static
    address 172.17.2.148
    netmask 255.255.255.0
    gateway 172.17.2.1
    dns-nameservers 8.8.8.8 8.8.4.4 
    slaves enp1s0 enp2s0
    bond-mode 1
    bond-miimon 100
    bond-lacp-rate 1
auto enp3s0
iface enp3s0 inet manual
    bond-master bond1
auto enp4s0
iface enp4s0 inet manual
    bond-master bond1
auto bond1
iface bond1 inet static
    address 172.17.17.229
    netmask 255.255.255.0
    gateway 172.17.17.1
    slaves enp3s0 enp4s0
    bond-mode 1
    bond-miimon 100
    bond-lacp-rate 1
    post-up ip route add 10.100.0.0/16 via 10.100.41.1
    post-up ip route add 10.254.254.0/24 via 10.100.41.1

步骤 3:重启网络服务

sudo service networking restart

总结

Linux Bonding 技术为网络管理员提供了强大的工具,用于提高网络性能和可用性。通过选择合适的模式,并正确配置,可以在复杂的网络环境中实现负载均衡和冗余备份,提供更加可靠的网络连接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1381728.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

jar包部署到linux虚拟机的docker中之后连不上mysql

前言: 跟着黑马学习docker的时候,将java项目部署到了docker中,运行访问报错,反馈连不上mysql。 错误描述: 方法解决: 概述:在虚拟中中,我进入项目容器的内部,尝试ping…

软件测试|web自动化测试神器playwright教程(三十八)

简介 在我们使用selenium时,我们可以获取元素的属性,元素的文本值,以及输入框的内容等,作为比selenium更为强大的web自动化测试神器,playwright也可以实现对元素属性,文本值和输入框内容的抓取&#xff0c…

Docker五部曲之二:Docker引擎

文章目录 前言Docker引擎镜像管理容器管理容器运行前台运行和后台运行容器识别重启策略清除 容器日志 数据管理卷挂载创建和管理卷启动带有卷的容器通过Docker Compose使用卷使用只读卷备份、恢复和迁移卷 绑定挂载用绑定挂载启动一个容器Docker Compose使用绑定挂载使用只读绑…

AcWing 103. 电影(map、pair连用or离散化)

题目 方法一(mappair) 其实上面这么长巴拉巴拉就是在说 首先,每个科学家会的语言都不同。但是呢每部电影的字幕和语言是不一样的(字幕和语言一定不相同) 要求找到一部电影使得在场能听懂的科学家最多(如果存…

JVM基础(10)——老年代调优

作者简介:大家好,我是smart哥,前中兴通讯、美团架构师,现某互联网公司CTO 联系qq:184480602,加我进群,大家一起学习,一起进步,一起对抗互联网寒冬 学习必须往深处挖&…

MySQL数据库入门到大牛_高级_00_MySQL高级特性篇的内容简介

文章目录 一、整个MySQL的思维导图二、MySQL高级特性篇大纲1. MySQL架构篇2. 索引及调优篇3. 事务篇4. 日志与备份篇 一、整个MySQL的思维导图 下图为整个MySQL内容,01-05是基础篇,06-09是高级篇 二、MySQL高级特性篇大纲 MySQL高级特性分为4个篇章&…

2.4G水墨屏电子标签|RFID电子纸基站CK-RTLS0501G_VT硬件功能与联机方法

2.4G水墨屏|RFID电子纸基站CK-RTLS0501G_VT是基于2.4G无线技术的可视化标签基站,支持10个通道范围根据使用环境情况来设定使用通道能有效避免干扰的情况。该基站支持对可视化标签进行固件及显示模板的更新等功能,更好集中管理可视化标签。可广泛应用于制…

AI文本生图模型Stable Diffusion部署教程

本文基于CentOS8进行Stable Diffusion开源框架部署. 1. DNS配置(但是今天出现了偶尔无法下载问题) 为了加速Github访问,我在本机配置如下 (sd) [rootshenjian stable-diffusion-webui]# cat /etc/hosts 127.0.0.1 shenjian localhost localhost.localdomain localhost4 loca…

VMware虚拟机安装银河麒麟桌面版V10系统

1镜像下载 1.1打开官网 百度搜索或浏览器地址栏直接输入地址 1.2找到镜像下载 选择桌面版操作系统进行安装我们日常办公使用的是桌面版的系统,选择桌面版操作系统进行下载 1.3申请试用 现在安装系统需要填写申请试用表,填写完之后,才会调转到镜像下载随着国产系统的日益…

QT基础篇(1)QT概述

1.什么是QT QT是一个跨平台的C应用程序开发框架。它提供了一套丰富的图形用户界面(GUI)和多媒体功能,可以用于开发各种类型的应用程序,包括桌面应用程序、移动应用程序和嵌入式系统。QT具有易于使用、可定制性强、性能高等特点&a…

C语言变量与函数

目录 变量函数 变量 变量:计算机里的一块内存空间int a 0; 表示定义一个整型 int 变量;这个变量名字叫做 a “” 表示赋值;即将右边的 0 赋值给左边的整型变量 a 现在这一块空间 a 存放了一个值 0 这个过程也叫做整型变量 a 的初始化初始化…

Web后端开发

一、Maven 1.1 简介 1.2 作用 1.3 流程 通过各种插件实现项目的标准化构建。 1.4 安装 1.5 配置环境 1.5.1 当前工程环境 1.5.2 全局环境 1.6 创建 Maven项目 1.7 导入项目 1.8 依赖管理 1.8.1 依赖配置 1.8.2 依赖传递 pom.xml——右键——Diagrams——show dependen…

【物联网】物联网设备和应用程序涉及协议的概述

物联网设备和应用程序涉及协议的概述。帮助澄清IoT层技术栈和头对头比较。 物联网涵盖了广泛的行业和用例,从单一受限制的设备扩展到大量跨平台部署嵌入式技术和实时连接的云系统。 将它们捆绑在一起是许多传统和新兴的通信协议,允许设备和服务器以新的&…

飞鱼CRM接入第三方系统 飞鱼API对接详细教程

场景描述 在白码低代码开发平台中,是支持外部crm系统的线索通过接口流入到白码系统里面,换而言之,只要外部的系统有线索api接口,白码系统可以接收线索并在白码系统上进行后续操作。本文以飞鱼crm系统为例,讲解如何接收…

Linux高性能服务器编程——学习笔记①

第一章、tcp/ip协议族 一、tcp/ip协议族1.1 主要的协议1.1.1 数据链路层1.1.2 网络层1.1.3 传输层1.1.4 应用层 1.2 封装1.3 分用1.4 测试网络1.5 ARP协议工作原理1.5.1 以太网ARP请求/应答报文详解1.5.2 ARP高速缓存的查看和修改1.5.3 使用tcpdump观察ARP通信过程 1.6 DNS工作…

CAN总线通信详解 (超详细配34张高清图)

CAN总线通信详解 (超详细配34张高清图) 1. CAN总线历史 CAN 是 Controller Area Network 的缩写(以下称为 CAN),是 ISO国际标准化的串行通信协议。 在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求&#…

慕尼黑工业大学最新提出!单目实时密集建图的混合隐式场方法

作者:小柠檬 | 来源:3DCV 在公众号「3DCV」后台,回复「原论文」可获取论文pdf 我们提出了一种新颖的方法,它将基于深度学习的密集SLAM与神经隐式场相结合,实时生成密集地图,而无需像以前的方法那样依赖RGB-…

如何确定测试用例的优先级?5个方面

测试用例优先级的确定,有助于测试团队合理分配测试资源,集中精力测试重点功能和场景,确保重点功能测试用例的覆盖率,从而有利于快速发现和解决重点功能缺陷,确保项目进度和质量。 如果测试用例没有明确的优先级&#x…

大数据调度框架Oozie,这个学习网站让你事半功倍!

Oozie是一个基于工作流引擎的开源框架,由Cloudera公司贡献给Apache。它主要用于管理和调度Apache Hadoop作业,支持的任务类型包括Hadoop MapReduce、Pig Jobs等。 Oozie的核心概念包括workflow jobs和coordinator jobs。Workflow jobs是由多个动作&#…

Raspbian安装摄像头

Raspbian安装摄像头 1. 源由2. 摄像头2.1 选型2.2 系统2.3 安装 3. 配置&命令3.1 命令3.2 配置 4. 测试4.1 拍照4.1.1 libcamera-jpeg4.1.2 libcamera-still 4.2 视频流4.2.1 RTSP流4.2.2 TCP流 5. 参考资料 1. 源由 家里闲置两块树莓派,打算做个WiFi视频流RTS…