Linux 双网卡绑定测试
Linux 双网卡绑定测试
先介绍一下情况,服务器A和服务器B都是CentOS 4.6的系统,现在要做HA Cluster,为了避免裂脑的发生,要提高心跳链路的可靠性,下图是现时的连接情况,服务器A的eth2、eth3分别和服务器B的eth2、eth3相连(没有顺序关系),所有网卡都是千兆网卡,拓扑图如下所示:
在介绍一起硬件情况,服务器A是一台HP DL380 G5,两年多的服务器了,4核心8G内存,5块72GB的2.5寸硬盘做RAID5。服务期B是DELL 2950,几个月前刚购入的新机器,8核16G内存,3块3.5寸300G SAS硬盘做RAID5。
业务交换机为DELL的千兆交换机,没做任何配置,仅当接入交换机使用。
图中的蓝线用的是几年前的超五类非屏蔽双绞线。
图中的红线用的是新购的六类非屏蔽双绞线。
测试方法很简单,将一个3.4G的ISO从服务器A scp到服务器B中,对比传输的时间。
数据走业务链路,没有使用bonding技术。
############## No Binding ############## [root@rac-node01 tmp]# time scp rhel-5.1-server-x86_64-dvd.iso 10.168.0.202:/tmp root@10.168.0.202's password: rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 44.1MB/s 01:16 real 1m20.105s user 0m34.752s sys 0m11.002s ############## 速度还是挺快的
数据走心跳链路,使用了bonding技术,mode设置为6,即不需要交换机参与的负载均衡。
令人奇怪的是该种模式下会丢一些数据包,也许是这种比较奇怪的拓扑结果造成的。
############## model=6 ############## [root@rac-node01 tmp]# time scp rhel-5.1-server-x86_64-dvd.iso 192.168.0.202:/tmp root@192.168.0.202's password: rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 21.4MB/s 02:37 real 2m47.812s user 0m34.965s sys 0m19.421s [root@rac-node01 tmp]# netstat -i #@ Receive Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg bond1 1500 0 5123831 2045 0 0 5138747 0 0 0 BMmRU eth0 1500 0 2847 0 0 0 703 0 0 0 BMRU eth2 1500 0 2562665 11 0 0 2569378 0 0 0 BMsRU eth3 1500 0 2561166 2034 0 0 2569369 0 0 0 BMsRU lo 16436 0 2261 0 0 0 2261 0 0 0 LRU ############## 有数据包丢失
数据走心跳链路,使用了bonding技术,mode设置为0,即需要交换机参与的负载均衡。
该模式下不像mode=6那样会丢包,而且eth2和eth3的流量几乎平均。下面测试数据中的 RX-ERR是上面测试数据遗留下来的。
############## model=0 ############## [root@rac-node01 tmp]# time scp rhel-5.1-server-x86_64-dvd.iso 192.168.0.202:/tmp root@192.168.0.202's password: rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 38.1MB/s 01:28 real 1m33.508s user 0m34.539s sys 0m19.363s [root@mailserver tmp]# netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg bond1 1500 0 11133871 2045 0 0 11180462 0 0 0 BMmRU eth0 1500 0 1334477 0 0 0 2575981 0 0 0 BMRU eth2 1500 0 5567685 11 0 0 5590236 0 0 0 BMsRU eth3 1500 0 5566186 2034 0 0 5590226 0 0 0 BMsRU lo 16436 0 2270 0 0 0 2270 0 0 0 LRU ############## 没有丢包
数据走心跳链路,使用了bonding技术,mode设置为1,即Active-Backup,FailOver模式。
该模式存在一个问题,当服务器A的eth2和服务器B的eth3作为Active设备时,服务器A是不能和服务器B通过心跳链路通信的,此时拔掉其中一根心跳线再插就好了。
############## model=1 ############## [root@rac-node01 ~]# time scp /tmp/rhel-5.1-server-x86_64-dvd.iso 192.168.0.202:/tmp/ root@192.168.0.202's password: rhel-5.1-server-x86_64-dvd.iso 100% 3353MB 41.4MB/s 01:21 real 1m24.162s user 0m35.007s sys 0m13.455s[root@mailserver ~]# netstat -i Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg bond1 1500 0 3436804 0 0 0 1774259 0 0 0 BMmRU eth0 1500 0 3962 0 0 0 773 0 0 0 BMRU eth2 1500 0 3436804 0 0 0 1774254 0 0 0 BMsRU eth3 1500 0 0 0 0 0 5 0 0 0 BMsRU lo 16436 0 3071 0 0 0 3071 0 0 0 LRU ############## 没有丢包,只走单网卡
结论:
从以上结果显示,单就速度来说的确不做绑定单网卡速度最快,但是没有容错能力。其次是绑定后的FailOver模式,但是该模式会存在一定的问题。而mode=6的负载均衡模式会丢包,比较危险。
mode=0的负载均衡模式貌似并不能加大带宽,但是对于提高最大的可用性来说是最好的选择了
转载于:https://blog.51cto.com/myhat/664309
相关文章:

第六章练习题和知识面扩充
作业题:1. 自动获取IP地址的命令是什么?您知道在什么情况下,您的Linux才可以自动获取IP地址?2. 远程连接Linux服务器,需要Linux服务器开启sshd服务,那么sshd服务默认监听哪个端口?这个端口是否可…
一文详解面向多级多模态场景的召回引擎
作者| 阿里文娱开发专家 崇懿、阿里文娱开发专家慧善责编 | 屠敏头图 | CSDN 下载自视觉中国出品 | CSDN(ID:CSDNnews)优酷视频搜索在文本搜索系统的基础上,不断探索视频搜索的方案,在多模态输入、多级多模态索引、跨模…

对比.Net PetShop和Duwamish来探讨Ado.Net的数据库编程模式
作者:卢彦.NET PetShop和Duwamish简单介绍相信大家一定听说过有名的"宠物店大战",没错,本文的主角之一就是获胜方.NET PetShop,微软号称以27倍的速度和1/4的代码量遥遥领先于基于J2EE的PetStore宠物商店。虽然SUN也曾对此抱怨过不满…

如何直接将HTML代码加载到TWebBrowser
wbRecvContent//为 webbrowser控件 procedure TFrmMain.ShowHtmlCentent(slt: TStrings); var aMemory: TMemoryStream; pbuf: PAnsiChar; begin aMemory : TMemoryStream.Create(); try aMemory.Clear; slt.SaveToStream(aMemory); aMemory.Seek(0, soBeginning); wbRecvConte…

JavaScript基础(一) 数据类型
动态类型 JavaScript 是一种弱类型或者说动态语言。这意味着你不用提前声明变量的类型,在程序运行过程中,类型会被自动确定。 数据类型 最新的 ECMAScript 标准定义了 7 种数据类型: 6 种 原始类型: BooleanNullUndefinedNumberStringSymbol (ECMAScript…

DataGrid入门经典(C#)
作者:未知 请作者速与本人联系这篇文章主要介绍如何在DataGrid控件中实现编辑、删除、分类以及分页操作。为了实现我们的意图,我们使用SqlServer2000自带的NorthWind数据库。程序分为两部分: 1.包含HTML代码的.ASPX文件 2.包含所有逻辑及…

(札记)Altera Stratix IV系列FPGA TRUE LVDS RX input termination 在Quartus工程中的设置方法...
Altera Stratix IV系列FPGA Row bank的TRUE LVDS_RX支持oct(on chip termination),所以设计的时候不需要外接一个100ohm电阻。备注:我使用的是友晶科技(Terasic)的DE4。 所以当我们使用到Stratix iv系列FPGA的row bank的lvds的时候…
直播:AI时代,普通程序员该如何转人工智能(限免报名)
常常有小伙伴在后台反馈:想了解人工智能,但是该怎么学?自学难度大又没有效果,该怎么办?CSDN为了解决这个难题,联合唐宇迪老师为大家带来了一场精彩的直播【年薪百万AI工程师亲授:小白实战培养计…

沃通免费SSL证书申请指南
我们在做一些exchange或lync项目的时候很多时候都会用到公网证书,比如:我们做exchange2013和Office 365混合部署,或者通过SEM暂存迁移或CEM直接转换迁移的时候都需要用到公网证书,下面为大家介绍1个免费的SSL证书及申请的方法,希望…

使用VS.NET2003编写存储过程
作者:未知 请作者速与本人联系数据表定义了如何在数据库中存储数据,但没有说明如何存取数据。我们还需要了解读写记录以便从表中再次调用选定行和列的详细信息。开发人员通常会在其代码中编写一些特殊的查询语句,用于读写数据。这不仅会导致…

谈Linux的安全设置
如今系统的安全变的越来越重要了,这里我想把我平时比较常使用的一些linux下的基本的安全措施写出来和大家探讨一下,让我们的Linux系统变得可靠。 1、BIOS的安全设置 这是最基本的了,也是最简单的了。一定要给你的BIOS设置密码&#…
亮风台提出用完全可训练的图匹配方法,优于最新SOTA | CVPR 2020
出品 | AI科技大本营(ID:rgznai100) 6月14日-19日,CVPR 2020在线上举行,据了解,本届大会共收到6656篇投稿,接收论文1470篇,录用率约22%,低于ICCV 2019论文录用率(25%&…

数组与纠结的排序篇
数组之纠结的排序 1.数组是什么? 数组:所谓数组,就是相同数据类型的元素按一定顺序排列的集合,就是把有限个类型相同的变量用一个名字命名,然后用编号区分他们的变量的集合,这个名字称为数组名,…

ASP.NET结合COM组件发送Email
在开发电子邮件发送程序的时候,我们经常需要使用到相应的组件,其实不需要第三方的组件(例如:Jmail)照常可以做到发送Email的功能。 在系统目录(如c:/winnt或c:/windows)的system32子目录中可以找…

卡巴循环30天不限次数循环试用工具
本文需评论之后方可查看! echo off title 卡巴循环30天不限次数循环试用工具 echo off echo 卡巴循环30天不限次数循环试用工具 echo. echo echo 卡巴斯基6/7/8试用过期时清除系统中使用痕迹,就象新系统重新安装卡巴一样 echo 1、在屏幕右下角红V卡巴图…
微软CEO纳德拉对话沈向洋:那些未来可期的计算机视觉研究与应用
编者按:6月16日,CVPR 2020 大会以全球连线的形式如期开幕。在大会的首场主题演讲中,微软公司 CEO 萨提亚纳德拉与微软公司前执行副总裁沈向洋进行了一场精彩的炉边对谈,分享了对计算机视觉、人工智能研究与应用前景的思考与展望。…

SoapUI进行REST请求,POST方法提交到数据库的数据乱码问题
一开始以为要把json字符串的key和value一个一个的加进去,结果总是报 300,参数错误,后来才发现(https://www.joecolantonio.com/2013/08/31/soapui-how-to-post-json-to-a-rest-service-2/)可以直接在下面粘贴就好了&am…

网站信息统计的简单实现过程
作者: pcskySQL语句如下: SELECT DD.SumHits, AA.CountArt, CC.WeekUpdate, BB.RegUserNumFROM(SELECT COUNT(newsid) AS CountArt FROM article) AA,(SELECT COUNT(id) AS RegUserNum FROM Admin) BB,(SELECT COUNT(newsid) AS WeekUpdate FROM(articl…

谈谈C#中类成员的执行顺序.
今天我们来谈谈C#中子类和父类中静态成员以及构造函数的执行顺序,这个地方向来是初学C#的人比较迷惑的地方,也是各大公司最喜欢拿来出面试题的地方。 下面我们分情况来分析。 1. 普通构造函数和静态构造函数的执行顺序。 对于单个的类,它的静…
AI 重塑 IT的 5 种方式
作者 | Stephanie Overby译者 | 火火酱,责编 | Carol封图 | CSDN 下载于视觉中国Gartner最新的人工智能(AI)hype cycle报告指出,AI在未来五年中CIO议程中的排名十分靠前,对潜在业务转型具有重要影响。然而,…

[原创]Gerrit中文乱码问题解决方案分享
应开发同事的要求,部署了GitlabGerritJenkins的持续集成环境. 但是发现了一个问题,Gerrit登陆后有中文乱码出现. 具体情况如下: (1)Git代码中的中文乱码处理: 为妥善解决中文编码的问题,对所有git repository做如下约定:所有文本文件都必须存储成utf8编码…

UVA 10700 Camel trading
UVA_10700我们可以猜到最大值一定是先算和后算积,最小值一定是先算积后算和,因为a*bc<a*(bc)。此外,这个题目数据有可能比较大,所以要采用long long int或者double来处理数据。 #include<stdio.h>#include<string.h>#include&…

在ASP.NET中操作文件的例子
利用SYSTEM.IO 名空间中的STREAMWRITER,STREAMREADER及FILE类,完成文件读、写、删除的操作。 -------------------------------------------------------------------------------- 1、写文件 writefile.aspx <% Import Namespace"System.IO" %> 引…
云原生如此重要,可惜80%的人都不知道
文 | Aholiab责编 | Carol封图 | CSDN 下载自视觉中国2020年,一场疫情给中国企业带来了一次「被动数字化升级」,很多企业第一次认识到了信息化的重要性。今天,数字经济已无处不在,根据中国信息化百人会的研究报告显示,…

CentOS 7 yum 安装 MySQL5.7
为什么80%的码农都做不了架构师?>>> 0、环境 本文操作系统: CentOS 7.2.1511 x86_64 MySQL 版本: 5.7.13 1、下载 MySQL 官方的 Yum Repository 从 MySQL 官网选取合适的 MySQL 版本,获取下载地址。 然后使用 wget 下载: [rootce…
万字长文带你入门 GCN
来源 | 阿泽的学习笔记(ID: aze_learning)Convolutional Neural NetworkCNN 在图像识别等任务中具有重要作用,主要是因为 CNN 利用了图片在其域中的平移不变性。由于图结构不存在平移不变性,所以 CNN 无法直接在图上进行卷积。1.1…

VS.Net中程序集的Debug版本和Release版本的区别
作者:未知 请作者速与本人联系前几天看到豆腐的文章介绍如何知道程序集是Debug版还是Release版,之前只知道某些软件从功能上有企业版、标准版之分,却从不知道.Net程序集还有Debug和Release之区别,真是惭愧学了这一年C#。然后在博…

《CLR via C#》笔记——CLR的执行模型
一.将源代码编译成托管代码1, CLR(Common Language Runtime)公共语言运行时是一个可由多种语言使用的“运行时”,CLR的核心功能(比如内存管理,程序集加载,安全性,异常处理…

telnet时显示:允许更多到 telnet 服务器的连接。请稍候再试
telnet时显示:允许更多到 telnet 服务器的连接。请稍候再试 解决办法:windows自带telnet服务器默认的最大连接数为2,要想修改该设置,可以在命令行键入tlntadmn config maxconn要设置的连接数。最大连接数是指同一时刻内客户连接服务器的最大数…

Asp.net支持的最大上传文件大小
Asp.net的默认的最大可以上载的文件是4M,可以在web.config中配置.配置 ASP.NET HTTP 运行库设置。该节可以在计算机、站点、应用程序和子目录级别声明。 <configuration> <system.web> <httpRuntime><httpRuntime useFullyQualifiedRedirectUrl&q…