LVS介绍

Posted 小韵豆子

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS介绍相关的知识,希望对你有一定的参考价值。

LVS介绍:

LVS是Linux Virtual Server的简称,也就是Linux虚拟服务器,是一个由章文嵩博士发起的自由软件项目,官方站点是:http://www.linuxvirtualserver.org。现在LVS已经是Linux标准内核的一部分,在Linux2.4内核以前,使用LVS时必须重新编译内核以支持LVS功能模块,但是从Linux2.4内核心之后,已经完全内置了LVS的各个功能模块,无需给内核打任何补丁,可以直接使用LVS提供的各种功能。

 

LVS基本工作原理:

1、当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间

2、 PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链

3、 IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群服务进行比对,如果用户请求的就是定义的集群服务,那么此时IPVS会强行修改数据包里的目标IP地址及端口,并将新的数据包发往POSTROUTING链

4、 POSTROUTING链接收数据包后发现目标IP地址刚好是自己的后端服务器,那么此时通过选路,将数据包最终发送给后端的服务器

 

LVS中的调度方法有三种:
    NAT(Network Address Translation网络地址转换)、TUN(tunnel 隧道)、DR(direct route 直接路由)


    DR模式:
          DR模式下,lvs接收请求输入,将请求转发给RS,由RS输出响应给用户,性能非常高。
          它的不足之处是要求负载均衡器与RS在一个物理段上。

   NAT模式:
           NAT模式下,LVS需要作为RS的网关,当网络包到达LVS时,LVS做目标地址转换(DNAT),将目标IP改为RS的IP。
           RS接收到包以后,处理完,返回响应时,源IP是RS IP,目标IP是客户端的IP,这时RS的包通过网关(LVS)中转,
           LVS会做源地址转换(SNAT),将包的源地址改为VIP,对于客户端只知道是LVS直接返回给它的。
           NAT模式请求和响应都需要经过lvs,性能没有DR模式好。

 TUN模式:
     TUN模式是通过ip隧道技术减轻lvs调度服务器的压力,许多Internet服务(例如WEB服务器)的请求包很短小,
     而应答包通常很大,负载均衡器只负责将请求包分发给物理服务器,而物理服务器将应答包直接发给用户。
     所以,负载均衡器能处理很巨大的请求量。相比NAT性能要高的多,比DR模式的优点是不限制负载均衡器与RS在一个物理段上。
     但是它的不足需要所有的服务器(lvs、RS)支持"IP Tunneling"(IP Encapsulation)协议。

 

LVS 优势与不足

1、优势

         高并发连接:LVS基于内核工作,有超强的承载能力和并发处理能力。单台LVS负载均衡器,可支持上万并发连接。

         稳定性强:是 工作在网络4层之上仅作分发之用, 这个特点也决定了它在负载均衡软件里的性能最强,稳定性最好, 对内存和cpu资源消耗极低。

         成本低廉:硬件负载均衡器少则十几万,多则几十万上百万,LVS只需一台服务器和就能免费部署使用,性价比极高。

         配置简单:LVS配置非常简单,仅需几行命令即可完成配置,也可写成脚本进行管理。

         支持多种算法:支持多种论调算法,可根据业务场景灵活调配进行使用

         支持多种工作模型:可根据业务场景,使用不同的工作模式来解决生产环境请求处理问题。

         应用范围广:因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、DNS、ftp服务等等

2、不足

         工作在4层,不支持7层规则修改,机制过于庞大,不适合小规模应用。


 

以上是关于LVS介绍的主要内容,如果未能解决你的问题,请参考以下文章

LVS介绍及工作原理图解

LVS基本介绍

LVS简略介绍

LVS的应用一

Linux负载均衡之lvs基本介绍

高可用群集HA介绍与LVS+keepalived高可用群集