zoukankan      html  css  js  c++  java
  • 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时表示暂停
      
    • 查看集群节点状态

  • 相关阅读:
    Celery
    MongoDB-简介
    人工智障
    Flask-session,WTForms,POOL,Websocket通讯原理 -握手,加密解密过程
    web-socket
    flask基础2
    flask的基础1
    项目部署
    nginx简单学习
    redis的安装与配置
  • 原文地址:https://www.cnblogs.com/wml3030/p/15369267.html
Copyright © 2011-2022 走看看