一种基于Linux系统网卡负载均衡的测试方法【专利摘要】本发明公开了一种基于Linux系统网卡负载均衡的测试方法,所述方法首先将网卡绑定为负载均衡模式,并通过修改网络配置文件,将服务器上的任意多个网口绑定,然后通过iperf测试软件,测试连接不同绑定的网口时的网络带宽。本发明测试Linux系统网卡负载均衡的方法,将网卡绑定为负载均衡模式之后通过iperf测试软件测试网卡绑定之后的带宽,操作简单,实用性较强,在研发阶段、测试阶段以及客户使用阶段都有着实际而深刻的意义。【专利说明】一种基于Linux系统网卡负载均衡的测试方法【
技术领域:
】[0001]本发明涉及一种基于Linux系统网卡负载均衡的测试方法。【
背景技术:
】[0002]随着IT技术的不断发展,如今几乎各行各业都在自己的公司内部建立了服务器,因为服务器的特殊地位,它的可用性、可靠性和它的I/o速度就显得特别重要,保持服务器的安全性和高可用性是企业级IT环境特别重要的指标,而其中重要的一点就是服务器网络连接的高可用性。为实现这些要求,如今服务器大都采用现在非常流行的Linux作为服务器工作的环境,多数都采用多网卡配置。现在服务质量提高的瓶颈已经不是带宽了,相对的渐渐成为新的瓶颈的是网络设备和服务器的处理能力。为了将服务器的网络连接的可用性和可靠性提高,目前3Com公司的DynamicAccess技术、Cisco公司的Etherchannel技术和Sun公司的Trunking技术等等都在研究将服务器的多个网卡接口绑定在一起的链路聚集技术,链路聚集技术将多个链路虚拟成一个逻辑链路进而提供了一种廉价、有效的方法扩展网络设备和服务器的带宽,提高网络的灵活性与可用性。负载均衡技术的使用能够在不对网络中各种设备进行重大改造的条件下提高各种服务的质量,是解决当前网络业务迅猛增加和升级硬件设施之间矛盾的一个有效措施。因此服务器的开发商对网卡绑定的性能要求越来越高,无论是在服务器的研发阶段还是测试阶段,都会对网卡绑定负载均衡进行测试,这是服务器测试过程中不可缺少的一个环节。【
发明内容】[0003]本发明要解决的技术问题是:提供一种基于Linux系统网卡负载均衡的测试方法。[0004]负载均衡技术的主要思想就是如何根据某种算法将网络的业务流量平均分配到不同的服务器和网络设备上去,以减轻单台服务器和网络设备的负担,从而提高整个系统的效率。负载均衡既可以由有负载均衡功能的硬件实现,也可以通过一些专用的软件来实现,负载均衡是一种策略,它能让多台服务器或多条链路共同承担一些繁重的计算或者I/o任务,从而以较低的成本消除网络瓶颈,提高网络的灵活性和可靠性。[0005]Linux2.4.x的内核中采用了bonding技术,利用bonding技术可以将多块网卡接口通过绑定虚拟成为一块网卡,在用户看来这个聚合起来的设备好像是一个单独的以太网接口设备,通俗点讲就是多块网卡具有相同的IP地址而并行连接聚合成一个逻辑链路工作。完整的网络流量均衡和高可用网络技术由两个方面构成,一是多服务器的绑定和负载均衡,二是一个服务器内部的多网卡绑定和负载均衡。本文主要讲述服务器内部多网卡绑定为负载均衡模式的方法以及网卡绑定为负载均衡模式之后的测试方法。[0006]现今,在Linux2.4.x的内核中已经实现了模块加载形成的Bonding。Linux系统通过向内核注册一块虚拟网卡实现Bonding。Linux将传送的数据交给这块虚拟网卡,而实际的数据传输则通过几块绑定在虚拟网卡上的物理网卡实现,且采用可加载模块的方式,这样的好处是不同品牌、不同速率的网卡可加入Bonding中。网卡绑定有七种不同的模式,其中负载均衡(即mode=l)是所有的网卡一起使用,峰值为所有网口带宽的总和,传输数据包依次传输(即第一个数据包走ethO,下一个数据包走ethl......—直循环下去,直到最后一个数据包传输结束)。当某个网卡故障,仅带宽降低,不影响其他网卡。[0007]本发明所采用的技术方案为:一种基于Linux系统网卡负载均衡的测试方法,所述方法首先将网卡绑定为负载均衡模式,并通过修改网络配置文件,将服务器上的任意多个网口绑定,然后通过iperf测试软件,测试连接不同绑定的网口时的网络带宽。[0008]所述测试方法步骤如下:1)准备好两台服务器测试平台,安装好Linux系统,要求Linux2.4.x的内核;2)在两台待测服务器上安装两张以上的网卡,保证每台机器上最少有2个网口;3)两台待测服务器均进行负载均衡模式网卡绑定;4)两台待测服务器均关闭防火墙;#serviceiptablesstop若要永久关闭防火墙(即以后重启系统后防火墙均是关闭状态)则要再运行如下命令:#chkconfigiptablesoff5)将两台待测服务器绑定的网口均用网线对应相连,服务器I绑定的网口ethO和服务器2绑定的网口ethO用网线连接,以此类推,直到所有绑定的网口均用网线相连。[0009]6)两台待测服务器互相能够ping通;若服务器IbondO的IP地址为192.168.1.40,服务器2bondO的IP地址为192.168.1.50,用服务器Iping月艮务器2能够ping通,用服务器2ping月艮务器I也能ping通。命令如下:服务器Iping服务器2:#ping192.168.1.50服务器2ping服务器1:#ping192.168.1.40其中:Ping,是用来检查网络是否通畅或者网络连接速度的命令,指的是端对端连通,通常用来作为可用性的检查。[0010]7)两台待测服务器均安装iperf测试软件;8)两台服务器运行iperf测试软件,测试网卡绑定为负载均衡模式之后,连接不同个数网口的带宽;9)完成测试,将网卡绑定删除。[0011]所述负载均衡模式网卡绑定步骤如下:I)新建bondO虚拟设备,并指定网卡IP,两台机器的bondOIP要设置在同一网段;#vi/etc/sysconfig/network-scripts/ifcfg-bondODEVICE=bond00NB00T=yesB00TPR0T0=staticIPADDR=172.168.1.10USERCTL=no注意:该文件中不要指定MAC地址2)修改所有真实网卡的配置;#vi/etc/sysconfig/network-scripts/ifcfg-ethODEVICE=ethOB00TPR0T0=none0NB00T=yesUSERCTL=noMASTER=bondOSLAVE=yes注意:一定不要指定MAC地址,除以上内容外其余内容均可注释掉,想要绑定几个网口,就将这几个网口都按此方法配置。[0012]3)加载bonding模块并设定绑定类型为负载均衡;#modprobebondingmiimon=100mode=0若要服务器重启之后bonding模块自动加载完成,则还要将bondO加入modprobe,并配置绑定模型。设置方法如下:#vi/etc/modprobe.conf,若没有此文件则#vi/etc/modprobe.d/dist.conf在文件末尾加入如下两行:aliasbondObondingopt1nsbondOmiimon=100mode=04)重启网络服务,重启网络服务前应先关闭NetworkManager服务;#serviceNetworkManagerstop若要永久关闭该服务(即重启后该服务仍然是关闭状态)则再输入下述命令:#chkconfigNetworkManageroff接下来即可重启网络服务:#servicenetworkrestart或/etc/init.d/networkrestart5)查看bonding模块加载情况;#lsmod|grepbonding6)查看bondO的状态;#cat/proc/net/bonding/bondO若bondO状态正常则bondO和各网口MilStatus项应均为up;若某个网卡的MilStatus=down,表示该网卡无法连接网络,此时应检查:1、网线是否插好;2、网线是否损坏;3、网卡配置是否正确;4、网卡是否没插好;5、网卡是否损坏;7)查看网卡绑定情况;#ifconfig若网卡绑定正常则应仅bondO有IP,且所有绑定网口的MAC地址均和bondO—致。[0013]iperf测试软件安装过程如下:1)将iperf测试软件iperf-2.0.5.tar.gz拷到Linux系统下;2)具体安装过程如下:#tar-zxvfiperf-2.0.5.tar.gz#cdiperf-2.0.5/src#make#makeinstall。[0014]两台服务器运行iperf测试软件,测试网卡绑定为负载均衡模式之后,连接不同个数网口的带宽,测试过程如下:两台服务器运行iperf测试软件,一台作为server端,另一台作为client端:O服务器I作为server端,进行如下操作:#cdiperf-2.0.5/src#./iperf-s2)服务器2作为client端,进行如下操作:#cdiperf-2.0.5/src#./iperf-c192.168.1.40_1-t10000-w1024K-P33)查看iperf测试结果:查看网络iperf测试结果中的网络传输速率;理论上网络传输速率应为连接的绑定网口速率的总和。实测值要达到理论值的90%以上;4)拔掉网线,查看网络连接状况即网络传输速率:分别拔掉一根网线,两根网线……直到绑定网口只有一根网线相连。拔掉一根网线,两根网线……后网络应该依然处于连接状态,只是网络传输速率降低,但实测值要达到理论值的90%以上。[0015]网卡绑定删除过程如下:1)将bondO配置文件删除:#rm/etc/sysconfig/network-scripts/ifcfg-bondO#yes2)将各网口的网络配置文件修改为绑定之前的状态:#vi/etc/sysconfig/network-scripts/ifcfg-ethODEVICE=eth0B00TPR0T0=staticHWADDR=6C:92:BF:05:CD:6BIPADDR=192.168.1.1NETMASK=255.255.255.00NB00T=yes3)删除bonding模块开机自动加载设置:#vi/etc/modprobe.conf,若没有此文件则#vi/etc/modprobe.d/dist.conf将文件末尾如下两行删除:aliasbondObondingopt1nsbondOmiimon=100mode=04)重启网络服务或服务器即可。[0016]重启网络服务:#servicenetworkrestart重启服务器:#reboot5)查看网卡状态:#ifconfig查看到bondO已经消失,且各网口均有不同的IP和MAC地址即说明各网卡已经恢复正常状态。[0017]本发明有益效果:Linux的bonding是通过网卡虚拟程序之上、数据链路层之下的虚拟网卡软件实现的。通过这种技术,服务器上安插的多个网卡不仅被绑定为一个IP,同时MAC地址也被设定为同一个,进而构成一个虚拟的网卡。虚拟网卡根据某种算法智能决定由哪个物理网卡传输数据,实现负载均衡,并提高服务器吞吐量和可用性。一台服务器上的多个网卡绑定为负载均衡模式,不仅带宽(多个网卡带宽的总和)提高,而且即便某个网卡发生故障,仅仅是带宽降低,并不影响其他网卡,因此网络传输不会因此断开,大大调高了服务器网络传输的稳定性。[0018]本发明测试Linux系统网卡负载均衡的方法,将网卡绑定为负载均衡模式之后通过iperf测试软件测试网卡绑定之后的带宽,操作简单,实用性较强,在研发阶段、测试阶段以及客户使用阶段都有着实际而深刻的意义。【专利附图】【附图说明】[0019]图1为本发明测试流程图。【具体实施方式】[0020]下面根据说明书附图,结合具体实施例,对本发明进一步说明:一种基于Linux系统网卡负载均衡的测试方法,所述方法首先将网卡绑定为负载均衡模式,并通过修改网络配置文件,将服务器上的任意多个网口绑定,然后通过iperf测试软件,测试连接不同绑定的网口时的网络带宽。[0021]所述测试方法步骤如下:1)准备好两台服务器测试平台,安装好Linux系统,要求Linux2.4.x的内核,本实施例以PXE服务器,Redhat6.4系统为例;2)在两台待测服务器上安装两张以上的网卡,保证每台机器上最少有2个网口,以每台服务器绑定三个网口为例;3)两台待测服务器均进行负载均衡模式网卡绑定;4)两台待测服务器均关闭防火墙;#serviceiptablesstop若要永久关闭防火墙(即以后重启系统后防火墙均是关闭状态)则要再运行如下命令:#chkconfigiptablesoff5)将两台待测服务器绑定的网口均用网线对应相连,服务器I绑定的网口ethO和服务器2绑定的网口ethO用网线连接,以此类推,直到所有绑定的网口均用网线相连。[0022]6)两台待测服务器互相能够ping通;若服务器IbondO的IP地址为192.168.1.40,服务器2bondO的IP地址为192.168.1.50,用服务器Iping月艮务器2能够ping通,用服务器2ping月艮务器I也能ping通。命令如下:服务器Iping服务器2:#ping192.168.1.50服务器2ping服务器1:#ping192.168.1.40其中:Ping,是用来检查网络是否通畅或者网络连接速度的命令,指的是端对端连通,通常用来作为可用性的检查。[0023]7)两台待测服务器均安装iperf测试软件;8)两台服务器运行iperf测试软件,测试网卡绑定为负载均衡模式之后,连接不同个数网口的带宽;9)完成测试,将网卡绑定删除。[0024]所述负载均衡模式网卡绑定步骤如下:1)新建bondO虚拟设备,并指定网卡IP,两台机器的bondOIP要设置在同一网段;#vi/etc/sysconfig/network-scripts/ifcfg-bondODEVICE=bond00NB00T=yesB00TPR0T0=staticIPADDR=172.168.1.10USERCTL=no注意:该文件中不要指定MAC地址2)修改所有真实网卡的配置;#vi/etc/sysconfig/network-scripts/ifcfg-ethODEVICE=eth0B00TPR0T0=none0NB00T=yesUSERCTL=noMASTER=bond0SLAVE=yes注意:一定不要指定MAC地址,除以上内容外其余内容均可注释掉,想要绑定几个网口,就将这几个网口都按此方法配置。[0025]3)加载bonding模块并设定绑定类型为负载均衡;#modprobebondingmiimon=100mode=0若要服务器重启之后bonding模块自动加载完成,则还要将bondO加入modprobe,并配置绑定模型。设置方法如下:#vi/etc/modprobe.conf,若没有此文件则#vi/etc/modprobe.d/dist.conf在文件末尾加入如下两行:aliasbondObondingopt1nsbondOmiimon=100mode=04)重启网络服务,重启网络服务前应先关闭NetworkManager服务;#serviceNetworkManagerstop若要永久关闭该服务(即重启后该服务仍然是关闭状态)则再输入下述命令:#chkconfigNetworkManageroff接下来即可重启网络服务:#servicenetworkrestart或/etc/init.d/networkrestart5)查看bonding模块加载情况;#lsmod|grepbonding6)查看bondO的状态;#cat/proc/net/bonding/bondO若bondO状态正常则bondO和各网口MilStatus项应均为up;若某个网卡的MilStatus=down,表示该网卡无法连接网络,此时应检查:1、网线是否插好;2、网线是否损坏;3、网卡配置是否正确;4、网卡是否没插好;5、网卡是否损坏;7)查看网卡绑定情况;#ifconfig若网卡绑定正常则应仅bondO有IP,且所有绑定网口的MAC地址均和bondO—致。[0026]iperf测试软件安装过程如下:1)将iperf测试软件iperf-2.0.5.tar.gz拷到Linux系统下;2)具体安装过程如下:#tar-zxvfiperf-2.0.5.tar.gz#cdiperf-2.0.5/src#make#makeinstall。[0027]两台服务器运行iperf测试软件,测试网卡绑定为负载均衡模式之后,连接不同个数网口的带宽,测试过程如下:两台服务器运行iperf测试软件,一台作为server端,另一台作为client端:O服务器I作为server端,进行如下操作:#cdiperf-2.0.5/src#./iperf-s2)服务器2作为client端,进行如下操作:#cdiperf-2.0.5/src#./iperf-c192.168.1.40_1-t10000-w1024K-P33)查看iperf测试结果:查看网络iperf测试结果中的网络传输速率;理论上网络传输速率应为连接的绑定网口速率的总和。实测值要达到理论值的90%以上;4)拔掉网线,查看网络连接状况即网络传输速率:分别拔掉一根网线,两根网线……直到绑定网口只有一根网线相连。拔掉一根网线,两根网线……后网络应该依然处于连接状态,只是网络传输速率降低,但实测值要达到理论值的90%以上。[0028]网卡绑定删除过程如下:I)将bondO配置文件删除:#rm/etc/sysconfig/network-scripts/ifcfg-bondO#yes2)将各网口的网络配置文件修改为绑定之前的状态:#vi/etc/sysconfig/network-scripts/ifcfg-ethODEVICE=ethOBOOTPROTO=StaticHWADDR=6C:92:BF:05:CD:6BIPADDR=192.168.1.1NETMASK=255.255.255.00NB00T=yes3)删除bonding模块开机自动加载设置:#vi/etc/modprobe.conf,若没有此文件则#vi/etc/modprobe.d/dist.conf将文件末尾如下两行删除:aliasbondObondingopt1nsbondOmiimon=100mode=04)重启网络服务或服务器即可。[0029]重启网络服务:#servicenetworkrestart重启服务器:#reboot5)查看网卡状态:#ifconfig查看到bondO已经消失,且各网口均有不同的IP和MAC地址即说明各网卡已经恢复正常状态。【权利要求】1.一种基于Linux系统网卡负载均衡的测试方法,其特征在于:所述方法首先将网卡绑定为负载均衡模式,并通过修改网络配置文件,将服务器上的任意多个网口绑定,然后通过iperf测试软件,测试连接不同绑定的网口时的网络带宽。2.根据权利要求1所述一种基于Linux系统网卡负载均衡的测试方法,其特征在于,所述测试方法步骤如下:1)准备好两台服务器测试平台,使用PXE服务器无人值守自动安装好Linux系统,要求Linux2.4.X的内核;2)在两台待测服务器上安装两张以上的网卡,保证每台机器上最少有2个网口;3)两台待测服务器均进行负载均衡模式网卡绑定;4)两台待测服务器均关闭防火墙;5)将两台待测服务器绑定的网口均用网线对应相连;6)两台待测服务器互相能够ping通;7)两台待测服务器均安装iperf测试软件;8)两台服务器运行iperf测试软件,测试网卡绑定为负载均衡模式之后,连接不同个数网口的带宽;9)完成测试,将网卡绑定删除。3.根据权利要求2所述一种基于Linux系统网卡负载均衡的测试方法,其特征在于,所述负载均衡模式网卡绑定步骤如下:1)新建bondO虚拟设备,并指定网卡IP,两台机器的bondOIP要设置在同一网段;#vi/etc/sysconfig/network-scripts/ifcfg-bondODEVICE=bondO0NB00T=yesBOOTPROTO=StaticIPADDR=172.168.1.10USERCTL=no2)修改所有真实网卡的配置;#vi/etc/sysconfig/network-scripts/ifcfg-ethODEVICE=eth0B00TPR0T0=none0NB00T=yesUSERCTL=noMASTER=bond0SLAVE=yes3)加载bonding模块并设定绑定类型为负载均衡;#modprobebondingmiimon=100mode=04)重启网络服务,重启网络服务前应先关闭NetworkManager服务;5)查看bonding模块加载情况;#lsmod|grepbonding6)查看bondO的状态;#cat/proc/net/bonding/bondO7)查看网卡绑定情况;#ifconfig若网卡绑定正常则应仅bondO有IP,且所有绑定网口的MAC地址均和bondO—致。4.根据权利要求2或3所述一种基于Linux系统网卡负载均衡的测试方法,其特征在于,iperf测试软件安装过程如下:1)将iperf测试软件iperf-2.0.5.tar.gz拷到Linux系统下;2)具体安装过程如下:#tar-zxvfiperf-2.0.5.tar.gz#cdiperf-2.0.5/src#make#makeinstall。5.根据权利要求2或3所述一种基于Linux系统网卡负载均衡的测试方法,其特征在于,两台服务器运行iperf测试软件,测试网卡绑定为负载均衡模式之后,连接不同个数网口的带宽,测试过程如下:两台服务器运行iperf测试软件,一台作为server端,另一台作为client端:O服务器I作为server端,进行如下操作:#cdiperf-2.0.5/src#./iperf-s2)服务器2作为client端,进行如下操作:#cdiperf-2.0.5/src#./iperf-c192.168.1.40_1-t10000-w1024K-P33)查看iperf测试结果:查看网络iperf测试结果中的网络传输速率;4)拔掉网线,查看网络连接状况即网络传输速率:分别拔掉一根网线,两根网线……直到绑定网口只有一根网线相连。6.根据权利要求2或3所述一种基于Linux系统网卡负载均衡的测试方法,其特征在于,网卡绑定删除过程如下:1)将bondO配置文件删除:2)将各网口的网络配置文件修改为绑定之前的状态;3)删除bonding模块开机自动加载设置;4)重启网络服务或服务器;5)查看网卡状态。【文档编号】H04L12/02GK104468388SQ201410611768【公开日】2015年3月25日申请日期:2014年11月4日优先权日:2014年11月4日【发明者】王文悦,王守昊申请人:浪潮电子信息产业股份有限公司