LVS 内核实现分析(1)

11160阅读 0评论2016-12-15 frankzfz
分类:网络与安全

1概述

LVS(Linux Virtual Server)Linux内核中实现的一个虚拟服务器,是国内的开发者开发的一个自由软件项目,它的主要作用是负载均衡。它有两部分组成,一个是内核中的核心处理叫IPVS,另一个是用户空间的配置工具ipvsadmIPVSLinux内核的一个框架,是在Linux内核的netfilter框架基础之上实现的,在三个HOOK点添加了自己的处理函数。IPVS是以IP做的负载均衡,也即是三层的负载均衡,这个和haproxynginx是有区别的。

LVS技术要达到的目标是:通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器群集,它具有良好可靠性、可扩展性和可操作性。可以以低廉的成本实现较高的服务性能。

IPVS的官方网址为:,下面分析的内核版本为Linux-2.6.32

2. LVS的三种模式

LVS实现了三种转发类型:

LVS-NAT模型,称为网络地址转换,实现起来比较简单,类似于NAT,比NAT简单很多;

LVS-DR模型,称为直接路由模型,主要是修改MAC地址;

LVS-TUN模型,称为隧道模型,添加一层IP封装。

2.1  LVS-NAT模型的特点

1)         所有的RealServer集群节点和前端调度器Director都要在同一个子网中

2)         通常情况下RealServerIP地址(以下简成RIP)为私有地址,便于RealServer集群节点之间进行通信

3)         通常情况下前端的Director有两个IP地址,一个为VIP,是虚拟的IP地址,客户端向此IP地址发起请求。一个是DIP,是真正的DirectorIP地址,RIP的网关要指向DirectorDIP

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

上一篇:docker的跨主机解决方案weave----遇到的坑(2)
下一篇:关于TCP MSS的内核设置