高可用的Linux集群 知识点

252 阅读3分钟

容器云运维实战 Docker 与 K8S集群 第二章内容

高可用集群

定义

  • 服务器集群是实现高可用的最流行方案之一
  • 负载均衡是核心的控制作用

标准

通过集群的`可靠性`(reliability)和`可维护性`(maintainability)来衡量标准
通常使用`平均无故障时间`(MTTF) 衡量可靠性
通常使用`平均维修时间`(MTTR) 衡量可维护性

HA衡量标准如下:

  • 99% 为一年宕机时间不超过4天
  • 99.9% 为一年宕机时间不超过10小时
  • 99.99% 为一年宕机时间不超过1小时
  • 99.999% 为一年宕机时间不超过6分钟

高可用四层架构

一般有四层

  1. 资源层(应用层)
    • 运行整个集群的业务应用以及各种对外服务
    • 不提供高可用 所有高可用以及负载均衡都依赖底层的支持
  2. 资源调度层(资源分配层) 主要实现资源的管理
    • 集群资源管理器(CRM)来实现资源的调度分配
    • 分布式集群中通过CRM维护一个资源信息库 作为监控的依据
    • 本地资源管理器(LRM) 用于获取节点本地某个资源的状态 实现本地资源的管理
    • 在主节点上 一般有两个引擎
      • 策略引擎 定义资源转移的策略
      • 转换引擎 执行策略引擎的转移
  3. 成员关系层
    • 集群高可用对于数据一致性要求高
    • 他负责监控底层架构的心跳信息
    • 当底层心跳信息发生变化的时候便会重新生成集群状态信息 上层依赖这些信息进行资源调度分配
  4. 架构层(信息层)
    • 这一层负责传递心跳信息集群事务信息等

常见高可用方案

共享存储

两种模式

  • 通过网络将数据在多台设备上存储
  • 通过直接附加存储 (DAS)

常用手段

  • 复制备份:RAID
  • 网络附加存储(NAS): NFS

GlusterFS

  • 开源的分布式文件系统
  • 使用单一全局命名空间
  • 支持横向扩展 可扩展至PB级别
  • 支持分布式存储 将不同的文件放在不同的存储节点上
  • 支持镜像存储 同一个文件放到两个以上的存储节点上
  • 支持分片存储 将一个文件划分为多个固定长度的数据 分散存放在所有的存储节点上

CephFS

  • 主要提供对象存储 块存储 文件系统
  • 高性能、易扩展、无单点故障

故障转移

  • 热插拔
  • 虚拟ip

负载均衡

  • 通过负载均衡来均衡掉压力
  • 使用负载工具以及DNS来实现跨地域高可用

分布集群

  • 最广泛的使用方案
  • 各个节点之间通过网络实现进程间通讯
  • 应用程序通过网络共享内存实现信息传送 实现分布式计算
  • 有交互 非交互两种模式
  • 交互模式的集群内部节点不对等 如主从的交换模式
  • 非交互模式各个节点对等独立
  • 集群内部最常见的机制就是心跳 复杂机制包括组播 广播
  • 高可用集群有三个特点
    • 高可用性
    • 分布式计算
    • 负载均衡