LVS负载均衡技术介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LVS负载均衡技术介绍相关的知识,希望对你有一定的参考价值。

一、LVS集群介绍

 LVS集群采用IP负载均衡技术和基于内容请求分发技术,因为所有的操作都是在Linux操作系统核心空间中将完成的,它的调度开销很小,所以调度器具有很好的吞吐率,将请求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服 务器的故障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器。整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器端的程序,实现模式主要有:VS/NAT模式,VS/TUN模式(IP隧道模式),VS/DR模式(直接路由模式)。


二、LVS负载均衡方式

  1、LVS-NAT 

   LVS-NAT模式应用了NAT这一特性,将内部的一组服务器映射到一个虚拟的IP上,然后以虚拟服务节点的身份对外提供服务。由于客户端请求和响应都必须经过Director Server,所以Director容易成为集群的瓶颈,这也使得LVS-NAT模式支持的集群数较少。

技术分享

lvs-nat拓扑图

    

    配置好网络环境并在Real server上安装web服务,在Directory server上进行如下操作:

    

    ]# echo "1" > /proc/sys/net/ipv4/ip_forward  #打开路由转发功能

    ]# ipvsadm -A -t 192.168.1.106:80 -s rr

    ]# ipvsadm -a -t 192.168.1.106:80 -r 192.168.10.3:80 -m

    ]# ipvsadm -a -t 192.168.1.106:80 -r 192.168.10.2:80 -m



  2、LVS-DR

    工作原理:Director根据不同的调度算法,选取一个Real Server,不修改也不封装IP报文,而是将数据帧的MAC地址改为选出服务器的MAC地址,再将修改后的数据帧在与服务器组的局域网上发送。因为数据帧的MAC地址是选出的服务器,所以服务器肯定可以收到这个数据帧,从中可以获得该IP报文。当服务器发现 报文的目标地址VIP是在本地的网络设备上,服务器处理这个报文,然后根据路由表将响应报文直接返回给客户。

     LVS-DR模式下Real Server和Director必须在同一物理网络。

技术分享

lvs-dr模式拓扑图

    Director Server上配置:

     ~]# ifconfig eth2:0 192.168.145.200 netmask 255.255.255.255

     ~]# route add -host 192.168.145.200 dev eth2:0

     ~]# ipvsadm -At 192.168.145.200:80 -s rr

     ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.203:80 -g

      ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.205:80 -g


     Real Server上由于设置了VIP,所以需要关闭arp广播功能,配置入下:

     ~]# ifconfig lo:0 192.168.145.200 netmask 255.255.255.255

     ~]# route add -host 192.168.145.200 dev lo:0

     ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

     ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce

    

    

  3、LVS-TUN

    采用NAT技术时,由于请求和响应报文都必须经过调度器地址重写,当客户请求越来越多时,调度器的处理能力将成为瓶颈。为了解决这个问题,调度器把请求报 文通过IP隧道转发至真实服务器,而真实服务器将响应直接返回给客户,所以调度器只处理请求报文,与LVS-DR不同的是LVS-TUN采用IP隧道技术,所以Real Server与Director可以在不同的物理网络。

    技术分享

lvs-tun拓扑图

    

    Director Server上配置:

     ~]# ifconfig tunl0 192.168.145.200 netmask 255.255.255.255 up

     ~]# route add -host 192.168.145.200 dev tunl0

     ~]# ipvsadm -At 192.168.145.200:80 -s rr

     ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.203:80 -i

      ~]# ipvsadm -at 192.168.145.200:80 -r 192.168.145.205:80 -i


     Real Server上由于设置了VIP,所以需要关闭arp广播功能,配置入下:

     ~]# ifconfig tunl0 192.168.145.200 netmask 255.255.255.255 up

     ~]# route add -host 192.168.145.200 dev tunl0

     ~]# echo "1" > /proc/sys/net/ipv4/conf/lo/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/lo/arp_announce

     ~]# echo "1" > /proc/sys/net/ipv4/conf/all/arp_ignore

     ~]# echo "2" > /proc/sys/net/ipv4/conf/all/arp_announce




三、三种模式优缺点

  NAT模式:

         优点:

                1.支持端口映射。

                2.Real Server可以使用任意的OS。

                3.只需要一个公网IP

         缺点:

                1.请求和响应报文都要经由director转发,director容易成为系统瓶颈。

                2.director和real server必须在同一网段。


    DR模式:

        优点:

            1.请求报文经由Director调度,但响应报文一定不能经由Director。

            2.Real Server地址可以使用私有地址;但也可以使用公网地址。

        缺点:

            1.Real Server和Director必须在同一物理网络中。

            2.不支持端口映射。


    TUN模式:

        优点:

            1.Real Server和Director可以在不同的物理网络中。

            2.请求报文经由Director调度,但响应报文一定不能经由Director。

        缺点:

            1.负载调度器、真实服务器必须支持隧道协议的网卡。

            2.需要多个公网IP。

            3.建立IP隧道需要额外开销。

            4.不支持端口映射。

        

    

本文出自 “JC” 博客,请务必保留此出处http://jackeychen.blog.51cto.com/7354471/1759561

以上是关于LVS负载均衡技术介绍的主要内容,如果未能解决你的问题,请参考以下文章

负载均衡介绍LVS介绍算法介绍LVS_NAT负载均衡模式配置

六十负载均衡集群介绍LVS介绍LVS的调度算法LVS NAT模式搭建

分布式技术专题「LVS负载均衡」全面透析Web基础架构负载均衡LVS机制的原理分析指南

LVS:三种负载均衡方式比较+另三种负载均衡方式

lvs负载均衡

负载均衡(集群介绍,lvs介绍,LVS调度算法,NAT模式搭建)