首页 > 代码库 > 负载均衡之LVS集群

负载均衡之LVS集群

<style>h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px }</style>

LVS集群

一、负载均衡实现分类:

  (一)硬件:成本会很高

  • F5,BIG IP
  • Citrix,Netscaler
  • A10

   (二)软件:成本较低,实现快。

          四层(路由设备分发到不同设备):

               LVS

          七层:

               nginx(有限的七层协议)

                  实现:http,smtp,pop3,imap

               haproxy

                  实现:http,tcp(mysql,smtp)

四层负载均衡和七层负载均衡的不同:

        1、四层只辅助解析三层和四层协议,具体的内容它不会做处理。因不解析更高层协议性能会更好,但是高级特性没有(根据用户的特性来做负载均衡如:web服务器中请求的url)

        2、七层反向代理负载均衡设备,为某些特定的协议来提供的,因此它可以去精确的解剖它对应的协议,而且能在这个协议的基础上修改之后,向后做负载均衡的,所有在前端就可以实现处理。操作能力更强,但是性能略逊于四层。

       3、提供解决方案时,根据自己项目的要求和需求来制订方案。

二、LVS虚拟服务器

    1、概念:LVS是一台负载均衡设备。自己不提供服务,通过接受用户请求,然后转发给后端服务器。

 

                   技术分享

 

 

  2、LVS工作原理:

技术分享

 

解析:

                       技术分享

2.1、LVS的转发

         LVS集群设备的转发是通过用户访问自己的IP+端口来确认的,后方的服务器是需要监听来访问的端口的。

         比如:web服务是80和433,那么后方的服务器(A,B,C)都会监听这个两个端口的。

       (一)调度算法: 挑选一个后端服务器接收一个用户的新请求的计算机制。         

                计算机制:根据用户请求时的IP+端口,来判定是否转发及转发到什么地方。

技术分享     

2.1、LVS中3种类型(IP网络的转换):

整体过程:

技术分享

(一)LVS-NAT(地址转换,企业一般不会使用)

             技术分享

基本法则:

           1、(RIP)集群节点跟必须要跟DIP在同一IP网路中;

           2、RIP通常是私有地址,仅用于各集群节点间的通信;

           3、DIP位于CIP和RIP之间,并负责处理进出的所有通信;

           4、RIP必须把网关指向DIP;

           5、支持端口映射,并且VIP提供服务端口可以和RIP端口不同;

           6、RIP可以是任意OS;

            7、较大规模应用程序中,DIP易成为系统瓶颈。

(二)LVS-DR(直接路由)

 技术分享

基本法则:

    1、集群节点跟DIP必须在同一个物理网络中(一个或几个交换机);

             2、RIP地址可以是私有地址或是公网地址;

                  公网IP好处:如果VIP/DIP挂掉,CIP可以直接访问VIP/RIP。

             3、DIP仅负责处理入站请求,响应报文则由RIP直接发往客户端;

             4、集群节点RIP不能将网关指向DIP;

             5、不支持端口映射;

             6、RIP可以是大多数系统(必须对VIP进行隐藏);

              7、LVS-DR比LVS-NAT支持更多的RIP;       

(三)LVS-TUN(隧道)

技术分享

 

基本法则:

          1、集群节点可以跨越互联网;

          2、RIP必须是公网地址;

          3、DIP仅负责处理入站请求,响应报文则RIP直接发往客户端;

          4、RIP网管不能指向DIP;

          5、只有支持隧道功能的OS才能用于RIP;

          6、不支持端口映射;

三、LVS注意:

       1、iptables不能和LVS同用。

            因iptables分段实现:

               iptables写规则/netfilter检查规则来实现,LVS违反了iptales规则。

       2、LVS分段:

          ipvsadm:管理集群服务的命令行工具

          ipvs:内核(实现监控),在linux2.6后内核中已经有ipvs这个机制。

  

负载均衡之LVS集群