你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure 存储移动程序中的可靠性

Azure 存储 Mover 是一项完全托管的服务,可将文件和文件夹迁移到Azure 存储,并使文件在存储帐户之间保持同步。 将数据移动到Azure时,或者需要在Azure内的不同位置之间保持数据同步时,请使用存储移动器。

使用 Azure 时,可靠性是共同的责任。 Microsoft提供了一系列功能来支持复原和恢复。 你负责了解这些功能如何在你使用的所有服务中工作,并选择满足业务目标和运行时间目标所需的功能。

本文介绍如何Azure 存储 Mover 响应各种潜在中断和问题,包括暂时性故障、可用性区域故障和区域范围的故障。 它还介绍了如何保护 Storage Mover 的配置。

重要

本文仅介绍Azure 存储 Mover 服务及其资源的可靠性。 端到端迁移的可靠性取决于所有组件:存储移动器服务、部署的任何存储移动器代理、源环境和网络连接以及目标存储帐户。 你负责代理、源系统和目标存储的可靠性。 有关 Azure 存储可靠性的详细信息,请参阅 Azure Blob 存储中的可靠性Azure 文件存储中的可靠性

可靠性体系结构概述

本部分介绍从可靠性的角度来看,服务工作原理最相关的一些重要方面。 本部分介绍逻辑体系结构,其中包括部署和使用的某些资源和功能。 它还讨论了物理架构,该架构提供了服务内部运作方式的详细信息。

逻辑体系结构

Azure 存储 Mover 旨在迁移和同步存储位置之间的数据,而不是在生产工作负荷的运行时路径中处理请求。 它具有一个 资源层次结构 ,用于定义部署和管理的组件。 顶级资源称为 存储移动器。 在存储移动器中,您可以定义项目,其中包含作业定义,用于说明要迁移的内容以及迁移到何处。 终结点 定义迁移或同步作业的源和目标位置。

对于某些方案(例如从本地环境迁移),还可以部署一个或多个 存储移动器代理。 代理是在所控制的计算机上运行的软件,例如虚拟机或物理计算机。 某些方案不需要代理。

该服务存储配置元数据,包括项目、终结点、代理注册、作业定义和作业运行历史记录。 此元数据不包含您迁移的数据。

物理体系结构

Azure 存储 Mover 服务在Microsoft托管的基础结构上运行。 代理在所管理的硬件上运行。 你负责代理的可靠性,这在本文的作用域外。

暂时性故障的复原能力

暂时性故障是指组件发生短暂的间歇性故障。 这些故障经常出现在云之类的分布式环境中,在运营过程中比较常见。 暂时性故障在短时间内自行纠正。 应用程序通常可以通过重试受影响的请求来处理暂时性故障,这一点很重要。

与任何云托管的 API、数据库和其他组件通信时,所有云托管的应用程序都应遵循 Azure 暂时性故障处理指南。 有关详细信息,请参阅有关处理暂时性故障的建议

如果暂时性故障影响代理与存储移动器服务之间的通信,或者连接到源或目标时,代理会自动重试。 对于Azure到Azure作业,该服务也能够灵活应对许多暂时性故障。 连接还原时,正在进行的迁移作业将恢复。

在某些情况下,暂时性故障在作业运行历史记录中显示为错误。 有关错误代码的说明(包括暂时性错误),请参阅Azure 存储 Mover 状态代码和错误类型。 有关如何解决持久存在的网络连接问题的指南,请参阅排查 Azure 存储移动程序网络连接问题

应对可用区故障的弹性

可用性区域 是 Azure 区域内物理上独立的数据中心组。 当某个区域发生故障时,服务可以切换到其他可用的区域。

在支持可用性区域的区域中,平台会尽力跨区域分发存储移动器的配置元数据,但不能保证此行为。 如果你的存储迁移需要承受区域的丢失,设计你的迁移过程以容忍存储移动器的丢失,并查看对区域范围故障的恢复能力

请结合你使用存储移动器的方式,考虑区域故障的影响。 服务协调数据迁移和同步,通常不在生产工作负荷的运行时路径中。 如果存储移动器在发生区域故障期间不可用,迁移或同步作业通常会延迟,而不是导致生产中断,可以在服务恢复后恢复或重试作业。 存储移动器也不提供可用性 服务级别协议(SLA),因此设计不应假定服务持续可用。 如果工作负荷依赖于正在进行的同步,请评估这种情况是否可以接受此类延迟。

下图显示了一个存储移动器,其中包含跨三个区域的基础结构和配置元数据:

跨三个可用性区域的区域冗余存储移动器示意图。

Note

任何数据迁移的可靠性也取决于使用的存储帐户和代理。 例如,如果目标存储帐户使用本地冗余存储(LRS),则它无法承受可用区故障。 为确保即使出现区域故障,仍能顺利完成迁移,请使用区域冗余目标存储帐户。

要求

区域支持:只有在同时支持 Storage Mover 和可用区的区域中,才能尽力在各可用区之间分发配置元数据。 检查 存储移动器区域可用性 ,并将其与 支持可用性区域的区域列表进行比较。 即使在这些区域中,也不能保证区域复原能力。

Cost

存储移动器不提供可配置的可用性区域支持,因此不会产生与可用性区域相关的任何额外费用。 有关 Azure 存储 Mover 的计费方式的详细信息,请参阅了解 Azure 存储 Mover 的计费方式

配置可用性区域支持

存储移动器不提供可配置的可用性区域支持,因此无需启用或选择加入。 有关创建存储移动器资源的详细信息,请参阅Azure 存储 Mover 的部署规划

所有区域正常时的行为

本部分介绍当存储移动器位于支持可用性区域且所有区域正常运行的区域时会发生什么情况。

  • 跨区域操作: 区域中任何可用性区域中的基础结构都可能提供管理操作和元数据访问。 代理连接可以通过任何区域访问服务。

  • 跨区域数据分布: 该服务旨在跨区域中的可用性区域同步复制配置元数据。

区域故障期间的行为

本部分介绍当存储移动器位于支持可用区的区域中,且其中一个可用区发生中断时,会出现什么情况。

  • 检测和响应: 该平台旨在检测可用性区域的丢失,并将流量重新路由到正常区域,但此响应是尽最大努力的,无法保证。
  • 活动请求: 正在进行的管理操作(依赖于受影响区域中的基础结构)可能会失败,需要重试这些操作。 在代理上运行的活动数据迁移作业可能会继续运行,但依赖于元数据服务的管理操作可能不可用。

  • 预期数据丢失: 存储移动器迁移的数据不会在发生区域故障时丢失。

    由于存储移动器不能保证配置元数据分布在各个区域,因此区域故障可能会导致某些存储移动器的配置元数据暂时不可用,直到区域恢复。

  • 预期的停机时间: 平台尝试使用另一个区域还原操作,但在某些情况下,在受影响区域恢复之前,操作可能不可用。 按照 暂时性故障处理指南准备工作负荷。

  • 分配: 如果平台将流量重新路由到正常的可用性区域,则会尽力执行此操作。

区域恢复

当可用性区域恢复时,平台旨在还原恢复区域中的容量,并在区域之间重新平衡流量。 平台会尽力而为,但不保证一定成功。 无需执行任何操作即可启动区域恢复。

针对局部区域故障进行测试

不能针对存储移动程序发起或测试可用性区域故障。 由于存储移动器不能保证区域复原能力,因此不要假定存储移动器在发生区域故障后幸存下来。 如果迁移过程中可能出现漏掉某个区域的情况,请自行验证该过程的端到端复原能力,并查看区域范围故障的复原能力,了解可帮助你控制故障转移的方法。

对区域范围的故障的复原能力

Azure 存储 Mover 是单区域服务。 部署Azure 存储 Mover 资源时,请选择一个区域来存储资源的配置元数据。 如果存储移动器的区域遇到中断,则代理执行的管理操作以及依赖于Azure的管理操作可能无法完成。 此外,任何活动数据迁移到受影响区域中的存储帐户都可能会失败。

如果你的存储移动器位于在 Azure 中有配对区域的区域,则其配置元数据会复制到其配对的 Azure 区域,用于灾难恢复;在影响主区域的灾难期间,Microsoft 可以触发向该配对区域进行故障转移。

如果存储移动器位于非配对区域,Microsoft 不会复制配置元数据,并且也没有到另一个区域的内置故障转移功能。 但是,可以将单独的资源部署到多个区域。 在此方案中,你负责管理复制、流量分发和故障转移。 如果使用非对区域,或者内置元数据复制不符合需求,则可以创建自定义 多区域故障转移策略

Note

你负责数据源(包括Azure和本地数据源)、目标和代理的灾难恢复。

Microsoft 管理的故障转移(切换到到配对区域)

如果存储移动器资源位于与另一个区域配对的区域,Microsoft将存储移动器的配置元数据复制到配对区域。

存储移动器将其元数据复制到配对区域的示意图。

如果某个区域发生故障,Microsoft 可能会使用复制的配置元数据执行故障转移,切换到配对区域。 此过程是默认选项,无需你进行干预。

存储移动程序故障转移到配对区域的示意图。

Storage Mover 资源的故障转移发生时间可能与其他 Azure 服务的故障转移时间不同。

重要

除非出现相当长时间的延迟,否则 Microsoft 不太可能启动故障转移;即使启动故障转移,系统也只是尽力而为,不保证一定成功。 如果你需要满足存储移动器的特定恢复时间要求,或者默认的复制和故障转移行为无法满足你的需求,请使用 用于增强复原能力的自定义多区域解决方案 自行规划并启动故障转移。

跨区域复制仅适用于配置元数据。 它不适用于源数据或目标存储帐户,该帐户具有自己的可靠性和复制选项。 有关详细信息,请参阅 Azure Blob 存储 中的可靠性Azure 文件存储 中的可靠性

要求

区域支持: Microsoft 托管的跨区域复制仅适用于部署在具有 配对区域 的区域中的 Storage Mover 资源。 对于非配对区域中的资源,不提供跨区域复制或故障转移。 若要在非配对区域中实现跨区域复原能力,请使用 自定义多区域解决方案

Cost

对于 Microsoft 托管的存储移动程序配置跨区域复制,存储移动程序不会收取费用。 但是,跨区域复制可能会收取少量费用。 有关详细信息,请参阅 带宽定价

配置多区域支持

在配对区域中的 Storage Mover 资源上,会自动启用由 Microsoft 管理的跨区域复制。 你无需配置或选择启用这种行为。

当所有区域都正常时的行为

本部分介绍当存储移动器配置为跨区域复制和故障转移,且主区域正常运行时,会出现的情况。

  • 跨区域操作: 主要区域中的存储移动器资源为所有请求提供服务。 仅在 Microsoft 发起故障转移时,才会使用配对区域。

  • 跨区域数据复制: 主要区域将配置异步复制到配对区域。 由于复制是异步的,因此在发生故障时,对配置的最近更改可能不会反映在配对区域中。

区域故障期间的行为

本部分介绍当存储移动器配置为跨区域复制和故障转移,且主区域发生中断时,可能会出现的情况。

  • 检测和响应: Microsoft 检测区域故障并决定是否启动故障转移。 Microsoft不太可能启动故障转移,除非在发生重大延迟后,故障转移会尽最大努力完成。
  • 活动请求: 活动管理请求会被删除,需要在故障转移完成后重试。 如果代理上运行的活动数据迁移作业依赖于发生中断的区域,则它们可能会失败。

  • 预期数据丢失: 由于跨区域复制是异步的,因此在中断时不会复制到配对区域的任何配置元数据更改都可能会丢失。

  • 预期的停机时间: 区域故障转移可能需要长达 24 小时才能完成。 在此期间,你的存储移动程序将不可用。

  • 重新分配: 故障转移完成后,存储移动器开始运行来自配对区域的作业。

    不过,你需要针对配对区域中的存储移动程序重新注册代理。

区域恢复

当原始主要区域恢复后,Microsoft 会协调执行故障回复。 你需要针对主要区域中的存储移动程序重新注册代理。

针对区域故障进行测试

Azure 存储 Mover 平台管理跨区域复制、故障转移和区域恢复。 由于 Microsoft 完全管理此功能,因此你无法启动或测试区域故障转移。

用于复原的自定义多区域解决方案

如果你需要控制故障转移的发生时机,或者你所在的区域不是配对区域,但仍需要存储移动器能够应对区域性中断,请在多个 Azure 区域中部署独立的存储移动器资源。 你负责此方法的各个方面,包括:

  • 在每个区域中创建和维护等效的项目、终结点、代理和作业定义。
  • 检测区域故障并确定何时执行故障转移。
  • 将代理和迁移作业重定向到次要区域。
  • 同步区域间的作业状态和运行历史。

自定义多区域解决方案无论是对配对区域还是非配对区域都适用,并让你能够完全控制故障转移过程。

有关详细信息,请参阅Azure 存储 Mover 的客户发起的灾难恢复

备份和还原

Azure 存储 Mover 是一项迁移和数据移动编排服务。 它不存储迁移的数据。 该服务仅存储配置元数据,例如项目、终结点、作业定义和作业运行历史记录。 没有要备份的迁移数据。

若要保护存储移动器配置,请使用基础结构(例如Bicep文件)定义资源,并将这些定义存储在源代码管理中。 如果需要重新创建资源,可以从存储的配置重新部署它。

对于大多数解决方案,不应只依赖于备份。 请改用本指南中所述的其他功能来支持复原要求。 但是,备份可以防范其他方法没有的一些风险。 有关详细信息,请参阅什么是冗余、复制和备份?

服务维护期间的系统弹性能力

Microsoft定期应用服务更新并执行其他维护。 Azure平台会自动处理这些活动,确保维护是无缝且透明的。 除非通过 Azure 服务运行状况计划内维护事先通知,否则维护事件期间预计不会出现停机。

存储移动器代理会自动升级。

服务级别协议

存储移动器是迁移服务,不提供可用性服务级别协议(SLA)。 但是,Storage Mover 文档介绍了预期的规模和性能目标。 这些目标基于模拟迁移,不是保证或承诺。