浅析故障转移
浅析故障转移
故障转移(failover),即当活动的服务或应用意外终止时,快速启用冗余或备用的服务器、系统、硬件或者网络接替它们工作。 故障转移(failover)与交换转移操作基本相同,只是故障转移通常是自动完成的,没有警告提醒手动完成,而交换转移需要手动进行。
对于要求高可用和高稳定性的服务器、系统或者网络,系统设计者通常会设计故障转移功能。
要使故障转移正常工作,必须有一个数据备份裸机服务器或虚拟机充当恢复站点系统,以便在发生故障时替换主站点。由于故障转移是灾难恢复中必不可少的步骤,因此数据备份系统本身必须不受故障影响。在服务器级别,自动故障转移通常使用一个“心跳”线连接两台服务器。只要主服务器与备用服务器间脉冲或“心跳”没有中断,备用服务器就不会启用。为了热切换和防止服务中断,也可能会有第三台服务器运行备用组件待命。当检测到主服务器“心跳”报警后,备用服务器会接管服务。有些系统有发送故障转移通知的功能。
有些系统故意设计为不能进行完全自动故障转移,而是需要管理员介入。这种“人工确认的自动故障转移”配置,当管理员确认进行故障转移后,整个过程将自动完成。
如何进行故障转移
有两种方法可以设置故障转移系统: 主动-主动 和 主动-被动(或主动-备用)配置。两种设置都需要至少两个节点(服务器或虚拟机)才能正常工作。
- 在主动-主动设置中,多个节点同时运行。这允许他们分担工作量并防止任何一个节点过载。如果一个节点停止工作,它的工作负载将被其他活动节点占用,直到它重新激活。
- 例如:Dubbo架构部署的分布式系统,当一个节点宕机之后,其流量会被分配到其他可用节点上。
- 主动-被动(主动-备用)设置还包括多个节点,但并非所有节点都同时处于活动状态。一旦主动节点停止工作,被动节点就会被激活并充当故障转移节点。当主节点再次运行时,数据备份节点将操作切换回主节点并再次变为被动状态。
- 例如:Zookeeper集群架构,Leader和Follow节点,当Leader节点宕机之后,会重新选取一个Follow节点接替Leader节点进行工作。
无论采用哪种故障转移方法,两种配置都要求每个节点具有相同的配置。这确保了在站点之间切换时的一致性和稳定性。
什么是故障恢复
故障恢复(failback)是将系统,组件,服务恢复到故障之前的组态。使用虚拟化允许故障转移操作减少对硬件的依赖。
虚拟化
在计算机技术中,虚拟化(技术)或虚拟技术(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源(CPU、内存、磁盘空间、网络适配器等),予以抽象、转换后呈现出来并可供分区、组合为一个或多个计算机配置环境。由此,打破实体结构间的不可切割的障碍,使用户可以比原本的配置更好的方式来应用这些计算机硬件资源。这些资源的新虚拟部分是不受现有资源的架设方式,地域或物理配置所限制。一般所指的虚拟化资源包括计算能力和数据存储。
故障恢复是在计划内或计划外中断解决后切换回主站点的过程。故障恢复通常在故障转移之后作为灾难恢复计划的一部分。
故障恢复不是完成故障转移的唯一方法。使用虚拟机时,您可以执行永久故障回复,使数据备份虚拟机成为新的主站点。
如何进行故障恢复
成功执行故障回复需要一些准备。在切换回主站点之前,请考虑以下步骤:
1、检查与主站点的连接的质量和网络带宽。
2、检查备份站点上的所有数据是否存在潜在错误。这对于关键文件和文档尤其重要。
3、在开始故障恢复之前彻底测试所有主系统。
4、准备并实施故障恢复计划,以最大限度地减少停机时间和用户不便。
参考文档: