快速了解LVS负载均衡群集原理(群集分类与工作模式分析与区别)

前言

一:负载均衡群集原理

1.1:企业群集应用概述

  • 群集的含义

    • Cluster,群集,集群
    • 由多台主机构成,但对外只表现为一个整体
  • 在互联网应用中,随着站点对硬件性能、响应速度、服务稳定性、数据可靠性等要求越来越高,单台服务器力不从心

  • 解决方法

    • 使用价格昂贵的小型机、大型机
    • 使用普通服务器构建服务群集
  • 阿里云中的SLB是典型的负载均衡调度器,ECS是云主机(虚拟机)

    SLB调度ECS,多个ECS组成资源池,构成云计算的基础

1.2:企业群集分类

  • 根据群集所针对的目标差异,可分为三种类型
    • 负载均衡群集
    • 高可用群集
    • 高性能运算群集
1.2.1:负载均衡群集(Load Balance Cluster)
  • 以提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标,获得高并发、高负载(LB)的整体性能
  • LB的负载分配依赖于主节点的分流算法,分流算法即调度
1.2.2:高可用群集(High Availability Cluster)
  • 以提高应用系统的可靠性、尽可能地减少中断时间为目标,确保服务的连续性,达到高可用(HA)的容错效果
  • HA的工作方式包括双工和主从两种模式
    • 双工,两个平级状态的协同工作,随时顶替对方
    • 带有主从模式的,一台主,多台从,称为中心化群集
    • 去中心化机制:没有真正的主,如果有,也是象征意义的,所有节点都干活(Redis的群集就是典型去中心化机制)
1.2.3:高性能运算群集(High Performance Computer Cluster)
  • 以提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标,获得相当于大型、超级计算机的高性能运算(HPC)能力
  • 高性能运算群集的髙性能依赖于“分布式运算″、“并行计算”,通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起,实现只有大型、超级计算机才具备的计算能力

1.3:负载均衡群集工作模式分析

  • 负载均衡群集是目前企业用得最多的群集类型
  • 群集的负载调度技术有三种工作模式
    • 地址转换
    • IP隧道
    • 直接路由(DR)
1.3.1:NAT模式
  • 地址转换(Network Address Translation)
    • 简称NAT模式,类似于防火墙的私有网络结构,负载调度器作为所有服务器节点的网关,即作为客户机的访问入口,也是各节点回应客户机的访问出口
    • 服务器节点使用私有IP地址,与负载调度器位于同一个物理网络,安全性要优于其他两种方式
  • mark
1.3.2:TUN模式
  • IP隧道(IP Tunnel)
    • 简称TUN模式,采用开放式的网络结构,负载调度器仅作为客户机的访问入口,各节点通过各自的 Internet连接直接回应客户机,而不再经过负载调度器
    • 服务器节点分散在互联网中的不同位置,具有独立的公网IP地址,通过专用IP隧道与负载调度器相互通信
  • mark
1.3.3:DR模式
  • 直接路由(Direct Routing)

    • 简称DR模式,采用半开放式的网络结构,与TUN模式的结构类似,但各节点并不是分散在各地,而是与调度器位于同一个物理网络
    • 负载调度器与各节点服务器通过本地网络连接,不需要建立专用的IP隧道
  • mark

1.3.4:三种工作模式的区别
工作模式区别 NAT模式 TUN模式 DR模式
Real server(节点服务器)
Server number(节点数量) Low 10-20 High 100 High 100
真实网关 负载调度器 自有路由器 自由路由器
IP地址 公网+私网 公网 私网
优点 安全性高 Wan环境加密数据 性能最高
缺点 效率低,压力大 需要隧道支持 不能跨越LAN

二:群集架构与虚拟服务器

2.1:负载均衡群集的架构

  • 负载均衡的架构
    • 第一层,负载调度器(Load Balancer或Director)
    • 第二层,服务器池(Server Pool)
    • 第三层,共享存储(Share Storage)
    • mark

2.2:LVS虚拟服务器概述

  • Linux Virtual Server

    • 针对 Linux内核的负载均衡解决方案

      扫描二维码关注公众号,回复: 9284660 查看本文章
    • 1998年5月,由我国的章文嵩博士创建

    • [root@localhost~]# modprobe ip_vs   '//确认内核对LVS的支持'
      [root@localhost~]# cat /proc/net/ip_vs
      
  • LVS的负载调度算法

    • 轮询(Round Robin)
      • 将收到的访问请求按照顺序轮流分配给群集中的各节点(真实服务器),均等地对待每一台服务器,而不管服务器实际的连接数和系统负载
    • 加权轮询(Weighted Round Robin)
      • 根据真实服务器的处理能力轮流分配收到的访问请求,调度器可以自动查询各节点的负载情况,并动态调整其权重
      • 保证处理能力强的服务器承担更多的访问流量
    • 最少连接(Least Connections)
      • 根据真实服务器已建立的连接数进行分配,将收到的访问请求优先分配给连接数最少的节点
    • 加权最少连接(Weighted Least Connections)
      • 在服务器节点的性能差异较大的情况下,可以为真实服务器自动调整权重
      • 权重较高的节点将承担更大比例的活动连接负载

2.3:LVS群集创建与管理工具

  • 使用ipvsadm工具
    • 创建虚拟服务器
    • 添加,删除服务器节点
    • 查看群集及节点情况
    • 报错负载分配策略
发布了126 篇原创文章 · 获赞 62 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/CN_TangZheng/article/details/103970776