lvs负载均衡集群

购买昂贵的大型机

整合多台廉价的普通服务来构建大型集群环境,以一个地址对外提供环境

概述:根据不同的需求提供不同的服务

类型

最少2+节点服务器,对外表现一个整体,即一个访问入口

  • 负载均衡集群:以提高服务器的整体性能,高并发,高负载。较依赖于主节点(条调度器/负载均衡器)的分流算法,将客户的请求分流到各个服务器节点

  • 高可用集群:提高服务的可靠性,减少中断时间,连续性,高可用 。工作模式主要使用主从服务器,当主坏掉时,从以最少的时间变成主。

  • sla服务水平协定一般为99.9

  • 高性能运算集群:提高应用系统的CPU运算速度,扩展硬件资源和分析能力。

负载均衡集群的分层介绍

lvs只能进行ip调动,与四层基本调动

  • 负载调度器:主调度器和备用调度器:是整个系统的唯一入口,对外使用公有的VIP地址
  • 服务器池:多个服务器组成
  • 共享存储:nas存储设备

LVS虚拟服务器

  • LVS是针对linux开发的一个负载均衡项目,默认编译为ip_vs模块
    yum -y install ipvsadm  #下载管理工具ipvsadm
    [root@localhost ~]# modprobe ip_vs  #加载ip_vs模块
    [root@localhost ~]# lsmod | grep ^ip_vs  #查看ip_vs模块
    ip_vs                 145497  0 
    [root@localhost ~]# cat /proc/net/ip_vs  #查看ip_vs版本信息
    IP Virtual Server version 1.2.1 (size=4096)
    Prot LocalAddress:Port Scheduler Flags
    -> RemoteAddress:Port Forward Weight ActiveConn   InActConn
    
    

LVS负载均衡的工作模式

关于集群可以根据ip,端口,等进行分发,其中基于ip的负载调度是效率最高的。常见的有地址装换(nat),ip隧道(tunnel),直接路由(DR),FULLNAT四种工作模式

  • nat模式:地址转换模式,负载调度器作为所有服务器节点的网关,即数据的进出都经过负载调度器,调度器压力大,安全性高

  • TUN模式:IP隧道,负载调度器仅作为客户机的访问入口,各节点通过各个的Internet连接直接回应客户机,数据的进入经过负载调度器,数据的输出由后端真实服务器返回,所有节点都需要接入互联网,配有公网ip ,负载调度器和后端服务器通过ip隧道进行连接,调度器压力小,安全性低,需要大量的支出。

  • DR模式:直接路由,采用半开放式网络结构,数据的进入经过负载调度器,数据的输出由后端真实服务器返回,负载调度器和真实服务器处于同一物理网络,调度器压力小,安全性低

以上三个模式,nat方式只需要一个公网ip地址,从而成为最易用的一种负载均衡模式,安全性比较高。

LVS的负载均衡调度算法

  • 轮叫调度(rr):调度器通过“轮叫”给服务器,平均对待每一台服务器,但是不一定有用

  • 加权轮叫(wrr):调度器通过“加权轮叫”给服务器,相当于weight,可以自动问询真实服务器的负载情况, 并动态的调整权值。

  • 最少链接(lc):调度器通过“最少链接”将链接最少的服务器调度。

  • 加权最少链接(wlc):根据系统负载能力来进行权重的对比

  • 基于局部性的最少链接(lblc):针对目标IP地址的负载均衡,找出最近对应的ip,若是服务器没有超载,则使用该服务器。

  • 带复制的局域局部最少链接(lblcr): 将lblc的一个对象,变为一组对象。

  • 目标地址散列(dh):根据请求的目标ip地址,作为散列项从静态分配的散列表找出对应服务器。

  • 原地址散列(sh):根据请求的源ip地址,作为散列项从静态分贝的散列表找出对应服务器。

使用ipvsadm管理工具

  • 概念:作为ip_vs模块来进行添加,删除服务节点,以及集群的运行

    [root@localhost ~]# rpm -q ipvsadm
    ipvsadm-1.27-7.el7.x86_64
    [root@localhost ~]# ipvsadm -v
    ipvsadm v1.27 2008/5/15 (compiled with popt and IPVS v1.2.1)
    
  • 创建虚拟服务器

    地址:192.168.200.10:80
    算法:rr,wrr,lc,wlc
    ipvsadm -A -t 192.168.200.10:80 -s rr
    -A:创建虚拟服务器
    -t:指定VIP地址端口
    -s:确认算法
    
  • 添加服务器节点

    添加四个节点:ip地址依次为192.168.200.11,12,13,14
    ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1
    ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1
    ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1
    ipvsadm -a -t 192.168.200.10:80 -r 192.168.200.11:80 -m -w 1
    -a:添加服务器
    -t:指定VIP地址端口
    -r:制定真实服务器(RIP)地址端口
    -m:表示使用NAT集群(-g:DR模式,-i:TUN模式)
    -w:设置权重,为0时表示暂停
    
  • 查看集群节点状态

原文地址:https://www.cnblogs.com/wml3030/p/15369267.html