Azure 托管磁盘的备份和灾难恢复
适用于:✔️ Linux VM ✔️ Windows VM ✔️ 灵活规模集
本文介绍如何规划 Azure 托管磁盘的备份与灾难恢复。 它会介绍 Azure 内置冗余和一些常见的故障类型。 之后介绍典型的备份和灾难恢复场景, 最后比较 Azure 托管磁盘的每个备份和灾难恢复选项。
Azure 内置冗余选项
Azure 托管磁盘有两个内置冗余选项,用于保护数据免受故障的影响:
- 本地冗余存储 (LRS) 在特定区域中的单个数据中心内复制数据三次。 LRS 可以保护数据,使其不受服务器机架和驱动器故障影响。
- 区域冗余存储 (ZRS) 跨地区中的区域提供数据同步复制,使磁盘能够容忍由于自然灾害或硬件问题而可能发生的区域故障。
但是,重大灾难(如地震、火灾或飓风)可能会导致大规模存储服务器中断或不可访问,有时会影响整个数据中心或地区(影响 LRS 磁盘)或者整个区域(影响 ZRS 磁盘)。 除了平台故障外,应用程序或数据也可能出现问题(例如,意外删除和勒索软件攻击)。 发生这种情况时,建议将应用程序和数据还原到上一版已知的良好状态。 还原到良好状态需要定期备份。
若要保护 IaaS 工作负载不受中断影响,请规划冗余,并创建定期备份。 若要保护 IaaS 工作负载不受区域灾难影响,请在与主站点不同的地理位置创建备份。 这可确保备份不会受到影响其他资源的相同事件的影响。
备份和灾难恢复场景
让我们看一些应用程序工作负载方案示例,了解在规划备份和灾难恢复时需要考虑的事项。
应用场景 1:主要数据库解决方案
在此方案中,你有一个支持高可用性的生产数据库服务器 (例如 SQL Server 和 Oracle)。 关键生产应用程序和用户依赖此类数据库。 此系统的灾难恢复计划应包含以下要求:
- 数据必须受保护且可恢复。
- 服务器必须可用。
- (可选)在不同的区域中创建数据库副本作为备份
解决方案包括主动/主动或主动/被动副本站点、定期脱机备份数据,具体视服务器可用性和数据恢复要求而定。 SQL Server 和 Oracle 等关系型数据库提供各种复制选项。 对于 SQL Server,可以使用 SQL Server Always On 可用性组实现高可用性。
为了实现冗余,MongoDB 等 NoSQL 数据库也支持副本。 可以使用实现高可用性的副本。
应用场景 2:冗余 VM 群集
在此方案中,你有一个工作负载由提供冗余和负载均衡的 VM 群集进行处理,例如部署在区域中的 Cassandra 群集。 此类体系结构已在相应区域提供了高水平冗余。 不过,为了保护工作负载免受区域级故障影响,请考虑在两个区域分布群集,或者定期备份到另一个区域。
应用场景 3:IaaS 应用程序工作负荷
在此方案中,你有一个应用程序具有在 Azure VM 上运行的典型生产工作负载(IaaS 应用程序工作负载)。 它可能是保存内容和其他站点资源的 Web 服务器或文件服务器,也可能是在 VM 上运行的专门定制的商业应用程序,将数据、资源和应用程序状态存储到 VM 磁盘上。 在这种情况下,有必要确保定期进行备份。 应根据 VM 工作负载的性质确定备份频率。 例如,如果应用程序每天都运行,并且修改数据,那么应每小时备份一次。
另一个常见的场景是,报表服务器从其他数据源拉取数据,并生成聚合报表。 如果丢失此 VM 或磁盘,可能导致报表丢失。 不过,可以重新运行报表进程,从而重新生成输出。 在这种情况下,即使报表服务器遭遇灾难,也不会真正丢失数据。 因此,可以有高水平的容错,允许报表服务器上丢失部分数据。 在这种情况下,降低备份频率通常会降低成本。
应用场景 4:IaaS 应用程序数据问题
IaaS 应用程序数据问题是另一种可能的情况。 假设有一个应用程序,用于计算、维护和提供关键商业数据(如定价信息)。 新版应用程序有一个软件 bug,不仅错误地计算了定价,还破坏了平台提供的现有商业数据。 在这种情况下,最好还原到旧版应用程序和数据。 若要能够进行还原,请定期备份系统。
备份和灾难恢复解决方案
比较概述
本部分介绍一些用于备份和灾难恢复的 Azure 选项。 可查看下面的比较表,大致了解情况。
解决方案 | 快照 | 还原点 | Azure 备份 | Azure Site Recovery |
---|---|---|---|---|
描述 | 快照是可用于备份的磁盘的只读时间点副本。 | 还原点可用于对附加到虚拟机的所有磁盘实施精细备份 | Azure 备份是一项完全托管的 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 还原点和磁盘还原点:
- 级别 1:VM 还原点组织成还原点集合。 还原点集合是一项 Azure 资源管理资源,其中包含特定 VM 的还原点。
- 级别 2:VM 还原点包含每个附加的磁盘的磁盘还原点。
- 级别 3:磁盘还原点由各个托管磁盘的快照组成。
还原点采用增量形式。 第一个还原点存储附加到 VM 的所有磁盘的完整副本,而连续还原点仅包含对 VM 磁盘的增量更改。 使用还原点,你可以:
- 在区域之间复制 VM 还原点,还原与源 VM 不同的区域中的 VM,并跟踪复制操作的进度。
- 使用磁盘还原点创建磁盘,并获取磁盘的共享访问签名。 这些磁盘然后可用来创建新的 VM。
请参阅以下文章,了解如何创建 VM 还原点和管理 VM 还原点。
Azure 备份
Azure 备份提供了一个简单、安全且经济高效的解决方案来备份数据并从 Azure 恢复数据。 Azure 磁盘备份是基于云的本机备份解决方案,可保护托管磁盘中的数据。 它是一个简单、安全且经济高效的解决方案,使你能够通过几个步骤为托管磁盘配置保护。 它确保数据在发生灾难时受到保护。
Azure 磁盘备份提供了一个统包式解决方案,通过自动定期创建快照并使用备份策略将其保留指定的任意时长,为托管磁盘提供快照生命周期管理。 无需对基础结构投入任何成本,无需编写任何自定义脚本,无需产生任何管理开销,就能管理磁盘快照。
Azure 磁盘备份是一个使用增量快照创建托管磁盘时间点备份的崩溃一致性备份解决方案,支持每日创建多个备份。 它也是一个无代理解决方案,不会影响生产应用程序的性能。 它支持备份和还原 OS 磁盘和数据磁盘(包括共享磁盘),不管这些磁盘当前是否已附加到正在运行的 Azure VM。
Azure 磁盘备份集成在备份中心中,可在 Azure 中提供单一的统一管理体验,使企业能够大规模治理、监视、操作和分析备份。 如果需要对包含数据磁盘的虚拟机进行应用程序一致性备份,或者需要能够从备份中还原整个虚拟机,请还原文件或文件夹,或者还原到次要区域,然后使用 Azure VM 备份解决方案。 如果无法使用 Azure 备份,可以使用快照实现自己的备份机制。 但是,为 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 提供的权益的完整列表,请参阅关于 Site Recovery。
其他选项
在 VM 中运行的 SQL Server 有自己的内置功能,可将 SQL Server 数据库备份到 Azure Blob 存储或文件共享。 有关详细信息,请参阅 Azure 虚拟机中 SQL Server 的备份和还原。 除了备份和还原外,SQL Server Always On 可用性组还可以维护数据库的次要副本。 这种功能可以大大减少灾难恢复时间。
后续步骤
查看你的选项: