您好,欢迎访问三七文档
集群通过一组松散集成的计算机软件和/或硬件连接起来高度紧密地协作完成计算工作。集群计算机按功能和结构可以分成以下几类:高可用性集群:当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。负载均衡集群:一般通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。高性能计算集群:采用将计算任务分配到集群的不同计算节点而提高计算能力。Linux虚拟服务器(LVS)项目在Linux操作系统上提供了最常用的负载均衡软件。LVS负载均衡的通用结构LVS负载均衡的体系结构如上图所示,它有三个主要组成部分:负载调度器(loadbalancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址上的。它可以是用IP负载均衡技术的负载调度器,也可以是基于内容请求分发的负载调度器,还可以是两者的结合。服务器池(serverpool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。后端存储(backendstorage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务调度器负载均衡技术IP负载均衡技术在IP负载均衡技术中,需要服务器池拥有相同的内容提供相同的服务。当客户请求到达时,调度器只根据负载情况从服务器池中选出一个服务器,将该请求转发到选出的服务器,并记录这个调度;当这个请求的其他报文到达,也会被转发到前面选出的服务器。1)通过NAT(NetworkAddressTranslation)实现虚拟服务器(VS/NAT)客户通过VirtualIPAddress(虚拟服务的IP地址)访问网络服务时,请求报文到达调度器,调度器根据连接调度算法从一组真实服务器中选出一台服务器,将报文的目标地址VirtualIPAddress改写成选定服务器的地址,报文的目标端口改写成选定服务器的相应端口,最后将修改后的报文发送给选出的服务器。当来自真实服务器的响应报文经过调度器时,调度器将报文的源地址和源端口改为VirtualIPAddress和相应的端口,再把报文发给用户。2)通过IP隧道实现虚拟服务器(VS/TUN)调度器根据各个服务器的负载情况,动态地选择一台服务器,将请求报文封装在另一个IP报文中,再将封装后的IP报文转发给选出的服务器;服务器收到报文后,先将报文解封获得原来目标地址为VIP的报文,服务器发现VIP地址被配置在本地的IP隧道设备上,所以就处理这个请求,然后根据路由表将响应报文直接返回给客户。3)通过直接路由实现虚拟服务器(VS/DR)调度器根据各个服务器的负载情况,动态地选择一台服务器,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。当服务器发现报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。内核中的连接调度算法IPVS在内核中的负载均衡调度是以连接为粒度的。在HTTP协议(非持久)中,每个对象从WEB服务器上获取都需要建立一个TCP连接,同一用户的不同请求会被调度到不同的服务器上,所以这种细粒度的调度在一定程度上可以避免单个用户访问的突发性引起服务器间的负载不平衡。在内核中的连接调度算法上,IPVS已实现了以下十种调度算法:轮叫调度(Round-RobinScheduling)加权轮叫调度(WeightedRound-RobinScheduling)最小连接调度(Least-ConnectionScheduling)加权最小连接调度(WeightedLeast-ConnectionScheduling)基于局部性的最少链接(Locality-BasedLeastConnectionsScheduling)带复制的基于局部性最少链接(Locality-BasedLeastConnectionswithReplicationScheduling)目标地址散列调度(DestinationHashingScheduling)源地址散列调度(SourceHashingScheduling)最短预期延时调度(ShortestExpectedDelayScheduling)不排队调度(NeverQueueScheduling)内容请求分发技术在基于内容请求分发技术中,服务器可以提供不同的服务,当客户请求到达时,调度器可根据请求的内容和服务器的情况选择服务器执行请求。因为所有的操作都是在操作系统核心空间中将完成的,它的调度开销很小,所以它具有很高的吞吐率。LVS(DR)+keepalived实现高性能高可用负载均衡Keepalived在这里主要用作RealServer的健康状态检查以及LoadBalance主机和BackUP主机之间failover的实现。LVS+Keepalived能实现的功能:利用LVS控制器主备模式避免单点故障以及自动删除故障WEB服务器结点并当它恢复后再自动添加到群集中。实验环境目前在10.144.119.27上的虚拟机中搭建了如下环境:1)LVS调度器192.168.217.1302)LVS调度器备份192.168.217.1353)Tomcat应用服务器1192.168.217.1324)Tomcat应用服务器2192.168.217.1345)虚拟服务器192.168.217.133通过在10.144.118.27中的浏览器访问虚拟服务器实现对tomcat1和tomcat2集群的访问。配置方法1)LVS调度器及备份调度器keepalived.conf2)Tomcat服务器realserver.sh为lo:0绑定VIP地址、抑制ARP广播
本文标题:LVS负载均衡
链接地址:https://www.777doc.com/doc-2886298 .html