Azure 存储故障转移常见问题解答:方案、限制和最佳做法

Azure 存储通过本地冗余存储(LRS)、异地冗余存储(GRS)和区域冗余存储(ZRS)等功能提供可靠的冗余和灾难恢复功能。 了解计划和计划外故障转移的细微差别,以及后续故障回复过程对于维护数据完整性和服务可用性至关重要。

本文档解答常见问题,描述与 Azure 存储故障转移和故障回复相关的技术场景、功能冲突和操作影响。 它提供有关最佳做法的指导,重点介绍了数据丢失和不受支持的配置等潜在缺陷,并说明了如何在故障转移事件后将存储帐户还原到其原始状态。 按照这些建议,组织可以更好地为灾难恢复做好准备,并在使用 Azure 存储时确保业务连续性。

计划外故障转移

如果存储服务的数据终结点在主要区域中不可用,则可以启动到存储帐户的次要区域的计划外故障转移。 故障转移完成后,存储帐户将成为本地冗余存储(LRS),次级区域将成为新的主区域。 用户可以继续从其新的主要区域访问数据。

因为数据是从主要区域异步写入次要区域,所以在写入主要区域的数据复制到次要区域前始终存在延迟。 启动计划外故障转移时,主区域中的所有数据都将丢失,因为次要区域将成为新的主区域。 当故障转移发生时,将保留已复制到次要区域的所有数据。 但是,写入到主数据库且尚未在次要区域中存在的任何数据都会永久丢失。 用户可以利用其上次同步时间(LST),确认主要区域和次要区域之间上次完全同步的时间。

若要了解详细信息,请参阅有关 计划外故障转移工作原理的文章。

故障转移完成后会对我的账户产生什么影响?

  1. 存储帐户会丢失异地冗余,并变为本地冗余存储(LRS)。
  2. 帐户的上一个次要区域现在是主要区域。
  3. 如果用户在 LST 之后对存储帐户进行了任何写入,则可能会遇到数据丢失。

可在此处找到计划外故障转移效果的摘要:

故障转移的结果... 客户管理的(计划外)故障转移
...次要区域 次要区域将成为新的主要区域
...原始主要区域 原始主要区域中的数据副本被删除
...帐户冗余配置 存储帐户转换为 LRS
...异地冗余配置 地理冗余已丧失

下表总结了故障转移和故障回复过程的每个阶段生成的冗余配置:

原始配置 故障转移后 重新启用异地冗余后 故障回复后 重新启用异地冗余后
客户管理的(计划外)故障转移
LRS LRS GRS LRS GRS
GZRS LRS GRS ZRS GZRS

故障转移后是否可能发生数据丢失?

用户可能会遇到数据丢失。 用户可以利用上次同步时间(LST)属性来确定主要区域和次要区域之间完成完全同步的最后一次时间。 在 LST 成功复制到次要区域之前写入的任何数据或元数据将在发生计划外故障转移后依然可用。 但是,在 LST 之后写入的任何数据或元数据都可能会丢失。

在计划外故障转移后,将帐户从 LRS 转换为 GRS 需要多长时间?

目前没有用于完成地理转换的服务级别协议(SLA),并且无法通过提交支持请求来加快此过程。 完成这些转换所需的时间可能因各种因素而异,包括:

  • 存储帐户中对象的数量和大小。
  • 可用于后台复制的资源,例如 CPU、内存、磁盘和 WAN 容量。

可以在启动存储帐户故障转移文章中详细了解影响 SKU 转换时间的因素。 还可以在“更改存储帐户的冗余选项”一文中详细了解如何更改存储帐户的复制选项。

故障切换后,为什么我的帐户的“位置”属性会与“主要区域”不同?

Microsoft 提供两个 REST API 用于处理 Azure 存储资源。 这些 API 构成了可对 Azure 存储执行的所有操作的基础。 Azure 存储 REST API(通常称为“数据平面”)允许您处理存储帐户中的数据,包括 Blob、队列、文件和表数据。 使用 Azure 存储资源提供程序 REST API(通常称为控制平面),可以管理存储帐户和相关资源。

故障转移完成后,客户端可再次读取并写入新的主要区域中的 Azure 存储数据。 但是,Azure 存储资源提供程序不会进行故障转移,因此资源管理操作仍必须在主要区域中进行。 由于 Azure 存储资源提供程序不会故障转移,因此在故障转移完成后,Location 属性将返回原始主位置。

什么是故障恢复?

故障回复是我们用来描述利用故障转移操作以将存储帐户恢复到其原始主要区域的过程的术语。 故障转移后,GRS 帐户的原始次要区域将成为新的主要区域。 用户必须启动故障转移操作,才能将帐户还原到其原始主区域。

实质上,故障恢复是在对帐户执行原始故障转移后启动的另一次故障转移。

在计划外故障转移后,该帐户将成为 LRS。 故障恢复需要以下几个步骤:

  1. 将帐户从 LRS 转换为 GRS。 请务必记住,从 LRS 到 GRS 的转换没有 SLA。 完成此转换时,还存在数据带宽费用。
  2. 启动计划外故障转移或故障回复。

详细了解 如何启动计划外故障转移

故障转移中有哪些冲突的特性或情形?

故障转移附带了一些限制和用户应注意的相互冲突的功能。 以下功能或场景会阻止故障转移操作的启动:

  • 对象复制: 尝试在具有对象复制的帐户上启动计划外故障转移会生成错误。 在这种情况下,可以删除帐户的 OR 策略,然后再次尝试转换。

Azure 文件同步不支持客户管理的计划外故障转移。 不应对用作 Azure 文件同步云终结点的存储帐户进行故障转移。 故障转移会中断文件同步,并可能导致新分层文件意外数据丢失。 有关详细信息,请参阅有关使用 Azure 文件同步进行灾难恢复的最佳做法。

后续步骤

在规划存储帐户复原能力过程中,可以查看以下文章了解详细信息: