设为首页 收藏本站
查看: 1036|回复: 0

[经验分享] LVS负载均衡技术介绍

[复制链接]
累计签到:2 天
连续签到:1 天
发表于 2019-1-6 07:52:57 | 显示全部楼层 |阅读模式
  一、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.不支持端口映射。
  

     





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-659812-1-1.html 上篇帖子: LVS_Client 配置脚本 下篇帖子: LB负载均衡集群之LVS(DR)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表