适用于: ✔️ Linux 虚拟机 ✔️ Windows 虚拟机 ✔️ 灵活的规模集
本文介绍如何为Azure托管磁盘规划备份和灾难恢复。 它引入了Azure内置冗余和一些常见的故障类型。 之后介绍典型的备份和灾难恢复场景, 最后,它会比较Azure托管磁盘的每个备份和灾难恢复选项。
Azure内置冗余选项
Azure托管磁盘具有 两个内置冗余选项来保护数据免受故障的影响:
- 本地冗余存储 (LRS) 在特定区域中的单个数据中心内复制数据三次。 LRS 可以保护数据,使其不受服务器机架和驱动器故障影响。
- 区域冗余存储 (ZRS) 跨地区中的区域提供数据同步复制,使磁盘能够容忍由于自然灾害或硬件问题而可能发生的区域故障。
但是,重大灾难(如地震、火灾或飓风)可能会导致大规模存储服务器中断或不可访问,有时会影响整个数据中心或地区(影响 LRS 磁盘)或者整个区域(影响 ZRS 磁盘)。 除了平台故障外,应用程序或数据也可能出现问题(例如,意外删除和勒索软件攻击)。 发生这种情况时,您可能需要将应用程序和数据还原到包含最后已知良好状态的先前版本。 还原到良好状态需要定期备份。
若要保护 IaaS 工作负载不受中断影响,请规划冗余,并创建定期备份。 若要保护 IaaS 工作负载不受区域灾难影响,请在与主站点不同的地理位置创建备份。 这可确保备份不会受到影响其他资源的相同事件的影响。
备份和灾难恢复场景
让我们看一些应用程序工作负载方案示例,了解在规划备份和灾难恢复时需要考虑的事项。
应用场景 1:主要数据库解决方案
在此方案中,你有一个支持高可用性的生产数据库服务器(如 SQL Server 和 Oracle)。 关键生产应用程序和用户依赖此类数据库。 此系统的灾难恢复计划应包含以下要求:
- 数据必须受保护且可恢复。
- 服务器必须可用。
- (可选)在不同的区域中创建数据库副本作为备份
根据您的服务器可用性和数据恢复要求,解决方案可能包括主动-主动或主动-被动的副本站点,或对数据进行定期的脱机备份。 关系数据库(如 SQL Server 和 Oracle)提供各种复制选项。 对于SQL Server,请使用 SQL Server AlwaysOn 可用性组实现高可用性。
NoSQL数据库(如 MongoDB)还支持 replicas 实现冗余。 可以使用实现高可用性的副本。
应用场景 2:冗余 VM 群集
在此方案中,你有一个工作负载由提供冗余和负载均衡的 VM 群集进行处理,例如部署在区域中的 Cassandra 群集。 此类体系结构已在相应区域提供了高水平冗余。 不过,为了保护工作负载免受区域级故障影响,请考虑在两个区域分布群集,或者定期备份到另一个区域。
应用场景 3:IaaS 应用程序工作负荷
在此方案中,你有一个应用程序,其中包含在 Azure VM(IaaS 应用程序工作负荷)上运行的典型生产工作负荷。 它可能是保存内容和其他站点资源的 Web 服务器或文件服务器,也可能是在 VM 上运行的专门定制的商业应用程序,将数据、资源和应用程序状态存储到 VM 磁盘上。 在这种情况下,有必要确保定期进行备份。 应根据 VM 工作负载的性质确定备份频率。 例如,如果应用程序每天都运行,并且修改数据,那么应每小时备份一次。
另一个常见的场景是,报表服务器从其他数据源拉取数据,并生成聚合报表。 如果丢失此 VM 或磁盘,可能导致报表丢失。 不过,可以重新运行报表进程,从而重新生成输出。 在这种情况下,即使报表服务器遭遇灾难,也不会真正丢失数据。 因此,您对报表服务器上丢失部分数据有更高的容忍度。 在这种情况下,降低备份频率通常会降低成本。
应用场景 4:IaaS 应用程序数据问题
IaaS 应用程序数据问题是另一种可能的情况。 假设有一个应用程序,用于计算、维护和提供关键商业数据(如定价信息)。 新版应用程序有一个软件 bug,不仅错误地计算了定价,还破坏了平台提供的现有商业数据。 在这种情况下,最好还原到旧版应用程序和数据。 若要能够进行还原,请定期备份系统。
备份和灾难恢复解决方案
比较概述
本部分介绍备份和灾难恢复的一些Azure选项。 可查看下面的比较表,大致了解情况。
| 解决方案 | 快照 | 还原点 | Azure 备份 | Azure Site Recovery |
|---|---|---|---|---|
| 描述 | 快照是某个时间点的磁盘只读副本,可以用于备份。 | 还原点可用于对附加到虚拟机的所有磁盘实施精细备份 | Azure Backup是一项完全托管的Azure服务,可提供简单、安全且经济高效的解决方案来备份数据并恢复数据 | Azure Site Recovery通过使应用和工作负荷在中断期间保持运行,帮助确保组织的业务连续性 |
| 增量备份 | 是 | 是 | 是 | 是 |
| 跨区域复制 | 是 | 以公共预览版提供 | 是,使用 Azure VM 备份 | 是 |
| 定价 | 请参阅 Azure 磁盘定价 | 空值 | 请参阅 备份 Azure VM 或本地服务器的成本 | 请参阅 Azure Site Recovery 定价 |
| 操作维护 | 高 | 中等 | 低 | 低 |
| 主要优点 | 最经济高效,适合磁盘备份 | 备份 VM 级别的磁盘、运行 Windows OS 的 VM 的应用程序一致性、运行 Linux OS 的 VM 的文件系统一致性 | 频繁且快速备份而不中断 VM,自定义备份策略、无代理解决方案 | 简单的业务连续性和灾难恢复 (BCDR) 解决方案,在故障转移过程中保持应用程序的一致性,并在不截获应用程序数据的情况下协调复制。 |
快照
快照是磁盘的只读时间点副本。 可以随时生成快照。 快照独立于源磁盘存在,只能用来创建新的托管磁盘。 不能使用它们更改现有磁盘的状态。 还可以使用增量快照对托管磁盘进行定期增量备份。
通常,应将增量快照用于备份和灾难恢复目的,因为它们可以降低成本并缩短恢复时间。 增量快照是托管磁盘的时间点备份;拍摄快照后,这些备份仅包含自上次快照以来的更改。 第一个增量快照是磁盘的完整副本。 第一个快照之后的任何增量快照仅包含自上一快照以来对磁盘所做的更改。 当从快照创建磁盘时,系统会重建一个完整的磁盘,该磁盘代表了在拍摄增量快照时刻的磁盘备份。 还可以将增量快照复制到新区域进行灾难恢复。
可以通过快照实现备份机制。 为此,需要为 VM 使用的所有磁盘创建一致性快照,再将这些快照复制到另一个区域。 使用快照创建一致性备份的一种做法是,关闭 VM,再为每个磁盘生成快照。 如果 VM 上运行的应用程序可以暂停 IO,则应暂停它,然后拍摄附加到 VM 的所有磁盘的快照。 生成脱机快照比协调正在运行的 VM 的快照更为简单,但会出现几分钟的停机时间。
随时都能拍摄快照,但是如果在 VM 运行时拍摄快照,请记住下面几点:
- VM 运行时,数据仍在流式传输到磁盘。 因此,正在运行的 VM 的快照可能包含未完成的处理中操作。
- 如果一个 VM 中涉及多个磁盘,各个磁盘的快照可能在不同时间生成。
在所述场景中,快照未经过协调。 对于条带卷来说,缺乏协调性是一个问题,因为如果在备份期间进行更改,其文件可能会被损坏。 因此,必须在备份过程中执行以下步骤:
- 冻结所有磁盘。
- 清除所有挂起的写入操作。
- 为所有托管磁盘创建增量快照。
某些Windows应用程序(如SQL Server)通过卷影服务提供协调备份机制,以创建应用程序一致性备份。 在 Linux 上,可以使用 fsfreeze 等工具来协调磁盘(此工具提供文件一致性备份,而不是应用程序一致性快照)。 此备份过程很复杂,因此您应考虑Azure磁盘备份概述或已实现此过程的第三方备份解决方案。 这会产生所有 VM 磁盘的协调快照集合,这表示 VM 的特定时间点视图(即,VM 的备份还原点)。 可以按原定时间间隔重复执行此过程,从而创建定期备份。
还原点
Azure VM 还原点可用于实现附加到虚拟机的所有磁盘的精细备份和保留策略。 单个 VM 还原点是一种资源,用于存储附加到该 VM 的所有托管磁盘的 VM 配置和时间点应用程序一致性快照。 可以使用 VM 还原点轻松捕获附加到 VM 的所有磁盘的多磁盘一致性备份。
还原点有三个层次结构级别 - VM 还原点集合、VM 还原点和磁盘还原点:
- 一级:将虚拟机还原点组织成还原点集合。 还原点集合是Azure资源管理资源,其中包含特定 VM 的还原点。
- 级别 2:VM 还原点包含每个附加磁盘的还原点。
- 级别 3:磁盘还原点由各个托管磁盘的快照组成。
还原点采用增量形式。 第一个还原点存储附加到 VM 的所有磁盘的完整副本,而连续还原点仅包含对 VM 磁盘的增量更改。 使用还原点,你可以:
- 在区域之间复制 VM 还原点,还原与源 VM 不同的区域中的 VM,并跟踪复制操作的进度。
- 使用磁盘还原点创建磁盘,并获取磁盘的共享访问签名。 这些磁盘然后可用来创建新的 VM。
请参阅以下文章,了解如何创建 VM 还原点和管理 VM 还原点。
Azure 备份
Azure Backup提供简单、安全且经济高效的解决方案,用于备份数据并从Azure恢复数据。 目前,Azure Backup支持高达 32 字节(TiB)的磁盘大小。 详细了解Azure Backup支持。
Azure磁盘备份是一种原生的基于云的备份解决方案,用于保护托管磁盘中的数据。 它是一个简单、安全且经济高效的解决方案,使你能够通过几个步骤为托管磁盘配置保护。 它确保数据在发生灾难时受到保护。
Azure磁盘备份提供了一种开箱即用的解决方案,该解决方案通过自动周期性地创建和保留托管磁盘的快照,并使用备份策略来指定保留时间。 无需对基础结构投入任何成本,无需编写任何自定义脚本,无需产生任何管理开销,就能管理磁盘快照。
Azure磁盘备份是崩溃一致的备份解决方案,它使用增量快照对托管磁盘进行时间点备份,并支持每天进行多个备份。 它也是一个无代理解决方案,不会影响生产应用程序的性能。 它支持备份和还原 OS 和数据磁盘(包括共享磁盘),无论它们当前是否附加到正在运行的 Azure VM。
Azure磁盘备份集成到备份中心,为企业提供一种统一的管理 Azure体验,使企业能够大规模管理、监视、操作和分析备份。 如果需要虚拟机的应用程序一致性备份(包括数据磁盘)或从备份还原整个虚拟机、还原文件或文件夹或还原到次要区域的选项,请使用 Azure VM 备份解决方案。 如果无法使用Azure Backup,可以使用快照实现自己的备份机制。 但是,为 VM 使用的所有磁盘创建一致的快照、将这些快照复制到另一个区域,以及持续管理此过程既复杂又耗时。
Azure Site Recovery
Azure Site Recovery通过使应用和工作负载在中断期间保持运行,帮助确保组织的业务连续性。 它是一项完全托管的付费服务,能够帮助实现业务连续性和灾难恢复 (BCDR) 策略。
Azure Site Recovery将物理和虚拟机上运行的工作负荷从主站点复制到辅助位置。 当主站点发生停机时,工作负载可以故障转移到辅助位置,并可以从该辅助位置进行访问。 在主位置再次运行后,工作负载可以故障回复到该位置。
可以通过几个步骤轻松地将灾难恢复设置到辅助 Azure 区域。 Azure Site Recovery支持许多灾难恢复方案 - Azure 到 Azure、VMware 到 Azure、物理到 Azure、Azure Stack VM、Hyper-V 到 Azure、应用程序灾难恢复、灾难恢复到辅助站点。 有关Azure Site Recovery提供的好处的完整列表,请参阅 About Site Recovery。
其他选项
VM 中运行的SQL Server 具有内置功能,可将 SQL Server 数据库备份到 Azure Blob 存储或文件共享。 有关详细信息,请参阅 备份和还原Azure虚拟机中的SQL Server。 除了备份和还原,SQL Server AlwaysOn 可用性组还可以维护数据库的次要副本。 这种功能可以大大减少灾难恢复时间。
后续步骤
查看你的选项: