LVS基本知识总结及其NAT模型与DR模型的实现
在企业的运行中,LVS的负载均衡机制使得我们可以投入更少的成本并且可以让服务集群发挥更高的性能为客户服务,那么LVS到底是什么?以及它是怎么实现的呢?下面我们一起来看一看吧
高可用LVS集群系统结构图
LVS概念
LVS是LinuxVirtual Server的简写即是Linux虚拟服务器,是一个虚拟的服务器集群系统;LVS是由进行对请求合理分配的调度器以及多台提供服务的实际运行的应用服务器组成,并且可以根据企业自身的需求对其进行合理,灵活的架构;在有众多客户端进行幷发访问企业相关服务器的时候,LVS集群中的调度服务器可以将大量的服务请求根据调度器自身多种不同的算法进行合理的分发;从而实现基于IP,连接数以及访问量等多种类型的负载均衡。而且一旦集群中的某台真实服务器出现故障而不可用时,集群软件能够快速侦测到这一状况并将服务请求定向到其它的正在运行的应用服务器上
LVS类型介绍
LB:load Balancing:负载均衡集群--大容量、增加处理能力;例如:通过rsync完成web服务器之间的页面复制即在一台web服务器上存储页面,其他web服务器从此服务上进行同步;并且可以通过内核中inotify机制进行通知其他服务器页面变化情况;让其他服务器不用等到指定的同步时间进行同步,实行立即同步
HA:High Availabilty:高可用集群--实时在线一年在线时间为99.999%;例如当一台服务器挂掉可以通过调度器重新发送请求,不会因为一台服务器的崩溃而导致整个服务器的的挂掉,可以继续提供服务;这种高可用能力是依赖前端服务器调度的(调度机制的分发请求可根据后端服务器的状态检测;前端主机也会通过周期性的检测来判断节点服务器的在线状态)
HP(HPC):High Performance:高性能集群--具有超高级计算能力;例如:评估每秒钟的浮点计算能力等;应用领域一般都是科学计算、天气预报等一些大型数据计算
LVS组成结构
负载均衡实现方案
基于DNS域名轮流解析的方法
基于客户端调度访问的方法
基于应用层系统负载的调度方法
基于IP地址的调度方法
其中基于IP的负载调度算法中,IP负载均衡技术是执行效率最高的;所以下面以介绍IP负载调度方法为主
IP调度方法技术实现
LVS的IP负载均衡技术是通过IPVS模块实现,IPVS是安装在Director Server上的一个核心软件,通过在Director Server上虚拟出一个IP地址即VIP;客户端可通过这个虚拟的IP地址来访问服务器,当客户端请求通过访问VIP地址到的DirectorServer上后,然后根据负载调度器上的各种算法分发客户端请求到相对空闲或者是处理效率较高、性能较好的Real Server上
IPVS实现负载均衡的三种方式
VS/NAT:Virtual Server via Network AddressTranslation;调度器通过将请求报文的目标地址(VIP)改写成选定的RealServer地址,同时将报文的目标端口也改写成指定的Real Server的相应端口,最终将报文请求发送到选定的Real Server 上。Real Server将报文数据返回给客户端时,需要经过负载均衡器将报文源地址和源端口改写成Director Server上的VIP地址和相应端口,然后通过DirectorServer将报文数据返回给客户端
VS/DR:Virtual Server via Direct Routing,DR方式通过改写请求的MAC地址通过Director Server将请求发送到Real Server,然后Real Server直接将客户端请求响应给客户端,Director Server只是做客户端请求的处理;其性能较好,也是应用最多的一种方式,DR方式中Director Server的DIP与Real Server的RIP在同一网段内
VS/TUN:Virtual Server via IP Tunncling;客户端请求发送到Director Server上,然后调度器采用IP隧道技术将用户请求转送到远程的Real Server上,Real Server接受报文直接响应给客户端,TUN与DR不同点在于DR中的DIP与RIP在同一个网段,而TUN实现了DIP与RIP相异两地的情况