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介绍的主要内容,如果未能解决你的问题,请参考以下文章