陈秋飞论文二稿.docx

上传人:b****1 文档编号:2475672 上传时间:2022-10-29 格式:DOCX 页数:23 大小:1.05MB
下载 相关 举报
陈秋飞论文二稿.docx_第1页
第1页 / 共23页
陈秋飞论文二稿.docx_第2页
第2页 / 共23页
陈秋飞论文二稿.docx_第3页
第3页 / 共23页
陈秋飞论文二稿.docx_第4页
第4页 / 共23页
陈秋飞论文二稿.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

陈秋飞论文二稿.docx

《陈秋飞论文二稿.docx》由会员分享,可在线阅读,更多相关《陈秋飞论文二稿.docx(23页珍藏版)》请在冰豆网上搜索。

陈秋飞论文二稿.docx

陈秋飞论文二稿

LinuxVirtualServer负载均衡集群

作者陈秋飞指导教师魏武讲师

(湛江师范学院信息学院,湛江524048)

摘要:

Internet的快速增长使多媒体网络服务器面对的访问数量快速增加,内网流量风暴性的递增,给网络带宽和服务器的处理带来巨大的挑战。

服务器需要具备提供大量并发访问服务的能力,因此对于大负载的服务器来讲,CPU、I/O处理能力很快会成为瓶颈。

由于单台服务器的性能总是有限的,简单的提高硬件性能并不能真正解决这个问题。

Linux虚拟服务器(LinuxVirtualServer,LVS)是一种全新的网络服务解决方案。

采用多服务器和负载均衡技术能够满足大量并发访问的需要。

Linux虚拟服务器使用负载均衡技术将多台服务器组成一个虚拟服务器,它为适应快速增长的网络访问需求提供了一个负载能力易于扩展,而价格低廉的解决方案。

本论文使用Redhat的Piranha和LVS技术。

关键词:

LVS;负载均衡;Piranha;调度算法;集群

LinuxVirtualServerLoadBalancingCluster

ChenQiufei

InformationScienceandTechnologySchoolZhanjiangNormalUniversity,zhanjiang524048

Abstract:

TherapidgrowthofInternetmultimedianetworkserversothatthefaceoftherapidincreaseinthenumberofvisitsandincrementalstormofnetworktraffic.Thisisahugechallengefornetworkbandwidthandservers.Serverneedstohavetheabilitytoaccessservicesforalargenumberofconcurrent,sointermsofalargeloadfortheserver,CPU,I/Oprocessingcapabilitieswillsoonbecomeabottleneck.Astheperformanceofasingleserverisalwayslimited,ifonlyimprovehardwareperformancedoesnotreallysolvetheproblem.LVS(LinuxVirtualServer)isanewnetworkservicesolutions.Usingmultipleserversandloadbalancingtechnologytomeettheneedsofalargenumberofconcurrentaccess.Linuxvirtualserversusingloadbalancingmultipleserverstoformavirtualserver,whichisadaptedtotherapidlygrowingdemandfornetworkaccessprovidesaneasy-to-loadcapacityexpansion,andinexpensivesolution.Inthispaper,usingRedhat'sPiranhaandLVStechnology.

Keywords:

LVS;LoadBalancing;Piranha;SchedulingAlgorithm;Cluster

1前言

随着Internet的快速增长以及网络带宽不断增加,绝大多数的商业网站都需要提供高质量的网络服务,包括提供全年365天24小时无间断的网络服务供应,以及响应客户端高并发的请求。

通过服务器硬件的简单升级,已经不能解决网络服务瓶颈的问题,因此出现了服务器集群技术[]。

服务器集群技术可以通过局域网或者广域网,把多台能够提供相同Web服务的服务器组合在一起。

使用这个技术,可以把这多台Web服务器映射成一台虚拟的服务器,通过这台虚拟服务器向外界提供Web服务。

在客户端看来,他们访问的是这一台虚拟服务器,但实际上他们访问的是虚拟服务器后端的任意一台真实服务器。

LVS[]虚拟服务器(LinuxVirtualServer)是一种全新的网络服务解决方案。

因此,可以采用多服务器和负载均衡技术满足高并发访问的需求。

本文借助Redhat自带的Piranha和ipvsadm软件对负载均衡实现的机制和方法进行了研究,也重点分析了ipvsadm软件核心,即是ipvs的算法,重点针对ipvs中软件自带的轮转(RR)算法和加权轮转(WRR)算法进行了分析。

2LVS负载均衡集群的结构以及工作原理

2.1LVS负载均衡集群的结构图

LVS结构图如图1所示:

图1LVS负载均衡结构图

2.1.1LVS负载均衡集群的结构介绍

LVS负载均衡集群主要是由两部分构成:

LVS调度器、真实服务器池。

其中的LVS调度器可以有多个,一般情况下是两个,一个作为主调度器,一个作为备用调度器,这样可以防止单点故障。

而真实服务器池则可以根据站点的访问量做出相应的调整,访问量大,真实服务器池的真实服务器数目就要相对应增加,访问量小,则可以减少后端的真实服务器数目,从而达到最大化的资源利用。

2.2调度器及真实服务器池作用和原理

2.2.1调度器作用和原理

调度器:

作为整个LVS负载均衡集群的前端,也是客户访问的前端。

在整个集群中,调度器会接收到来自不同地方的访问请求,它本身不会处理这些请求,而是根据自身已有的IPVS规则,把各种的请求按已经规定好的算法转交给后端的真实服务器节点,后端的真实服务器节点处理完请求后,后端的真实服务器直接把处理的结果返回给客户端或调度器。

2.2.2真实服务器池作用和原理

真实服务器池:

在这服务器池中的服务器,才是真正执行客户请求的服务器。

其处理从前端调度器发送过来的请求,当处理完成后,会根据已确定的包转发策略来选择将处理结果直接返回给客户端或者前端的调度器。

而其数目可以根据站点访问量进行动态增加或者减少。

当真实服务器的数目较多,但站点的访问量较少的时候,可选择动态的减少真实服务器的数目,以达到资源利用最大化。

3LVS的包转发策略和调度算法

3.1LVS的三种包转发策略

1)DR(DirectRouting)直接路由模式[]。

调度器收到请求包后,将请求包的目标MAC地址转换成为后端某个选定的真实服务器的MAC地址后,将此包转发出去。

真实服务器收到请求包后,处理请求完成后,会直接把结果返回给用户。

此时要求调度器和所有的真实服务器都必须在一个物理网段内,而且调度器和所有真实服务器共享一个虚拟的IP。

2)NAT(NetworkAddressTranslation)网络地址转换模式。

调度器收到请求包后,会将请求包中的虚拟服务器的IP地址转换为某个选定的真实服务器的IP地址,并将此包转发给选定的真实服务器。

选定的真实服务器处理完请求后,将结果返回给调度器,调度器再次修改应答包中的IP为虚拟服务器的IP地址,最后返回给用户。

3)IP隧道(IPTunneling)模式。

调度器收到用户请求后,根据IP隧道协议封装该数据包,然后转发给某个选定的真实服务器。

真实服务器处理完请求后,直接将应答的内容传给用户,此时要求调度器和真实服务器都要支持IP隧道协议。

3.2LVS常见调度算法

LVS调度算法[]的选择对于整个系统而言是相当重要的,不同的调度算法适用于不同的生产环境。

随着LVS的广泛应用,调度算法也从最开始的4种发展到目前的12种之多,其中比较重要的有:

轮叫调度算法、加权轮叫调度算法、最少连接调度算法、加权最少连接调度算法、基于局部性的最少连接调度算法、带复制性的基于局部性的最少连接调度算法、目标地址散列算法、源地址散列算法。

3.2.1LVS四种常见调度算法介绍与分析

1)轮叫调度(RoundRobinScheduling)算法[]就是以轮叫的方式依次将请求调度不同的服务器,即每次调度执行i=(i+1)modn,并选出第i台服务器。

算法的优点是其简洁性,它无需记录当前所有连接的状态,所以它是一种无状态调度。

轮叫调度算法假设所有服务器处理性能均相同,不管服务器的当前连接数和响应速度。

该算法相对简单,不适用于服务器组中处理性能不一的情况,而且当请求服务时间变化比较大时,轮叫调度算法容易导致服务器间的负载不平衡。

2)加权轮叫调度(WeightedRound-RobinScheduling)算法可以解决服务器间性能不一的情况,它用相应的权值表示服务器的处理性能,服务器的缺省权值为1。

假设服务器A的权值为1,B的权值为2,则表示服务器B的处理性能是A的两倍。

加权轮叫调度算法是按权值的高低和轮叫方式分配请求到各服务器。

权值高的服务器先收到的连接,权值高的服务器比权值低的服务器处理更多的连接,相同权值的服务器处理相同数目的连接数。

加权轮叫调度也无需记录当前所有连接的状态,所以它也是一种无状态调度。

因此加权轮叫调度算法的服务器权值设置得当的话,可以充分利用各服务器的性能进行请求处理。

3)最少连接调度(Least-ConnectionScheduling)算法是把新的连接请求分配到当前连接数最少的服务器。

最少连接调度是一种动态的调度算法,它通过服务器当前所活跃的连接数来估计服务器的负载情况。

调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中止或超时,其连接数减一。

因此这种调度算法可以让处理请求快的服务器合理的处理更多的请求,也是相对合理的一种调度算法。

4)加权最小连接调度(WeightedLeast-ConnectionScheduling)算法是最小连接调度的超集,各个服务器用相应的权值表示其处理性能。

服务器的缺省权值为1,系统管理员可以动态地设置服务器的权值。

加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。

加权最少连接调度不仅继承了最少连接调度的优点,而且还增加了自己的新元素,也就是加权分配,权重分配得当,此算法也是一种相对合理的调度算法。

4LVS负载均衡集群架构的搭建

4.1基于RedhatEnterprise6.3负载均衡集群架构的搭建

4.1.1负载均衡集群架构搭建的基础

本次架构的搭建,使用了八台主机,这八台主机处于同一局域网内。

其中包括两台LVS调度器,五台后端真实服务器,以及一台测试服务器。

为节省资源,故两台LVS调度器以及五台后端真实服务器采用KVM虚拟机,它们的配置为双核心,内存最小300M,最大400M,交换内存2G,并且这些KVM虚拟机只安装图形界面,而测试服务器采用图形界面以便后续进行测试。

在这个LVS负载均衡集群架构下,有两台负载调度器,分别为主调度器和备调度器,这两台调度器都配备了双网卡,可实现双心跳检测功能。

IP分别为192.168.1.241(10.1.1.241)和192.168.1.242(10.1.1.242)。

搭建主备调度器和双IP可以防止单点故障,当主调度器出现故障,主调度器上的资源,包括VIP和ipvs规则都会自动转移到备调度器,这样可以保证后端http服务的正常提供。

因为资源有限,后端的真实服务器设置了5台,IP分别从192.168.1.243至192.168.1.247,在这些真实服务器上都运行着apa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 职业规划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1