1概述
LVS(Linux Virtual Server)是Linux内核中实现的一个虚拟服务器,是国内的开发者开发的一个自由软件项目,它的主要作用是负载均衡。它有两部分组成,一个是内核中的核心处理叫IPVS,另一个是用户空间的配置工具ipvsadm,IPVS是Linux内核的一个框架,是在Linux内核的netfilter框架基础之上实现的,在三个HOOK点添加了自己的处理函数。IPVS是以IP做的负载均衡,也即是三层的负载均衡,这个和haproxy、nginx是有区别的。
LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。可以以低廉的成本实现较高的服务性能。
IPVS的官方网址为:,下面分析的内核版本为Linux-2.6.32。
2. LVS的三种模式
LVS实现了三种转发类型:
l LVS-NAT模型,称为网络地址转换,实现起来比较简单,类似于NAT,比NAT简单很多;
l LVS-DR模型,称为直接路由模型,主要是修改MAC地址;
l LVS-TUN模型,称为隧道模型,添加一层IP封装。
2.1 LVS-NAT模型的特点
1) 所有的RealServer集群节点和前端调度器Director都要在同一个子网中
2) 通常情况下RealServer的IP地址(以下简成RIP)为私有地址,便于RealServer集群节点之间进行通信
3) 通常情况下前端的Director有两个IP地址,一个为VIP,是虚拟的IP地址,客户端向此IP地址发起请求。一个是DIP,是真正的Director的IP地址,RIP的网关要指向Director的DIP。
4) RealServer的操作系统可以是任意操作系统
5) 前端的Director既要处理客户端发起的请求,又要处理后台RealServer的响应信息,将RealServer响应的信息再转发给客户端
6) 前端Director很容易成为整个集群系统性能的瓶颈。
2.2 LVS_DR模型的特点
1) 所有的RealServer集群节点和前端调度器Director都要在同一个物理网络中
2) RIP可以使用公网的IP
3) RIP的网关不能指向DIP
4) 前端的Director只处理客户端的请求,然后将请求转发给RealServer,由后台的RealServer直接响应客户端,不再经过Director
2.3 LVS_TUN模型的特点
1) RealServer服务器与前端的Director可以在不同的网络中
2) RIP一定不能是私有IP
3) 前端的Director只处理客户端的请求,然后将请求转发给RealServer,由后台的RealServer直接响应客户端,不再经过Director