Date: 6月 27, 2026
高可用性和灾难恢复无处不在:从一般概念到解决方案生成
相关博客/背景阅读推荐
本博客假定读者已熟悉 LifeKeeper 资源层级框架和 LifeKeeper 集群。如需了解这些主题的背景知识,请参阅下方列出的博客。此外,本博客还基于之前一篇关于如何利用 LifeKeeper 中的“快速服务保护应用程序恢复工具包”(QSP ARK)来弥合潜在用例与支持的保护机制之间差距的博客(链接如下)。
- Linux集群/Windows 集群(本文由SIOS全球销售与市场营销副总裁霍格兰女士及SIOS市场营销团队撰写)
- 应用智能与高可用性(本文由SIOS公司IT高级系统工程师Hendricks-Sinke女士撰写)
- 资源行动和背景通用应用程序恢复工具包(本文由高级技术推广专家伯明翰先生撰写)
- 在 GenApp 和 QSP 之间进行选择:为您的关键应用程序量身定制高可用性(本文由 SIOS 的高级系统工程师 Hendricks-Sinke 女士撰写。)
然而,本博客将探讨当 QSP ARK 无法满足特定应用程序或用例的高可用性和灾难恢复需求时可用的选项。
快速回顾
本博客的前一部分本文探讨了如何思考应用程序,以便创建通用应用程序恢复工具包,从而利用 LifeKeeper 保护该应用程序。本节将第一部分介绍的应用程序基础知识应用于 LifeKeeper 的通用应用程序恢复工具包框架。
由于本篇博客系列文章最好与上一篇结合起来理解,因此这里简要回顾一下第一部分中提出的概念。
问一个尽可能简单但仍然能提供有用/可操作信息的问题
在确定如何回答宽泛的问题时,将其分解成若干个答案更简单的小问题。然后利用这些小问题,逐步构建出最初“宽泛”问题的答案。
利用所提供的信息
了解可用的工具以及这些工具如何传递信息。掌握回答“最基本问题”所需的信息后,确定如何利用应用程序 API 提供的信息来解答这些“最基本问题”。
回顾完毕,我们终于可以开始讨论 LifeKeeper 了。虽然高可用性和灾难恢复通常与复杂性联系在一起,但我们已投入大量精力,确保对特定应用程序的理解能够轻松移植到通用应用程序恢复工具包 (GARK) 框架中。有了之前的基础,现在是时候以此为基础,像 LifeKeeper 一样思考了。
像生命守护者一样思考
想象一下,你身处电影《怪诞星期五》的场景中,一个女孩和她的母亲互换了身体,由于不熟悉彼此的日常职责而手忙脚乱。和你互换身体的人要代替你参加一个上线活动,她需要知道如何启动关键应用程序、确保它们正常运行,以及如何关闭应用程序。如果你只有15分钟的电话时间进行准备,你会如何向她解释这些内容?你需要详细说明哪些信息才能让她顺利完成工作?
虽然这个场景是人为设计的,但它很好地展现了关键的资源保护操作。LifeKeeper 管理应用程序,确保它们只在单个系统上运行;LifeKeeper 资源层级结构则确保在恢复或移除资源时,先决条件应用程序和系统资源都能按正确的顺序处理。反过来,LifeKeeper 使开发人员能够在单个系统的上下文中思考对受通用应用程序资源保护的应用程序执行的操作。将启动、停止或查询应用程序的过程简化到最基本的要素,是定义通用应用程序操作脚本需要完成的任务的第一步。当启动、停止和查询操作按照上述策略定义后,资源操作之间便一一对应,如下所示:
- 恢复操作:应用程序启动
- 移除操作应用程序停止
- 快速检查操作查询应用程序
- 笔记对于通用应用程序资源,快速检查操作是可选的;如果未定义快速检查操作,则不会执行监控。但是,强烈建议定期进行应用程序监控,以确保实现高可用性和灾难恢复的最佳效果!
- 地方复苏行动应用程序停止和应用程序启动(按顺序)
- 笔记对于通用应用程序资源,本地恢复操作是可选的。如果未定义本地恢复,通用应用程序资源不会尝试在检测到故障的系统上重启以进行自我修复,而是会在故障系统上停止运行,并将应用程序的整个层次结构迁移到备用系统。
有时,LifeKeeper 需要了解正在运行的应用程序的某些详细信息才能执行上述操作。所有 LifeKeeper 资源(包括通用应用程序资源)都具有一个名为“资源信息字段”的字段,其目的是向操作脚本提供这些信息,以便在资源操作期间使用。信息字段中包含的资源信息可以在资源扩展时针对每个系统独立配置,从而允许资源操作使用特定于执行操作的系统的信息。LifeKeeper 还提供命令行实用程序,以便轻松获取或设置资源信息。
回到“怪诞星期五”的例子,如果你要和对方交换身份,你需要告诉对方哪些细节?例如应用程序文件的关键路径、命令参数的具体设置/值等等。信息字段非常适合存放那些必须知道才能确定应用程序其他细节的信息。信息字段也非常适合插入设置值、命令参数值或其他无法通过其他方式获取的值。值得注意的是,根据 LifeKeeper 的惯例,信息字段在资源的生命周期内很少(甚至从未)更改。为了避免信息字段损坏,最好将那些在资源生命周期内会发生变化的信息放在资源信息之外,而是通过 LifeKeeper 资源的操作脚本以编程方式获取,或者通过操作脚本可以调用的“辅助”脚本获取。
为了提供额外帮助,LifeKeeper 还附带用于开发通用应用程序的模板脚本。这些脚本为通用应用程序的操作脚本提供了绝佳的起点,因为它们预先准备好了 LifeKeeper 在调用特定资源的操作时将使用的输入参数。反过来,这也使得这些信息可以在资源操作脚本中使用。
结论
LifeKeeper 提供了多种应用程序保护方式。然而,某些应用程序的需求超出了 LifeKeeper 应用程序恢复工具包 (APP) 的功能范围。在这种情况下,高可用性和灾难恢复保护仍然可行,而且可能比之前想象的更容易实现。组织不应回避通用应用程序;相反,它们是 LifeKeeper 提供的众多强大工具之一,可用于提升环境的高可用性和灾难恢复能力。通用应用程序框架旨在兼顾易用性和灵活性。但是,如果您的组织没有足够的资源自行编写通用应用程序恢复工具包,SIOS 提供专业服务,由 SIOS 工程师代表您的组织协调需求并开发通用应用程序恢复工具包。如果需要持续支持,SIOS 专业服务还提供扩展服务,将常规产品支持扩展到由 SIOS 专业服务开发的通用应用程序。保护组织业务关键型应用程序的门槛正在不断降低,而适用于 Linux 或 Windows 的 SIOS Protection Suite 旨在引领潮流,使未受保护的应用程序成为过去式。
并非所有应用程序都适合标准的高可用性模型。SIOS 可以帮助您为业务关键型工作负载设计和实施合适的 LifeKeeper 解决方案。申请演示今天。
作者:Philip Merry,SIOS Technology Corp. 的支持工程师
经许可转载SIOS
