今天与同事讨论了什么是冷备、什么是热备,顺便整理一下。

根据IBM社区的一篇文章,集群(Clustering)是为了达成高可用,而在软件、硬件和数据上引入了冗余。根据在软件上的不同冗余程度,可以分为几种:

  • 冷备(Code Standby)
    • 备份点平时不启动(甚至可以在主节点首次故障时才进行部署),当主节点故障时,需要先恢复备份点的数据,再启动备份组件。
    • 主备节点间按需进行数据同步。
    • 主备切换时间通常是几个小时。
  • 温备(Warm Standby)
    • 备份点提前部署好,但备份组件平时不启动。当主节点故障时,启动备份节点上的备份组件。
    • 切换过程通常由集群软件自动执行。
    • 数据定期在主备节点间通过复制或共享盘进行同步。
    • 主备切换时间通常是几分钟。
  • 冷备(Hot Standby)
    • 备份点提前部署好。备份组件启动但不处理数据或请求。
    • 数据几乎实时镜像到备份点,主备系统将有一致的数据。
    • 通常通过软件机制进行主备数据同步。
    • 主备切换时间通常是几秒钟。
  • 多活(Active-Active)负载均衡(Load Balanced)
    • 主备节点同时并行处理请求。
    • 通过软件机制进行主备数据同步。
    • 数据双向同步。
    • 主备切换即时完成。

综合以上几种模式,区别主要在于备份节点、备份组件是否启动、是否提供服务,主备数据同步如何进行、数据落差有多大。体现出来的效果就是主备切换时间从几个小时到几分钟到几秒再到即时。

不同高可用级别之间效果不同,要付出的代价当然也是不同的,需要在系统的要求、所需的技术和要付出的成本进行权衡。

Comments