LVS原理讲解
一、lvs介绍
LVS的英文全名为“Linux Virtual Server”,即Linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身不产生流量,只做用户请求转发,目前是负载均衡性能最好的集群系统。
二、lvs集群的类型:
lvs-nat:修改请求报文的目标IP,多目标IP的DNAT
lvs-dr:操纵封装新的MAC地址
lvs-tun:在原请求IP报文之外新加一个IP首部
lvs-fullnat:修改请求报文的源和目标IP
三、常用的名词
VS:Virtual Server,虚拟服务器,也称为Director
RS:Real Server(lvs),真正的服务器,集群中各节点
CIP:客户端IP
VIP:Director向外部提供服务的IP
RIP:集群节点的服务器IP
DIP:Director与RS通信的IP
四、LVS的三种类型
1、LVS-NAT
原理简述
客户端向VIP发起请求连接,Director在经过调度之后选取RS,将本地端口与RS的端口做映射,然后RS返还数据Director将数据返还客户端
LVS-NAT特性
1.RIP的网关必须与网关指向DIP
2.可以使用端口映射;即Director将客户端请求的IP端口转换为真是服务器的iP与端口
3.Director会成为系统的瓶颈所在,
4.RS可以为任意的操作系统
5.每台后端服务器的网关必须为调度器的内网地址
2、LVS-DR
原理简述
当客户端向VIP发起请求时,[源CIP;目的VIP]数据包通过路由器发送到Director。然后Director不修改其源IP目的iP。经过调度后将目的MAC改为RS的MAC,RS收到数据之后发现目的IP为本机的L0接口就将其收下,然后找到数据再将源IP改为L0目的IP为CIP直接通过公网返回给客户端
架构特性
1.必须保证前端路由通过ARP地址解析将数据转发至Director,数据不能被RS接收
2.RS可以使用私网地址,也可以使用公网IP
3.Director只负责调度。
4.Director与RS必须在同一物理段中
5.不支持端口映射
6.RS的网关为前端路由,不能为Director
7.RS支持大多出OS(可以拒绝ARP响应的系统)
3、LSV-tull
原理简述
客户端向VIP发送请求时,[源CIP;目的VIP],Director经过调度轮询后选择一个RS后使用隧道技术再次封装后向RS发送【源DIP;目的RIP [源CIP;目的VIP]】,RS通过隧道收到请求后拆开数据后得到[源CIP;目的VIP],发现目的IP为自己L0接口的IP得,后就把数据收下,找到数据后将数据直接通过公网返还给客户端[源VIP;目的CIP]
特性
1.RIP、DIP、VIP必须为公网IP
2.RS网关不指向Director
3.请求报文由Director转发至RS,回复报文由RS直接发送至客户端
4.不支持端口映射
5.RS的OS必须支持隧道技术
6.Director与RS、RS与RS可以跨网段、跨机房。