保护部署在 Azure Stack Hub - 模块化数据中心上 (MDC) 的 VM

将本文用作指南来制定一套保护用户在 Azure Stack Hub 上部署的虚拟机 (VM) 的计划。

若要防止数据丢失和计划外故障时间,请在 Azure Stack Hub 为基于 VM 的应用程序实现数据保护和灾难恢复计划。 实现的保护计划将取决于应用程序的业务要求和设计。 该计划应遵循按组织的综合性业务连续性和灾难恢复 (BC/DR) 策略所创建的框架。 有关 Azure Stack Hub 的 BC/DR 注意事项的大致概述,请参阅 Azure Stack:业务连续性和灾难恢复的注意事项

应用程序恢复目标

确定组织可容忍每个应用程序的故障时间和数据丢失量。 通过对故障时间和数据丢失进行量化,你可以创建恢复计划来将灾难对你的组织的影响降到最低。 对于每个应用程序,请考虑:

  • 恢复时间目标 (RTO)
    RTO 是指发生某个事件后,可接受应用不可用的最长时间。 例如,如果 RTO 是 90 分钟,则意味着从发生灾难开始,必须能够在 90 分钟内将应用还原到正常运行状态。 如果 RTO 低,可以持续运转一个后备部署,以防范区域性服务中断。

  • 恢复点目标 (RPO)
    RPO 是指发生灾难期间,可接受数据丢失的最大持续时间。 例如,如果在单个数据库中存储数据并且未将数据复制到其他数据库,而是执行每小时备份,则最长可能会丢失一小时的数据。

执行评估以定义每个应用程序的 RTO 和 RPO。

另一个要考虑的重要指标是平均恢复时间 (MTTR),是指发生故障后还原应用程序所需的平均时间。 MTTR 反映的是系统的经验值。 如果 MTTR 超过 RTO,则系统发生故障会导致不可接受的业务中断,因为无法在定义的 RTO 内将系统还原。

IaaS VM 的保护选项

备份-还原

对于基于 VM 的应用,最常见的保护方案是使用备份软件。 备份 VM 通常包括操作系统、操作系统配置、应用程序二进制文件以及 VM 中包含的永久性应用程序数据。 使用来宾 OS 中的代理创建备份,以捕获应用程序、OS 或文件系统/卷。 另一种方法无需使用代理,通过依赖于与 Azure Stack Hub API 的集成来读取有关 VM 配置的信息并为附加到 VM 的磁盘拍摄快照。 请注意,Azure Stack Hub 不支持直接从虚拟机监控程序进行备份。

规划备份策略

在计划备份策略和定义缩放要求时,首先应确定需要保护的 VM 实例的数目。 备份系统中的所有 VM 可能并不是保护应用程序最有效的方法。 使用 Azure Stack Hub 时,不应在 VM 级备份规模集或可用性集中的 VM。 这些 VM 具有临时性,因为可对 VM 集进行放大或缩小。理想情况下,任何需要保存的数据都在单独的存储库(如数据库或对象存储)中。 如果部署在横向扩展体系结构中的应用程序包含必须持久保存和保护的数据,则需要使用应用程序提供的原生功能或依赖于代理来进行应用程序级备份。

在 Azure Stack 上备份 VM 的重要注意事项:

  • 分类
    • 请考虑一个用户选择 VM 备份的模型。
    • 根据应用程序优先级或对业务的影响来定义恢复服务级别协议 (SLA)。
  • 缩放
    • 在载入大量新的 VM 时考虑进行交错式备份(如果必须备份)。
    • 评估可以有效地捕获和传输备份数据的备份产品,尽量减少解决方案上的资源内容。
    • 评估可以通过增量备份或差异备份有效存储备份数据的备份产品,尽量减少为环境中的所有 VM 创建完整备份的需求。
  • 还原
    • 备份产品可以还原虚拟磁盘、现有 VM 中的应用数据,或者整个 VM 资源和关联的虚拟磁盘。 所需的还原方案取决于计划还原应用的方式。 例如,从模板重新部署 SQL Server 并还原数据库而不是还原整个 VM 或 VM 集可能会更容易。

复制/手动故障转移

支持恢复的另一个方法是将数据复制到其他环境。 可使用代理将数据的范围限定到应用程序(例如数据库复制)或来宾 OS 中的操作系统,也可通过与 Azure Stack Hub API 集成来限定在 VM 级。 发生灾难时,需要故障转移到辅助位置。 故障转移可由应用程序以原生方式处理,例如使用 SQL 可用性组处理,也可使用代理或群集技术在来宾 OS 级处理,也可在 VM 级使用防护产品来处理。

高可用性/自动故障转移

以原生方式支持高可用性或依赖群集软件实现跨节点的高可用性的应用程序,可部署在一个 Azure Stack Hub 中的一组 VM 上,也可部署在多个 Azure Stack Hub 实例上。 在所有情况下,需要进行一定程度的负载均衡,以确保正确路由应用程序流量。 在此配置中,应用程序可从故障中自动恢复。 对于本地硬件故障,Azure Stack Hub 基础结构实现物理基础结构中的高可用性和容错能力。 对于计算级故障,Azure Stack Hub 在 N-1 配置中使用缩放单元中的多个节点。 在 VM 级,可用性和规模集将缩放单元中的每个节点建模为容错域,以保证节点级的反相关性,使节点故障不会关闭分布式应用程序。

无保护

某些应用程序可能没有需要持久保留的数据。 例如,用于开发和测试的 VM 通常不需要进行恢复。 另一个示例是无状态应用程序,可在发生故障时从 CI/CD 管道重新部署。 务必要确定无需保护的应用程序,以免对 VM 进行不必要的保护。

后续步骤

本文提供了用于保护 Azure Stack 上部署的用户 VM 的一般准则。 有关使用 Azure 服务保护用户 VM 的信息,请参阅:

合作伙伴产品