当前位置:首页 > 物联网 > 《物联网技术》杂志
[导读]摘要:网络业务量的激增和应用的特殊化都使得负载均衡成为迫切需求,Linux虚拟服务器按传输层连接对集群节点进行业务分配的方式,能便捷而高效地实现负载均衡。文中对Linux虚拟服务器集群的结构与原理进行了讨论,重点阐述了满足不同应用需要的4种负载均衡算法,并在Linux操作系统环境下,构建了虚拟服务器集群,测试了负载响应、服务,性能、调度器备份。结果表明,虚拟服务器集群技术可较大幅度地提高系统的综合性能。

引言

随着计算机网络和通信技术的快速发展,越来越多的人通过互联网获取信息、购物和娱乐,大量用户进入网络,面对巨大的数据流量和计算强度,各类信息中心或数据处理中心迫切需要具有快速响应能力、高可伸缩性、高可用性、易于管理的信息服务器来提高网络吞吐量和对请求响应的能力。为保证及时的处理用户请求,增加网络吞吐量,提高服务质量,势必需要的对服务器软硬件进行升级,一般采取两种方案,一是改善单个服务器的配置,如更换处理速度更快的服务器等以提高其性能,另一种做法则是把多台服务器用局域网络连接成一个整体结构,通过并行处理及相互间的信息交流来扩展其性能。显然后者具有很高的整体性能、高可伸缩性、高可靠性和更高的性价比。

LinuxVirtualServer集群的结构

Linux虚拟服务器(LinuxVirtualServer,LVS)建筑于实际的服务器集群之上,用户看不到提供服务的多台实际服务器,而只能看见一台作为负载平衡器的服务器。实际的服务器通过高速局域网或地理上分散的广域网连接。实际服务器的前端是一台负载平衡器(LoadBalance,LB),它将用户的请求调度到真实服务器上完成,客户访问集群系统提供的网络服务就像访问一台高性能、高可用的服务器一样。

LinuxVirtualServer集群中负载均衡技术

2.1负载均衡调度算法

均衡算法设计的好坏直接决定了集群系统的性能与效率,设计不好的算法,不但不能有效缓解集群的负载不平衡状况,还可能由于负载信息收集、进程的动态调度增加额外通信、

收稿日期:2014-06-05策划、连接等开销,增加系统的响应时间。负载初始设置即负载分担算法的主要任务是如何理智的选择下一个集群节点然后决定将新的服务请求转发给它。

针对不同的网络服务需求和服务器配置,LVS负载均衡调度可实现如下几种负载调度算法(网络管理员也可以根据不同的应用情况选择最佳的算法):

轮转调度算法

加权轮转调度算法

最小连接调度算法

加权最小连接调度算法

2.2集群管理

LVS集群包括4个进程、1个配置文件和1个用户界面。具体如下:

pulse进程,用于开启集群服务;

nanny进程,用于监视服务器的负载以及是否可用。当节点或进程失败后,会在LVS中写一条警告记录并移去一条规则。因此调度器能自动掩盖进程或服务器的失败,当故障恢复后,又可重新提供服务[3];

Ipvsadm进程,用于更新路由列表;

LVS进程,通过调用Ipvsadm进程进行管理,包括添加,删除路由列表;

配置文件etc/lvscf,为所有进程提供配置参数;

用户界而piranha,可方便地用于配置和管理服务器集群。

3Linux下负载均衡系统的建立

在集群系统环境中,设置主从调度器各1台、服务器3台,其中每个调度器需要双网络适配器,其中一个连接公共网络,另一个连接内部网络。内部网络由调度器和3台服务器组成,而服务器可以是任意的硬件平台,运行任意的操作系统。

3.1集群的配置

3.1集群的配置

在调度器双网卡中,eth0与外部网络相连,从网络管理员处申请1个IP地址作为虚拟IP地址,这里使用的是21.156.192.158,eth1与内部服务器子网相连,分配IP地址192.168.1.1,并伪装为192.168.1.254。在服务器上分配IP地址并设置默认网关为192.168.1.254;

在调度器上安装linuxRedHat6.1以及集群软件。3台服务器提供Web服务,为了验证负载被均衡到3台服务器上,将它们的Web主页设置为不一样,根据主页的显小,可知连接的是哪一台服务器;

在调度器上定义包过滤规则,使其能够对IP包进行伪装并转发:lpchains一Aforward-jMASQ-s192.168.1.0/24-d0.0.0.0/0

编辑/etc/lvscf配置文件,选择轮转调度算法,在调度器上用命令/etc/rcd/init.d/pulse开启虚拟服务。

3.2系统测试

用浏览器访问21.156.192158,通过对浏览器的刷新,可以看到3个不同的主页依次出现,从而有效证明了访问的负载被分担到3台不同的服务器上。

接下来进一步实验,为3台服务器配置相同的Web页面和MySQl数据库系统。当连续提交记录检索时,速度明显高于单机串行检索速度的总和;

当主调度器停机时,从调度器将自动接管负载的平衡服务。

最后,用网络命令对主频为100MHz,内存为32M的主调度器进行了简单的负载测试。当IP包的大小为64KB时,调度器对IP包的处理平均延时为10.4u/s,由此可算出它的最大负载能力为6.15MB/S。假设服务器的平均流量为600KB/s,调度器能对10台服务器进行管理。

3.3结果分析

基于IP层负载平衡调度的操作是在操作系统核心空间中完成的,它的调度开销很小,所以它能调度相当数量的服务器,一般不会成为系统的瓶颈。当整个系统的负载超过目前所有节点的处理能力时,可以通过增加服务器来满足不断增长的请求负载。由于对大多数服务网络来说,节点与节点之间不存在很强的相关性,所以整个系统的性能可以随着服务器池中的节

从LVS原理和上述实验也可以看出,调度器有可能成为系统单一的失效点,为了防止它的失效,建立了调度器的备份。2个心跳进程(Heart-beatDaemon)分别在主、从调度器上运行,他们通过串口线和UDP等心跳线来相互汇报各自的状态信息。当从调度器不能听到主调度器的心跳时,从调度器会通过ARP欺骗来接管主调度器的工作并提供负载调度服务。当主调度器恢复时,将自动变成从调度器。在实验中,仅简单地通过网络将主从调度器句_联,可以实现由主至从的自动切换,而不能实现主调度器故障恢复后到从调度器的切变。

4结语

集群系统的优势在于硬件和软件的冗余。通过监测节点、失败的进程,重新正确地配置系统,使工作能被集群中的其余节点接管,从而得到高可用的集群系统。采用LVS来实现负载均衡,它最大地发挥了网络和PC机的优势,带来了可观的性能,是一种简单快捷而目_经济高效的方法,是电子政务/电子商务中可靠的服务解决方案。

20211221_61c1e12a3e729__基于Linux的负载均衡技术

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭