1、LVS负载均衡

Linux Virtual Server项目的目标 :使用集群技术和Linux操作系统实现一个高性能、高可用的服务器,它具有很好的可伸缩性(Scalability)、可靠性(Reliability)和可管理性(Manageability)。

  lvs首先是基于tcp四层传输层协议,它根据请求报文的目标IP和PORT将其转发至后端主机集群中的某一台主机(根据挑选算法)
Linux服务器集群系统介绍

1.1、LVS组件

ipvsadm (定义集群服务写规则) /ipvs (工作于内核中INPUT链)
ipvsadm: 用户空间的命令行工具,用于管理集群服务(增删查改)
ipvs: 工作于内核中netfilter INPUT钩子上:

1.2、LVS集群的特点

LVS集群的特点可以归结如下:

功能
  有实现三种IP负载均衡技术和八种连接调度算法的IPVS软件。在IPVS内部实现上,采用了高效的Hash函数和垃圾回收机制,能正确处理所调度报文相 关的ICMP消息(有些商品化的系统反而不能)。虚拟服务的设置数目没有限制,每个虚拟服务有自己的服务器集。它支持持久的虚拟服务(如HTTP Cookie和HTTPS等需要该功能的支持),并提供详尽的统计数据,如连接的处理速率和报文的流量等。针对大规模拒绝服务(Deny of Service)***,实现了三种防卫策略。

适用性
  后端服务器可运行任何支持TCP/IP的操作系统,包括Linux,各种Unix(如FreeBSD、Sun Solaris、HP Unix等),Mac/OS和Windows NT/2000等。

负载调度器能够支持绝大多数的TCP和UDP协议:
lvs负载均衡_第1张图片

性能
  LVS服务器集群系统具有良好的伸缩性,可支持几百万个并发连接。配置100M网卡,采用VS/TUN或VS/DR调度技术,集群系统的吞吐量可高达1Gbits/s;如配置千兆网卡,则系统的最大吞吐量可接近10Gbits/s。

可靠性
  LVS服务器集群软件已经在很多大型的、关键性的站点得到很好的应用,所以它的可靠性在真实应用得到很好的证实。有很多调度器运行一年多,未作一次重启动。

软件许可证
  LVS集群软件是按GPL(GNU Public License)许可证发行的自由软件,这意味着你可以得到软件的源代码,有权对其进行修改,但必须保证你的修改也是以GPL方式发行。

2、lvs模式

三种: NAT,DR,TUN,下面将详细介绍它们的特点及工作原理
一个特别棒的LVS原理讲解

2.1、LVS NAT

1、工作原理

  当CIP发起一个连接,此时源IP为CIP,目标IP为VIP,VIP收到后交给DR,DR根据算法,算出最优的一台后端服务器, 这时会将客户端的请求地址变为RIP,由于报文的目标地址是自己,所以会响应该请求,并将响应报文返还给LVS,然后RS将目标地址修改为本地返回给客户端,这样DR同时处理两次很容易成为性能瓶颈。

2、特性
    1.RS 的应该使用私有地址
    2.RS 的网关必须指向 DIP
    3.RIP 和 DIP 必须在同一网段内
    4. 请求和响应的报文都得经过 Director ,在高负载场景中, Director 很可能成为性能瓶颈
    5. 支持端口映射

lvs负载均衡_第2张图片

2.2、LVS DR

1、工作原理

  当CIP发起一个连接,此时源IP为CIP,目标IP为VIP,VIP收到后交给DR,DR根据算法,算出最优的一台后端服务器(前面的与NAT是一样的), 不修改也不封闭IP报文,直接修改目标MAC地址,然后通过二层广播到RS服务器,RS服务器处理完之后,通过LO接口给eth0直接返回客户端,此时Lo接口Ip是DIP的IP地址

2、特性
    1.RS 可以使用私有地址,还可以使用公网地址,此时可以直接通过互联网连入 RS ,以实现配置、监控等
    2.RS 的网关一定不能指向 DIP
    3.RS 跟 Dirctory 要在同一物理网络内(不能有路由器分隔) dip 跟 rip 最好在同一网络内
    4.请求报文经过 Directory ,但响应报文一定不经过 Director
    5.不支持端口映射

lvs负载均衡_第3张图片

LVS TUN

1、工作原理

  采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报 文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文。由于一般网络服务应答比请求报文大许多,采用 VS/TUN技术后,集群系统的最大吞吐量可以提高10倍。

LVS 调度方式

    rr: 轮询
    wrr: 加权轮询
    lc: 最少连接
    wlc: 加权最少连接
    sh:源地址Hash
    dh:目标地址Hash

3、配置

3.1、LVS NAT

  特性:vip使用私有网段,网关指向DIP,同一个网段。

  lvs负载均衡_第4张图片