Date: 11月 9, 2022
解释切换、故障转移和恢复之间微妙但关键的区别
高可用性是一个专长,与大多数专长一样,它有自己的词汇和术语。 我们的客户通常对 IT 非常了解,但如果他们没有在 HA 环境中工作,我们的一些常见 HA 术语可能会给他们和我们造成相当大的混乱。 它们听起来很简单,但在 HA 的上下文中具有非常具体的含义。这里讨论了其中三个术语——切换、故障转移和恢复。
什么是切换?
切换是一种用户发起的通过行动高可用性(HA) 集群解决方案用户界面或 CLI。 在切换中,用户手动启动更改受保护应用程序的源或主服务器的操作。 在典型的切换场景中,所有正在运行的应用程序和依赖项都按顺序停止,从父应用程序开始,到所有子/依赖项都停止时结束。 一旦应用程序及其依赖关系停止,它们就会在新指定的主服务器或源服务器上以有序的方式重新启动。
例如,如果您有资源 Alpha、Beta 和 Gamma。 资源 Alpha 取决于资源 Beta 和 Gamma。 资源 Beta 取决于资源 Gamma。在切换事件中,首先停止资源 Alpha,然后是 Beta,最后是 Gamma。一旦所有三个都停止,切换将继续使资源在预期服务器上进入操作状态。该过程从资源 Gamma 开始,然后是 Beta,最后是资源 Alpha 的启动操作完成。传统上,切换操作需要更多时间,因为必须以优雅有序的方式停止资源。 当需要更新软件版本同时保持正常运行时间、在主要生产节点上执行维护工作(通过滚动升级)或进行 DR 测试时,通常会执行切换。
关键要点:如果没有失败导致该动作,那么它是一个切换
什么是故障转移?
故障转移操作通常是响应服务器崩溃或意外/计划外重新启动的非用户启动操作。 考虑具有两个节点(节点 A 和节点 B)的 HA 集群的场景。在这种情况下,所有关键应用程序 Alpha、Beta 和 Gamma 都在节点 A 上启动并运行。 在这种情况下,当节点 A 遇到意外/计划外的重新启动、断电、停止或恐慌时,就会发生故障转移。 一旦 HA 软件检测到节点 A 在集群中不再正常运行并且在操作上可用(由解决方案定义),它将触发故障转移操作以恢复对可用集群节点上的关键应用程序、资源、服务和依赖项的访问, 在这种情况下是节点 B。在故障转移场景中,由于节点 A 经历了崩溃(或其他模拟的即时故障),因此节点 A 上没有进程可以停止,因此一旦处理了适当的检测和隔离操作,节点 B 将立即开始恢复过程资源。 与切换情况一样,该过程从资源 Gamma 开始,然后是 Beta,最后是资源 Alpha 的启动操作完成。 传统上,故障转移操作比切换需要的时间更少。 这是因为处理一个故障转移不需要在前一个主(运行中或活动)节点上停止(或静默)任何资源。
关键要点:发生故障转移以响应系统故障。
什么是恢复?
恢复事件很容易与故障转移混淆。 当进程、服务器、通信路径、磁盘甚至集群资源发生故障并且高可用性软件响应于识别的故障而运行时,就会发生恢复事件。 大多数 HA 软件解决方案能够以多种方式处理恢复事件。 最突出的方法包括:
- 在本地优雅重启,然后在远程优雅重启
- 总是在本地尝试重新启动,如果恢复成功,则不会发生进一步的操作。 如果本地重新启动失败,则会发生下一个操作
- 如果本地重启失败,资源会优雅地移动到远程节点
- 在本地优雅重启,然后在远程强制重启
- 总是在本地尝试重新启动,如果恢复成功,则不会发生进一步的操作。如果本地重新启动失败,则会发生下一个操作。
- 通过隔离主节点将资源移动到远程节点
- 远程强制重启
- 从不在本地尝试重新启动
- 如方法 2b 中所述,资源总是被强制到下一个可用的集群节点。
- 强制服务器重启,没有远程故障转移
- 总是在本地尝试重新启动
- 如果本地重启失败,则重启主节点以尝试恢复服务。
- 资源不会失败到远程系统
- 基于策略的本地重启,然后远程
- 策略可以控制远程尝试恢复之前的重试次数
由于恢复策略的多种变化,很容易看到类似于切换行为的恢复事件。 在方法 1 和 5 中经常出现这种情况。 在这些场景中,应用程序和服务在远程节点上启动之前以有序的方式优雅地停止。 方法 2 和 3,客户经常会看到类似于故障转移的行为。 在方法 2 和 3 中,主服务器由 HA 软件重新启动或隔离,这会创建类似于故障转移的可观察行为。方法 4 通常是一个很少使用的选项,但它混合了切换和故障转移。方法 4 从正常停止应用程序和服务开始,然后重新启动应用程序和服务(很像切换)。 但是,如果应用程序和服务的本地重新启动失败,系统将重新启动(很像故障转移),但实际上不会失败到远程集群节点。 虽然很少见,但通常在存在不平衡集群的情况下调用方法 4,或者与基于策略的方法一起使用。
关键要点:恢复事件取决于选择的方法 供应商之间的 HA 术语是一个常见术语可以具有不同含义的领域。 当您使用企业应用程序部署和维护集群解决方案时,请确保您了解解决方案提供商关于故障转移、切换和恢复的条款。而且,当你在做的时候,确保你知道餐厅会把酱汁放在一边(放在碟子里),还是放在一边(你的土豆泥) 经许可转载西欧