LVS基础概念
是一个linux虚拟服务器,中国章文嵩博士的一个开源项目,在linux内核2.6中,它已经成为了内核中的一部分。
LVS能干什么?
LVS主要用于多服务器的负载均衡,它工作在网络4层,可以实现高性能,高可用的服务器集群计数。它廉价,可以把许多低性能的服务器组合在一起形成一个超级服务器。它易用,配置非常多,且有多种负载均衡的方法。它稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果。另外可扩展性也非常好。
Linux Virtual Server 项目
针对高可伸缩、高可用网络服务的需求,我们给出了基于IP层和基于内容请求分发的负载均衡调度解决方法,并在Linux内核中实现了这些方法,将一组服务器构成一个实现可伸缩的、高可用网络服务的虚拟服务器。
在调度器的实现技术中,IP负载均衡技术是效率最高的。IPVS软件实现了三种IP负载均衡技术,它的大致原理如下:
VS/DR 通过改写请求报文的MAC地址,将请求发送到真实服务器,而真实服务器将响应直接返回给客户。同VS/TUN技术一样,VS/DR技术可极大地提高集群系统的伸缩性。这种方法没有IP隧道的开销,对集群中的真实服务器也没有必须z支持IP隧道协议的要求,但是要求调度器与真实服务器都有一块网卡连在同一物理网段上。
VS/NAT通过网络地址的转换,调度器重写请求报文的目标地址,根据预设的调度算法,将请求分派给后端的真实服务器;真实服务器的响应报文通过调度器时,报文的源地址被重写,再返回给客户,完成整个负载调度过程。
VS/TUN采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器d的处理能力j将成为瓶颈。为了解决这个问题,调度器把请求报文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理了请求报文。由于一般网络服务应答比请求报文大许多,采用VS/TUN技术后,j集群系统的最大吞吐量可以提高10倍。
IPVS调度算法
1.轮叫
2.加权轮叫
3.最少连接
4.加权最少链接
5.基于局部性的最少连接
6.带复制的基于局部性最少连接
7.目标地址散列
8.源地址散列
LVS集群特点
1.实现了三种IP负载均衡技术和八种连接调度算法的IPVS软件
2.在IPVS内部实现上,采用了高效的Hash函数和垃圾回收机制,能正确处理所调度报文相关的ICMP消息。
3.虚拟服务的设置数目没有限制,每个虚拟服务有自己的服务器集。
4.它支持持久的虚拟服务,并提供了详尽的统计数据,如连接的处理速率和报文的流量等。
5.针对大规模拒绝服务攻击,实现了三种防卫策略。
6.有基于内容请求分发的应用层交换软件KTCPVS,它也是在Linux内核中实现。
7.有相关的集群管理软件对资源进行检测,能及时将故障屏蔽,实现系统的高可用性。
8.主、从调度器能周期性地进行状态同步,从而实现更高地可用性。