VPS测评 VPS推荐 VPS优惠
Linux运维

LVS的几种工作模式的区别

LVS介绍

LVS (Linux Virtual Server) 是全球最流行的四层负载均衡开源软件,是linux的内核集功能,工作在INPUT链的位置。LVS 根据请求报文的目标IP、协议、端口将请求转发至后端的 Real Server(RS),使用调度算法来选择 RS。

LVS常用的集群术语

VS:Virtual Server(LVS服务器)、Director Server(DS调度器)、Dispatcher、Load Balancer (LB)

RS:Real Server

CIP:Client IP (客户端IP)

VIP:Virtual Serve IP (虚拟IP,VS的外网IP)

DIP:Director IP (VS的内网IP)

RIP:Real Server IP

访问流程:CIP <–> VIP == DIP <–> RIP


LVS集群的工作模式

LVS-NAT:修改请求报文的目标IP,多目标的DNAT
LVS-DR:封装新的MAC地址
LVS-TUN:在原请求IP报文上新加一个IP首部
LVS-FULLNAT:修改请求报文的源IP和目标IP


LVS-NAT 模式

LVS-NAT
LVS-NAT

NAT 网络地址转换,分为 SNAT 和 DNAT 。内网计算机访问外网时用 SNAT 把内部私网IP转换为公网IP,反之就是 DNAT 。

中间的LVS服务器用于接收用户的请求,LVS 通过交换机和后端 RS 相连,把请求转发到后端的某一台 RS ,转发时 LVS 会将请求报文的目标地址(VIP) 替换成内网某一台 RS 的地址(RIP1),端口号(Port)也可以修改。RS收到请求以后,会发送响应报文,这时候源IP是RIP1,目标IP是客户端CIP,报文在经过LVS服务器原路返回客户端时,源IP从 RIP1 替换为 VIP。

一般后端有多台RS实现负载均衡,LVS可以将请求转发给其中的任意一台,所以LVS的 NAT 模式是多目标的 DNAT。

LVS-NAT模式特点

  • LVS和RS之间一般都是交换机(也可以用路由器),也就是说应该在同一个网段,使用内网址
  • 请求报文和响应报文都必须经由Director转发(原路返回),LVS负载很重,易于成为系统颈
  • 支持端口映射,可修改请求报文的目标PORT
  • LVS必须是Linux系统,RS可以是任意操作系统

LVS的DR模式

LVS-DR

DR:Direct Routing(直接路由),LVS的默认模式,应用最广泛。客户端发送请求,经过LVS转发的时候,源IP(CIP)、目的IP(VIP)、端口都没有发生改变,目标MAC改成某一个RS的MAC地址(LVS通过ARP广播找到RS的MAC地址)。最终RS接收到数据报文直接进行回应,返回不经过LVS,减少了LVS的负载,提升了工作效率。

DR模式的特点:

  • LVS服务器和后端RS都配置有VIP
  • 确保前端路由器将目标IP为VIP的请求报文发往LVS 在前端网关做静态绑定VIP和Director MAC地址
    在RS上使用arptables工具
  arptables -A IN -d $VIP -j DROP
  arptables -A OUT -s $VIP -j mangle --mangle-ip-s $RIP

在RS上修改内核参数以限制ARP通告及应答级别

  /proc/sys/net/ipv4/conf/all/arp_ignore
  /proc/sys/net/ipv4/conf/all/arp_announce
  • RS和LVS要在同一个物理网络
  • 请求报文要经由LVS,但响应报文不经由LVS,而由RS直接发往Client
  • 不支持端口映射(端口不能修改)
  • 无需开启 ip_forward

LVS的TUN模式

LVS-TUN
LVS-TUN

不修改请求报文的IP首部(源IP为CIP,目标IP为VIP),而在原IP报文之外再封装一个IP首部(源IP是DIP,目标IP是RIP),将报文发往挑选出的目标RS。RS收到请求后直接响应给客户端(源IP是VIP,目标IP是CIP)。

TUN模式特点:

  • RIP和DIP可以不处于同一物理网络中,RS的网关一般不能指向DIP,且RIP可以和公网通信。也就是说集群节点可以跨互联网实现。DIP,VIP,RIP可以是公网地址。
  • RealServer的tun接口上需要配置VIP地址,以便接收director转发过来的数据包,以及作为响应的报文源IP
  • Director转发给RealServer时需要借助隧道,隧道外层的IP头部的源IP是DIP,目标IP是RIP,而RealServer响应给客户端的IP头部是根据隧道内层的IP头分析得到的,源IP是VIP,目标IP是CIP。
  • 请求报文要经由Director,但响应不经由Director,响应由RealServer自己完成
  • 不支持端口映射

LVS工作模式总结和比较

NATTUNDR
Real ServeranyTunnelingNon-arp device
Real server networkprivateLAN/WANLAN
Real server numberlow(10~20)High (100)High (100)
Real server gatewayLoad Balancerrouterrouter
优点端口转换WAN性能最好
缺点性能瓶颈要求RS支持隧道功能,不支持端口转换不支持跨网段和端口转换

未经允许不得转载:青蛙主机 » LVS的几种工作模式的区别

VPS相关常用工具

PING测试工具自用毛子接码站