lvs linux虚拟服务器
针对高可伸缩、高可用网络服务器的需求提出了基于ip层和基于内容请求分发的负载平衡调度解决方案,并在linux内核中实现,将一组服务器构成一个可伸缩、高可用网络的虚拟服务器。
一组服务器通过高速的局域网或地理分布的广域网互相连接,前端有一个负载均衡器有时称为LD集群采用三层结构
一般来说,LVS集群采用三层结构,其主要组成部分为:
A、负载调度器(load balancer),它是整个集群对外面的前端机,负责将客户的请求发送到一组服务器上执行,而客户认为服务是来自一个IP地址(我们可称之为虚拟IP地址)上的。
B、服务器池(server pool),是一组真正执行客户请求的服务器,执行的服务有WEB、MAIL、FTP和DNS等。
C、共享存储(shared storage),它为服务器池提供一个共享的存储区,这样很容易使得服务器池拥有相同的内容,提供相同的服务。
三种负载均衡技术
1、 基于nat的lvs负载均衡
前端负载均衡器通过重写请求报文的目的地址实现网络地址的转换,根据设定的负载均衡算法,将请求分配给后端真实的网络服务器,真实服务器的响应报文通过负载均衡器时,报文的源地址被重写,然后返回客户端,从而完成整个负载调度的过程。
2、 基于tun的lvs负载均衡
负载均衡器把请求报文通过ip隧道转发至真实服务器,而真实服务器将响应直接返回给客户,此种技术负载均衡器只处理请求报文的MAC地址,由于结果不经过负载均衡器,采用此种技术的集群吞吐能力也更加强大,同时tun模式可以支持跨网段,并支持跨地域部署,使用非常灵活。
3、 基于DR的lvs负载均衡
该模式通过改写请求报文的mac地址,将请求发送到真实服务器,类似于tun模式DR模式下真实服务器将响应直接返回给客户端,因此VS/DR技术可极大提高集群系统的伸缩性,这种方法有IP隧道的开销,真实服务器也没有必须支持IP隧道协议的要求,但是此种模式要求负载均衡器与真实服务器都在同一物理网段上。