超融合云平台之高可用技术

超融合云平台之高可用技术

2021-07-17 17:29:18
硬件高可用
  • 每台服务器使用双电源,接入两路交流电,保证在一路电源断电的情况下仍然能够正常工作。
  • 配合接入交换机,服务器各网络跨网卡交叉做bond来保证数据传输的高可靠性。
  • 不同的管理节点分开部署到不同的机柜,避免了机柜整体掉电平台管理无法使用的情况。
  • 使用两块磁盘构建RAID1来安装底层操作系统,一块磁盘损坏的情况下不影响系统整体运行。
  • 3节点起,任意一个节点出现物理损坏都不会影响客户业务正常运行。
管理节点高可用
  管理节点负责整个平台的资源管控、监控、调度、分配和回收,作为租户使用云平台的控制台。管理节点若出现宕机,管理服务将不可用,直接影响到平台的运维管理、监控报警、租户访问、自动化任务执行等,对平台或租户的运维工作产生较大影响。因此,需要采用高可用技术来保障平台的管理服务。
  超融合提供双管理节点高可用方案,在管理节点上运行一个HA进程,该进程负责整个管理节点环境的初始化、配置、运维、watchdog等功能。
  • HA进程提供系统配置功能,提供命令行接口,可以调用HA命令将系统配置成高可用环境。
  • HA进程负责监控MN节点上的关键服务(管理节点进程,UI进程,MySQL),当任何一个服务宕机时,立即通过keepalived触发VIP迁移,然后尝试恢复宕机服务。
  • HA进程对keepalived进程进行watchdog,确保该进程持续运行。
  • HA进程提供命令,打印出集群的健康信息。
  • 引入一个网关做仲裁,避免双节点的脑裂问题。
虚拟机高可用
      超融合将一组服务器主机合并为一个具有共享资源池的集群,并持续对集群内所有的服务器主机与虚拟机运行状况进行检测,一旦某台服务器发生故障,超融合会持续进行检测,确定此服务器宕机后,会立即在集群内另一台服务器上重启所有受影响的虚拟机,保证业务的连续性。超融合虚拟机高可用方案不需要专门的备用硬件,也不需要集成其他软件,就可以将停机时间和 IT 服务中断时间降到最低程度。同时避免单一操作系统或特定于应用程序的故障切换解决方案带来的成本和复杂性。

 虚拟机高可用设计如下:
  • 添加物理机时,在连接物理机的过程中,管理节点会通过 KVM agent 抓取物理机的所有IP地址。
  • 管理节点周期性的发送ping命令到物理机的agent。
  • ping命令发送失败,或物理机未在指定时间内响应ping命令,则认定物理机可能宕机,物理机探测器启动。
  • 当发现疑似宕机的物理机时,管理节点查找该物理机所在集群的主存储的存储网络IP。
  • 管理节点对疑似宕机物理机进行检测
(1)管理节点在指定时间内,使用存储网络IP周期性的使用nmap扫描物理机端口,如果某次扫描成功,则认为物理机仍然工作,不执行VM HA动作。
(2)管理节点通知集群内监控的物理机通过存储网络IP使用nmap扫描疑似宕机物理机。如果某次扫描成功,则认为该物理机仍然工作,不执行VM HA动作。
(3)如果上述检查全部失败,则认为物理机宕机,VM HA启动。管理节点会选择健康的物理机,启动宕机物理机上所有设置了高可用的VM。

存储高可用
  存储作为超融合的核心,一旦发生异常,将会影响整个超融合云平台的运行,产生大面积影响。超融合采用分布式存储,基于分布式存储多节点、多副本的能力,可以实现存储硬盘级别、节点级别、机柜和机房级别的高可用。

  ASDS企业级分布式存储基于Ceph分布式存储方案开发,并对Ceph做了配置优化以达到医院生产环境要求。用户可以通过超融合云平台使用云存储创建、删除、云主机挂载、云存储卸载、云存储查询、云存储QoS等服务。采用全分布式存储架构,整个存储系统没有单点故障,并且,通过系统的多副本技术,可以根据用户需要设置数据副本数量和复制策略,把数据同时存在于多台服务器、多个机架、多个数据中心中,最大限度提高数据容灾能力。

  Ceph由多个独立的x86服务器实现,所有节点是完全对称架构,无主次之分,可以在不停机的情况下动态增加/删除存储节点,实现存储容量和性能的动态扩展,“对称”意味着各节点可以完全对等,能极大地降低系统维护成本,且无单点故障。支持理论上无限水平扩展,支持PB级别的大规模存储。
ASDS企业级分布式存储支持用户数据按照设定的1-6副本进行冗余存储。如下图所示,以3个节点组成一个资源池,存储数据为两副本的简单模型为例,任意1个节点上的主副本数据,其备副本数据会均匀分布在其他节点上,单点故障系统不会丢失数据。

两副本场景下,在一个资源池内,出现一个节点或一块磁盘故障,整个系统不会丢失数据,不影响业务正常使用。
三副本场景下,在一个资源池内,出现两个节点或两块磁盘同时故障,整个系统不会丢失数据,不影响业务正常使用。
  故障域指有共同单点故障的服务器(如同一个机架)组成,数据副本分布到不同故障域,保障数据安全。可以为机架、服务器、硬盘提供故障恢复能力。无论磁盘、服务器发生硬件故障,甚至整个机架出故障,也不会造成停机或数据丢失。下图每个机架设置成一个故障域,如果创建一个2副本存储池,则不同副本数据一定会自动化分放在不同的机架里,这样即使机架A出现故障,也不会停机或数据丢失。

  Ceph monitor采用Paxos选举算法,Paxos算法保证系统正常工作的前提是正常工作的节点数占整个节点数的半数以上。三个 Ceph monitor节点分别装在三个不同的节点上,允许1个节点宕机;如果Ceph的monitor节点超过半数宕机,Paxos算法就无法正常进行仲裁(quorum),此时,Ceph集群会阻塞对集群的操作,直到超过半数的monitor节点恢复。