目录

一、bond概述

1.1、bond的优点

二、bond模式

2.1、mode=0

2.2、mode=1

2.3、mode=2

2.4、mode=3

2.5、mode=4

2.6、mode=5

2.7、mode=6

三、实验案例

实验bond1 压力测试 查看网卡流向 以及主备测试

结论


引言:当linux系统上有多个单独网卡,又想充分利用这些网卡,同时对外提供一个统一的网络地址,以使得增大网络的吞吐量,同时也提高网络的可用性,这时就需要bond来帮助我们解决这个问题。

一、bond概述

bond是将多块物理网卡虚拟为一块逻辑网卡,使多块网卡看起来像一块网卡,通过主从的配置来讲进行网络的运行维护。

1.1、bond的优点

linux系统下配置bond,通过网卡绑定可增加服务器可靠性,同时可增加网络带宽,提供稳定的网络服务。

二、bond模式

Linux网卡绑定mode共有七种(0~6) bond0、bond1、bond2、bond3、bond4、bond5、bond6,接下来我们一起简单看下这7中模式的工作原理概述。

2.1、mode=0

轮询策略,数据包在每个slave网卡上都进行数据传输,以逐包形式在两个物理网卡上转发数据。这种模式提供了数据的负载均衡和容错能力。

bond0工作原理
传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降.

2.2、mode=1

在主备模式下,只有主网卡工作,备份网卡不工作,只有当一个网络接口失效时(例如交换机掉电等),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护功能。

bond1工作原理

只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得,从外面看来,bond的MAC地址是唯一的,以避免switch(交换机)发生混乱。此模式只提供了容错能力;由此可见此算法的优点是可以提供高网络连接的可用性,但是它的资源利用率较低,只有一个接口处于工作状态,在有N个网络接口的情况下,资源利用率为1/N

2.3、mode=2

基于所选择的hash策略,本模式也提供负载均衡和容错能力

bond2工作原理
基于指定的传输HASH策略传输数据包。缺省的策略是:(源MAC地址 XOR 目标MAC地址) % slave数量。其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能力

2.4、mode=3

广播策略,向所有的slave接口发送数据包,本模式提供容错能力

bond3工作原理
  在每个slave接口上传输每个数据包,此模式提供了容错能力。

2.5、mode=4

动态链路聚合,根据802.3ad标准利用所有的slave建立聚合链路。slave接口的出口取决于传输的hash策略,默认策略是简单的XOR策略,而hash策略则可以通xmit_hash_policy选项配置。

前提:每个slave网卡支持ethtool获取速率和双工状态

bond4工作原理

创建一个聚合组,它们共享同样的速率和双工设定。根据802.3ad规范将多个slave工作在同一个激活的聚合体下。外出流量的slave选举是基于传输hash策略,该策略可以通过xmit_hash_policy选项从缺省的XOR策略改变到其他策略。需要注意的是,并不是所有的传输策略都是802.3ad适应的,尤其考虑到在802.3ad标准43.2.4章节提及的包乱序问题。不同的实现可能会有不同的适应性。

2.6、mode=5

自适应传输负载均衡:根据每个slave的负载(相对速度)决定从哪个接口发送数据包,从当前接口接收数据包。如果接收的slave接口故障,其它slave接口将接管它的mac地址继续接收。

前提:每个slave网卡支持ethtool获取速率。

bond5工作原理
不需要任何特别的switch(交换机)支持的通道bonding。在每个slave上根据当前的负载(根据速度计算)分配外出流量。如果正在接受数据的slave出故障了,另一个slave接管失败的slave的MAC地址。

2.7、mode=6

自适应负载均衡:

前提:每个slave网卡支持ethtool获取速率,每个slave网卡支持启用时重新设置硬件地址

bond6工作原理
  该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。

三、实验案例

需求:将两张网卡绑定配置成一张虚拟网卡 bond1来测试主备

1、添加网卡 

2、修改网卡的信息

ens33

ens37

bond0

 3、修改并添加配置文件

4、关闭NetworkManager服务

并设置开机自关闭

 5、重启网卡,以及重启虚拟机,查看网卡信息

6、获取网卡状态

 7、开启httpd服务,并查看状态

实验bond1 压力测试 查看网卡流向 以及主备测试

Sar  -n  DEV  1  2 检测数据流向

命令后面1  2 意思是:每一秒钟取1次值,取2次。

DEV显示网络接口信息

同时开启2块网卡

使用ab -c 1000 -n 50000 http://192.168.58.10压力测试

-c表示并发用户数

-n表示请求总数

Bond虚拟网卡与ens33分担流量压力  增加带宽

 关闭ens33网卡

压力测试

Sar命令查看数据流向  关闭ens33网卡  ens37代替工作和bond虚拟网卡 分担流量压力

 在关闭ens37网卡

压力测试

关闭ens37网卡 ,ens33代替工作与bond虚拟网卡工作分担流量压力

结论

由上述实验案例可以验证bond是将多块物理网卡虚拟为一块逻辑网卡,可以通过主从的配置来讲进行网络的运行维护。bond1主备实验案例完成。

Linux虚拟网卡bond配置相关推荐

  1. Linux虚拟机网卡bond配置

    文章目录 前言 一.bond概述 1.bond概念 2.bond优点 二.bond模式 1.mode=0 (round-robin) 2.mode=1 (active-backup) 3.mode=2 ...

  2. linux redis 3.0.7,linux虚拟机上安装配置redis3.0.7

    linux shell 的 linux虚拟机上安装配置redis3.0.7 我们给大家列出详细的图文步骤教给大家在linux虚拟机上安装redis以及相关的配置流程. 将redis-3.0.7.tar ...

  3. proe虚拟服务器,ProE安装以及虚拟网卡的配置

    1:ProE的安装需要一块处于活动状态的网卡 如果您已经有物理网卡(也就是真正的网卡),那就请您直接运行光盘里的SETUP.EXE.如果显示"PTC主机IDXX-XX-XX-XX-XX-XX ...

  4. Linux双网卡路由器配置

    Linux双网卡路由器配置 一.测试工作室的网络要求: 测试工作室在会议室内,作为独立测试环境,希望于公司现有网络分开:因为希望能够访问公司内网的资源,也希望不用去会议室就可以远程桌面访问测试服务器, ...

  5. linux ping 虚拟网卡_虚拟机中Linux系统网卡的配置

    提示一台计算机中可能会有一个物理网卡和多个虚拟网卡,在Linux中的物理网卡的名字通常以ensXX表示 127.0.0.1被称为本地回环/环回地址,一般用来测试本机网卡是否正常 ping IP地址 然 ...

  6. 远程连接linux虚拟网卡,Linux 虚拟机虚拟网卡问题导致无法连接问题

    问题描述 当 Linux 虚拟机启动时,通过串口输出或者启动日志, 观察到虚拟网卡启动或者初始化故障, 导致虚拟机无法连接. 问题分析 常见的超时报错范例如下: CentOS 复制 Bringing ...

  7. 全志A33-USB虚拟网卡的配置与使用

    开发环境 开发板:A33-Vstar 开发板系统:Linux USB网卡:三星S4.华为P8(USB共享网络) -------------------------------------------- ...

  8. linux虚拟网卡上网,Linux添加虚拟网卡的多种方法

    有时候,一台服务器需要设置多个ip,但又不想添加多块网卡,那就需要设置虚拟网卡.这里介绍几种方式在linux服务器上添加虚拟网卡. 我们向eth0中添加一块虚拟网卡: 第一种方法:快递创建\删除虚拟网 ...

  9. linux 虚拟网卡与物理网卡关系,Linux Macvlan的虚拟网卡与宿主物理网卡之间的Bridge通信问题...

    周末的时候写了一篇关于Docker底层支撑技术的文章: 以firejail sandbox解析Docker核心原理依赖的四件套 : https://blog.csdn.net/dog250/artic ...

最新文章

  1. Request header field token is not allowed by Access-Control-Allow-Headers in
  2. 文档被保存但是语音识别的数据丢失
  3. java:十进制转十六进制
  4. php版本最低要求:5.4_Zabbix 5.0.0beta1版本初体验
  5. viewDidLoad、viewWillAppear、viewWillDisappear
  6. 鸿蒙HI3516-驱动开发(1.1-LTS)
  7. 专访iQOO Pro产品经理:以更好的产品 更低的价格推进5G生态普及
  8. OPPO K3将登陆印度市场 高性价比能否占据一席之地
  9. Linux虚拟化KVM-Qemu分析(二)之ARMv8虚拟化
  10. 几十秒构建端到端 AI,NeurIPS 2020 AutoDL 竞赛夺冠“黑马”原来靠的是这门技术!...
  11. google海底光缆图_谷歌地图资讯-2013版“海底光缆地图”发布
  12. SAP中质检检验计划导出实例
  13. android 罗盘陀螺仪,电子罗盘和陀螺仪的区别以及工作原理介绍
  14. 【数据分析与科学计算可视化】numpy 和 matplotlib库总结
  15. php 人物换装原理,装备库解析——换装机制,宝石选择原理
  16. 我的世界刷猪人塔java版_我的世界猪人塔怎么做 5款猪人塔详解教程
  17. 解决VM虚拟机连不上网络的问题
  18. mysql server安装报错_安装VtigerCRM报错:MySQL Server should be configured with
  19. LC滤波器的截止频率公式
  20. java检查html是否闭合,Java Html解析器和闭合标记

热门文章

  1. 解决json.loads()错误Expecting ‘,‘ delimiter: line 1 column
  2. Keras中模型 《th与tf的区别》、《notop的含义》
  3. eFPGA设计开源框架 FABulous 系列(二)Fabric建模语法解析
  4. IceCTF 2016
  5. 拉伯证券|港股站上“年线”,更有盘中暴涨160%!A股地产板块集体大涨
  6. 那些年啊,那些事——一个程序员的奋斗史 ——15
  7. [简单逻辑学]逻辑学的基本原理——基本原理
  8. 游戏安全资讯精选 2017年第十九期:WebLogic Server WLS组件漏洞入侵挖矿事件分析,苹果手游代充灰色产业深度揭秘,《绝地求生》99%外挂都来自...
  9. upc组队赛1 黑暗意志【stl-map】
  10. 浏览器缓存视频文件获取合并