LVS--4种工做模式场景及优点

1、NAT

lvs的nat集群会将请求报文中的目标地址和目标端口修改成选定到的真实服务器的Ip和端口,从而实现报文的转发。
lvs-nat集群应用时由如下几点注意实现:前端

1.RIP和DIP必须在同一个Ip网络中,且应使用私网地址,RS的网关要指向DIP;
2.请求报文和响应报文必须经由Director转发;
3.支持端口映射,可修改请求报文的目标端口;
4.director必须为Linux系统,RS能够为任意系统;

此集群类型的优势在于RS可支持任意TCP/IP操做系统,且仅需一个合法的公网Ip便可部署。可是其缺点为当集群扩展到必定程度后,Director容易成为整个集群系统的瓶颈。算法

上图为lvs-nat的常见的使用场景,其工做流程以下:
一、客户端的请求发往Director 的VIP。
二、Director发到客户端请求报文后,将报文中的目标Ip修改成集群中的选定的RIP,目标端口80也修改为8080,而后将请求报文发往RS。
三、当RS收到请求报文后,在检查报文的目标IP为本身的RIP后,会接受报文并进行处理响应。响应的源Ip为RIP,目标IP为CIP,端口不变。
四、Director收到RS的响应报文,修改响应报文的源IP为VIP,端口为80,而后转发给客户端。
五、客户端接受响应报文,其源IP为VIP,端口为80,整个过程对于客户端来讲是透明无感知的。

2、DR

 lvs-dr集群是Lvs的默认模式,又称为Direct Routing,直接路由模式。经过为请求报文从新封装一个MAC首部进行转发,源MAC是DIP所在的接口的MAC,目标MAC是某挑选出的RS的RIP所在接口的MAC地址;源IP/PORT,以及目标IP/PORT均保持不变。后端

在DR 模式下须要在 Director 和 RS 集群绑定同一个 VIP(RS 经过将 VIP 绑定在 loopback 实现)。因为在VIP在同一个网络中的多台服务器上都须要配置,所以必须对RS的ARP响应报文规则进行修改,其方式有三种:服务器

(a) 在前端网关作静态绑定;
(b) 在RS上使用arptables工具;
  # arptables -A IN -d $VIP -j DROP
  # arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP
(c) 在RS上修改内核参数以限制arp通告及应答级别;
  echo 1 > /proc/sys/net/ipv4/conf/all/arp_ignore
  echo 1 > /proc/sys/net/ipv4/conf/lo/arp_ignore
  echo 2 > /proc/sys/net/ipv4/conf/all/arp_announce
  echo 2 > /proc/sys/net/ipv4/conf/lo/arp_announce

 

总的来讲,DR模式在部署时有如下几点须要注意的:网络

1.确保前端路由器将目标Ip为VIP的请求报文发往director;
2.RS的RIP可使用私网地址,也能够是公网地址;RIP与DIP在同一IP网络;RIP的网关不能指向DIP,以确保响应报文不会经由Director;
3.RS跟Director要在同一个物理网络;
4.请求报文要经由Director,但响应不能经由Director,而是由RS直接发往Client;
5.dr模式不支持端口映射;

lvs-dr模式的优势在于:Director只是分发请求,应答包经过单独的路由方法返回给客户端。与Lvs-tun相比,Lvs-dr这种实现方式不须要隧道结构,所以可使用大多数操做系统作为物理服务器。缺点在于要求负载均衡器的网卡必须与物理网卡在一个物理段上。负载均衡

3、TUN

转发方式工做,不修改请求报文的IP首部,而在源IP报文以外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RealServer,RealServer直接响应给客户端(源IP是VIP,目标IP是CIP),lvs-tun模式的优先在于Director只负责将请求包分配给对应的RS,而响应则由RS本身直接应答给客户端,所以director再也不是瓶颈。但其缺点在于须要每一个服务器都支持Ip tunnel协议。工具

 

4、Fullnat

 lvs-fullnat模式,即经过同时修改请求报文的源IP地址和目标IP地址进行转发的模式。此类型的模式,默认Kernel不支持。oop

1.客户端的请求会发往Director,此时,客户端请求报文的源IP为CIP,目标IP为Director的VIP 2.当Director收到客户端的请求报文时,会将源IP修改成本机的DIP,同时将请求报文中的目标IP修改成后端某个RS的RIP,具体为哪一个RS的RIP,取决于LVS使用的具体算法 3.当RS收到对应的请求报文时,会发现报文的目标IP就是本身的RIP,因而就会接收报文并 处理后进行响应。响应报文的源IP则为RIP,目标IP则为DIP 4.当Director收到对应的响应报文时,Director会将响应报文的源IP修改成VIP,目标IP修改成CIP,因而响应报文被发往客户端。 5.客户端则会收到响应报文,源IP为VIP,端口为80,而LVS相对于客户端而言,转换过程是透明的。
相关文章
相关标签/搜索