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

文件和文件夹存储的云迁移基础知识

每个迁移都从业务需求开始。 云迁移通过移动其所依赖的文件和文件夹来转换工作负荷。 工作负载可以是应用程序,也可以是直接用户访问。 在任一情况下,工作负荷都依赖于迁移到云的存储。 工作负荷也可能移动到云中,或保留到位位置,但需要更改配置才能指向新的云存储位置。 这些详细信息记录在具有存储部分的云解决方案设计中

本文的目的是深入了解如何实现到 Azure 的存储迁移,从而实现存储的云解决方案设计。

Summary illustration showing migration phases: Discover, Assess, Plan, Deploy, Migrate, Post-Migrate to illustrate the sections to come in this article.

要将文件和文件夹迁移到云,需要进行仔细规划并在此过程中考虑许多因素,以实现最佳结果。 Azure 存储移动程序不断提供各种功能和迁移方案,可在迁移过程中为你提供支持。 在本文中,我们将迁移的常见任务分为每个阶段,每个任务都有自己的部分。

阶段 1:发现

在发现阶段,需要确定哪些源位置是迁移项目的一部分。 Azure 存储移动程序以文件共享的形式处理源位置。 这些位置可以驻留在网络连接存储 (NAS)、服务器甚至工作站上。 文件共享的常见协议是 SMB(服务器消息块)和 NFS(网络文件系统)。

如果工作负载使用直接连接的存储 (DAS),则 Azure 存储移动程序很可能仍然可以帮助进行云迁移。 可以在本地文件夹路径上创建文件共享,然后通过本地网络共享该位置。 有了适当的权限和网络注意事项,你现在可以将此位置迁移到 Azure,即使应用程序使用本地路径也是如此。

首先列出工作负荷所依赖的所有共享。 请参阅云解决方案设计,了解哪些共享保留在本地,哪些共享在云迁移范围内。 尽可能缩小迁移项目的范围。 最终,工作负荷需要故障转移到云位置。 源位置数越小,工作负荷的故障转移就越容易。

如果需要在大概相同的时间内迁移多个工作负载的存储,则应将这些工作负载拆分为单个迁移项目。

重要

不建议在单个迁移项目中包含多个工作负载。 每个工作负载都应有自己的迁移项目。 以这种方式构建项目将大大简化迁移管理和工作负荷故障转移。

发现阶段完成后,将获得需要迁移到 Azure 的文件共享列表。 每个工作负载都应有各自不同的列表。

Azure 存储移动程序提供迁移项目,可用于创建和存储单个列表。 一种常见做法是将迁移项目命名为要迁移的工作负载。 这种做法可简化对计划步骤和迁移过程的监督。

阶段 2:评估

Azure 提供各种类型的云存储。 文件迁移到 Azure 的一个重要方面是确定哪个 Azure 存储选项适合你的数据。 文件和文件夹的数量及其目录结构、访问协议、文件保真度和其他方面是完整的云解决方案设计的重要输入。

在评估阶段,你将调查已发现和上市的共享,以确保为云解决方案设计选择了正确的 Azure 目标存储。

任何迁移的一个关键在于,将文件从其当前存储位置移到 Azure 时捕获所需的文件保真度。 不同的文件系统和存储设备会记录一系列文件保真度信息,但在 Azure 中完全保存或保留这些信息并不总是必要的。 方案所需的文件保真度,以及 Azure 中存储产品/服务支持的保真度,也有助于在 Azure 中选择正确的存储解决方案。 通常,常规用途的文件数据至少依赖于部分文件元数据。 应用数据可能不会。

下面是文件的两个基本组件:

  • 数据流:文件的数据流存储文件内容。
  • 文件元数据:文件元数据具有以下子组件
    • 文件属性,例如 只读
    • 文件权限,如 NTFS 权限或文件和文件夹访问控制列表(ACL)
    • timestamps,尤其是 创建上次修改 的时间戳
    • 备用数据流,这是用于存储大量非标准属性的空间

可以将迁移中的文件保真度定义为能够执行以下操作的能力:

  • 从源读取所有必需的文件信息。
  • 通过迁移服务或工具传输文件。
  • 将文件存储在迁移的目标存储中。

评估阶段的输出是在源共享中找到的各个方面的列表。 这些方面可能包括以下数据:

  • 共享大小。
  • 命名空间项数,或文件和文件夹的组合计数。
  • 需要在 Azure 存储目标中保留的保真度级别。
  • 在 Azure 存储目标中保持本机工作的保真度级别。

此见解是针对存储的云解决方案设计的重要输入。

阶段 3:计划

在规划阶段,将发现的源共享与 Azure 中的目标位置组合在一起。

规划阶段将每个源共享映射到特定目标,例如 Azure Blob 容器或 Azure 文件共享。 为此,必须计划和记录哪些 Azure 订阅和存储帐户包含目标资源。

在 Azure 存储移动程序服务中,可以将每个源/目标对记录为作业定义。 作业定义嵌套在之前创建的迁移项目中。 每个源/目标对都需要一个新的、不同的作业定义。

注意

在此版本的 Azure 存储 Mover 中,目标存储必须存在,然后才能创建作业定义。 例如,如果目标是 Azure Blob 容器,则需要在创建新的作业定义之前对其进行部署。

完成计划阶段后,源共享将映射到 Azure 目标位置。 如果目标尚不存在,则必须先完成下一阶段(部署),然后才能在 Azure 存储移动程序服务中记录迁移计划。

阶段 4:部署

完成迁移计划后,需要确保部署目标Azure 存储存储帐户和容器等资源。 需要完成此部署,然后才能将迁移计划记录为Azure 存储 Mover 中每个源/目标对的作业定义。

当前,Azure 存储移动程序无法帮助进行目标资源部署。 若要部署 Azure 存储,可以使用 Azure 门户、Azure PowerShell、Azure CLI 或 Bicep 模板

重要

部署Azure 存储时,请查看Azure 存储 Mover 的支持源/目标对组合,并确保你未配置不受支持的方案。

阶段 5:迁移

将文件和文件夹复制到 Azure 目标位置的工作发生在迁移阶段。

迁移阶段有两个主要注意事项:

  • 最大程度地减少工作负荷的停机时间。
  • 确定正确的迁移模式。

最大限度减少故障时间

在迁移期间,工作负荷可能无法访问它所依赖的存储的时间段。 尽量减少这些时间段通常是一个要求。 本部分讨论一种通用策略,以最大程度地减少工作负荷停机时间。

多次传递的聚合迁移

在此策略中,将数据从源复制到目标多次。 在复制迭代期间,源仍然可用于读取和写入工作负载。 在最后一次复制迭代之前,需要将源脱机。 预计最终副本的完成速度比初始副本快。 最后一次复制后,工作负载将故障转移,以便在 Azure 中使用新的目标存储。

Azure 存储移动程序支持根据需要从源复制到目标。 作业定义存储源、目标和迁移设置。 可以指示迁移代理执行作业定义,这会导致作业运行。 在此链接的文章中,可以了解有关存储移动程序资源层次结构的详细信息。

迁移模式

如何将文件从源复制到目标,这同样重要,因为文件复制到何处。 不同的迁移方案需要不同的设置。 在迁移期间,可能会多次从源复制到目标,以 最大程度地减少停机时间。 当文件或文件夹在复制迭代之间更改时, 复制模式 确定迁移引擎的行为。 根据在迁移期间命名空间可能发生的更改,仔细选择正确的模式。

提供两种复制模式:

Copy mode 迁移行为
镜像
目标类似于源。
- 如果目标中的文件在源中不存在,则会将其删除。
- 目标中的文件和文件夹将更新为匹配源。
合并
目标的内容比源多,而且你还在不断向其添加内容。
- 文件保存在目标中,即使它们不存在于源中也是如此。
- 更新了具有匹配名称和路径的文件以匹配源。
- 副本之间的文件夹重命名可能会导致目标内容重复。

阶段 6:迁移后任务

在此迁移阶段,需要考虑其他配置和服务,以便对工作负荷进行故障转移并保护数据。

例如,故障转移工作负载需要网络路径才能安全地访问 Azure 存储。 如果在迁移期间使用了 Azure 存储帐户的公共终结点,请考虑为存储帐户配置专用终结点,并启用防火墙规则以禁用通过公共终结点的数据请求。

以下是一些建议:

后续步骤

下列文章可帮助你利用 Azure 存储移动程序进行云迁移: