LVS 四种工作模式简介

LVS 简介

lvs:Linux virtual server,也就是linux虚拟服务器,LVS由用户空间的ipvsadm和内核空间的IPVS组成,ipvsadm用来定义规则,IPVS利用ipvsadm定义的规则工作,目前LVS已经是Linux标准内核的一部分,linux 2.4内核之后已经内置lvs的各个功能模块,可以直接使用。

LVS 特点

通过LVS提供的负载均衡技术和Linux操作系统实现一个高性能、高可用的服务器集群,它具有良好可好行、可扩展性和可操作性。从而以低廉的成本实现最优的服务性能。

  • 高并发连接:LVS基于内核网络层面工作,有超强的承载能里和并发处理能力,由单台LVS负载均衡器,可支持上万并发连接。
  • 稳定性强:是工作在网络4层之上仅作为分发之用,这个特点也决定了它在负载均衡软件里面的性能最强,稳定性最好,对内存和CPU资源消耗极低。
  • 成本低廉:硬件负载大几万 费钱;lvs只需要一台服务器就可以部署了 废人。
  • 配置简单:LVS配置简单,几行命令即可完成配置,也可以写成脚本进行管理。
  • 支持多种算法:可以根据业务场景灵活配置进行使用
  • 应用范围广:因为LVS工作在4层,可以对所有应用进行负载均衡,UDP,TCP都可以
  • 缺点:工作在4层,不支持7层规则修改,机制过于庞大,不适合小规模应用。

1.四种工作模式

  • dr:直连路由模式
  • tun:隧道模式
  • nat:路由转发模式
  • fullnat模式

性能比较:DR>TUN>NAT>FULLNAT

2.LVS相关术语

  • DS:Director Server 指的是前端负载均衡器节点
  • RS:Real Server 后端真实工作的服务
  • VIP: 外部 直接面向用户请求,作为用户请求得目标的IP地址
  • DIP:Director Server IP,主要用于内部主机通讯的IP地址
  • RIP:Real Server IP,后端服务器的IP地址
  • CIP:Client IP,访问客户端的IP地址

3.详细介绍

1.DR:直连路由模式

  • 客户端i请求由LVS接受,由真实提供服务服务器RS直接返回给用户,返回的时候不经过LVS。

    DR 模式下需要LVS和绑定同一个VIP(RS通过将VIP绑定在loopback实现)。

  • 一个请求过来时,LVS只需要将网络帧的MAC地址修改为某一台RS的MAC,改包就会被转发到对应的RS处理,注意此时的源IP和目标IP都没有变,LVS只是做了移花接木。

  • RS收到LVS转发来的包,链路层发现MAC是自己的,到上面的网络层,发现IP也是自己的,于是这个包被合法的接受,RS感知不到前面有LVS的存在

  • 当RS返回响应时,只要直接向源IP返回即可,不需要再经过LVS。

2. TUN:隧道模式

  • 客户端将访问VIP包问发送给LVS服务器
  • LVS服务器将请求报文重新封装,发送给后端真实服务器
  • 后端真实服务器将请求包问解封,在确认自身有VIP之后进行请求处理
  • 后端真实服务器在处理完数据i请求后,直接相应客户端

注意:

  • TUNNEL 必须在左右的RS上绑定VIP
  • RS 直接把包发给client
  • 隧道模式运维起来比较难,一般不用
  • RIP,DIP,VIP全都是公网地址

3. NAT模式:路由转发模式

  • nat network address translation 是一种外网和内网地址映射的即使

  • 多目标的DNAT转换,它公国修改请求报文的目标IP地址,同时可能会修改目标的端口,挑选出某Real Server的RIP地址实现转发。在LVS负载均衡调度器上请求先发送给PREROUTING--->INPUT,然后经由监听在INPUT上的LVS程序强制将请求转发给POSTROUTING。

  • NAT 模式下,网络包的进出都要经过LVS处理,LVS需要作为RS的网关。

    当包达到LVS时,LVS做目标地址转换(DNAT),将目标IP改为RS的IP,RS接收到包以后,仿佛时客户端直接发给他的一样。

    RS处理完,返回相应时,源IP时RS IP,目标IP时客户端的IP。

    这时RS的包通过网关(LVS)中转,LVS会做源地址转换(SNAT),将包的源地址改为VIP,这样,这个包对客户端看起来就仿佛是LVS直接返回给他的。客户端无法感知到后端RS的存在

注意

  • RS的RIP和Director的DIP必须在同一IP网络
  • RS和DIP应该使用死亡地址,且RD的网关要指向DIP
  • 真实服务器的网关必须设置为LVS的IP地址

4.FULLNAT模式

  • 无论是DR还是NAT模式,不可避免的都有一个问题:LVS和RS必须在同一个VLAN下,否则LVS无法作为RS的网关。
  • FULLNAT相比NAT主要改进的是,在SNAT/DNAT的基础上,加上另一种转换
    • 在包从LVS转到RS的过程中,源地址从和护短IP被替换成了LVS的内网IP。
    • 内网IP之间可以公国多个交换机跨vlan通信。
    • 当RS处理完接收到的包,返回时,会将这个包返回给LVS的内网IP,这一步也不受限与VLAN。
    • LVS收到包后,在NAT模式修改源地址的基础上,再把RS发来的包中的目标地址从LVS内网IP改为客户端的IP。
  • FULLNAT 主要思想是把网关和其下机器的通信,改为了普通的网络通信,从而解决了跨VLAN的问题,采用这种方式,LVS和RS的部署在VLAN上不在有任何限制,大大提高了运维部署的便利性。

fullnat模式和nat模式相似,但是与nat不同的是nat模式只做了两次地址转换,fullnat模式却做了四次。

上一篇:【集群】图解 LVS-NAT工作原理


下一篇:域名到站点的负载均衡技术一览