linux LVS负载均衡集群

摘要:高并发时需要高性能的服务器,集群可以很好的增加服务器的性能,完成高并发的处理。

 目录

一、集群概念

二、集群应用场景

三、集群分类

四、负载均衡集群架构

五、集群工作模式

六、LVS虚拟服务器

七、LVS负载调度算法

八、总结

 

 

 

 

 

一、集群概念

    1.集群概念

        多台主机构成一个整体,每个主机有自己的配置,对外以一个主机展示只提供一个访问入口。有高可用性,安全性,正常访问时其中的一台为主服务器,其他为备服务器,当主出现问题,备服务器直接抢占主服务器。

      2.集群原因

        问题:时代发展,服务器需要更高的性能,需要多cpu,内存,安全性,响应速度,服务器稳定性,现在单个服务器无法满足需求。

        解决方案:(1)添加需要的设备,例如:缺cup,加cpu。

             (2)购买性能强的主机。

        总结:性能需求越来越大,解决方法成本过高,需要集群方法。

      

二、集群应用场景

    1.应用场景

        (1)当高并发时,服务器需要高性能,此时集群可以胜任。

        (2)企业中保持数据安全性,有集群时可以保证服务不会停止,主服务器出现问题,备服务器可以直接顶上。

      

三、集群分类

    1.集群分类

      (1)负载均衡器(F5硬件负载均衡,SLB软件负载均衡)

      (2)高可用(VRRP,解决单点故障)

      (3)高性能(分布式)

 

 

四、负载均衡集群架构

    1.集群架构

      (1)负载调度器(nginx)

      (2)服务器池(后端服务器)

      (3)共享存储(数据)

 

五、集群工作模式

  1.集群工作模式

    (1)地址转化(NAT)  

      客户端访问服务器,到负载调度器,分配给服务器,服务器再原路返回。

      缺点:客户端到负载调度器只有一个通道,速度慢。

 

  

    (2)IP隧道(TUN)

      客户端访问服务器,通过负载调度器,到服务器,服务器返回直接通过IP直接返回客户端。

      缺点:每个服务器都要有一个公网地址。

 

 

    (3)直接路由(DR)

      客户端访问服务器,通过调度器访问,但是返回时不通过调度器,直接用路由器返回。

六、LVS虚拟服务器

    1.lvs作用

       (1)主要用于多服务器的负载均衡

       (2)工作在网络层,可实现高性能 高可用的服务集群技术

       (3)廉价,可把许多低性能的服务器组合在一起形成一个超级服务器

       (4)易用,配置简单 有多重负载均衡的方法5稳定可靠,即使在集群的服务器中某台服务器无法正常工作,也不影响整体效果
            可扩展性好

    2.lvs和nginx的比较

       (1)Ivs比nginx具有更强的抗负载能力,性能高 对内存和CPU资源消耗低

       (2) IVS工作在网络层,网络依懒性大,稳定性高。nginx安装配置较简单,网络性依赖小

       (3) IVS不支持正则匹配处理,无法实现动静分离效果 nqinx可实现这方面的功能

       (4)LVS适用的协议范围广。nginx仅支持HTTP、HTTPS EMail协议 使用于范围小

    3.lvs组成

      (1)LVS 是基于内核态的netfilter框架实现的IPVS功能,工作在内核态用户配置VIP等相关详细信息并传递到IPVS 就需要用到ipvsadm工具

      (2)ipvsadm: ipvsadm 是lvs用户态的配套工具,可以实现VIP和RS的增删改查IPvsadm 就是类似iptables工具的地位

七、LVS负载调度算法

    1.固定调度算法

        (1) rr:轮询算法,将请求依次分配给不同的rs节点,即RS节点中均摊分配。适合于RS所有节点处理性能接近的情况。

        (2) wrr:加权轮训调度,依据不同RS的权值分配任务。权值较高的RS将优先获得任务,并且分配到的连接数将比权值低的RS更多。

          相同权值的RS得到相同数目的连接数。
        (3) dh:目的地址哈希调度以目的地址为关键字查找一个静态hash表来获得所需RS。
        (4) sh:源地址哈希调度以源地址为关键字查找一个静态hash表来获得需要的RS。

 

    2.动态调度算法

         (1) wlc:加权最小连接数调度,假设各台RS的权值依次为Wi,当前tcp连接数依次为Ti,依次去Ti/Wi为最小的RS作为下一个分配的RS。

        (2) lc:最小连接数调度,IPVS表存储了所有活动的连接。LB会比较将连接请求发送到当前连接最少的RS。
        (3) lblc:基于地址的最小连接数调度:将来自同一个目的地址的请求分配给同一台RS,

          此时这台服务器是尚未满负荷的。否则就将这个请求分配给连接数最小的RS,并以它作为下一次分配的首先考虑。

 

 

 八、LVM实验

    1.nat模式

      客户端:10.0.0.

 

     修改客户端的网关为:10.0.0.1

     部署共享存储(NFS服务器:192.168.140.111)

     关闭防火墙和安全机制

     安装nfs-utils rpcbind程序

     启动服务

     创建文件,赋权

     配置共享文件主配置文件

   发布共享

     2、配置节点服务器(后端服务器)

      web1:192.168.140.222

        安装http服务

        开启http服务

         安装nfs-utils rpcbind程序

         检查共享文件

    

 

    web2:192.168.140.223

         安装http

     

         开启服务

         安装nfs-utils rpcbind程序

           启动服务

         检查共享文件

      

 

  web1:192.168.140.222

    挂载共享文件

 

     创建文件

     

 

    web2:192.168.140.223

      挂载共享文件

     创建文件

  

  配置负载调度器LVS(ens33:192.168.140.19 ens37:10.0.0.1) 

    添加ens37

     配置ens37 10.0.0.1

     配置SNAT转发规则

 

     

     清空规则

     创建规则

   加载LVS内核模块  

   安装ipvsadm管理工具

       配置lvm,负载配置器

       配置负载调度

     启动服务

     保存配置

   每个服务器的dns注释

    网页验证

 

 总结:web服务器的网关必须是调度器的IP地址,否则回不来,ipvsadm 只能看到数字跳动,而不涨,调度器的IP最好是客户端的网关。

    2.DR模式

     1.配置负载调度器(192.168.140.224)   

      手动刷新

       安装ipvsadm

         (1)配置虚拟 IP 地址(VIP:192.168.140.225) 

           配置VIP

 

           检查虚拟网卡

     调整 proc 响应参数

    由于 LVS 负载调度器和各节点需要共用 VIP 地址,需要关闭 icmp 的重定向,不充当路由器。

  

 

     立即刷新

     配置负载分配策略

 

   

   2.部署共享存储(NFS服务器:192.168.140.111)

   3.配置节点服务器(192.168.140.222、192.168.140.223)  

    关闭防火墙和安全机制

     配置虚拟 IP 地址(VIP:192.168.10.180)

    此地址仅用作发送 Web响应数据包的源地址,并不需要监听客户机的访问请求(改由调度器监听并分发)。因此使用虚接口 lo∶0 来承载 VIP 地址,并为本机添加一条路由记录,将访问 VIP 的数据限制在本地,以避免通信紊乱。

    

 

 

 

 

 

   

 

   调整内核的 ARP 响应参数以阻止更新 VIP 的 MAC 地址,避免发生冲突

     刷新一下

     安装httpd

      启动服务

     服务器1:192.168.140.222

       添加index文件

      服务器2:192.168.140.223

   网页验证

    

 

 八、总结

    LVS是企业中很好的优化,当高并发来临时,lvs可以很好的面对高并发。服务多,安全性也要随之提高,lvs里采用负载均衡反向代理,所以安全性非常高。负载均衡器和服务器组成一个整体,对外只有一个端口和IP,是所谓的VIP,所有的服务器使用共同的存储器,所以当其中的服务器出现问题,其他服务器可以快速顶上,数据不会丢失。

posted @ 2023-07-05 16:42  纸签  阅读(66)  评论(0编辑  收藏  举报