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

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

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

显示迁移阶段的摘要图:发现、评估、规划、部署、迁移、迁移后,以演示本文中要介绍的部分。

将文件和文件夹迁移到云需要仔细规划和许多注意事项才能获得最佳结果。 Azure 存储移动器提供了越来越多的功能和迁移方案,可帮助你进行旅程。 在本文中,我们将迁移的常见任务分为每个阶段,每个任务都有自己的部分。

阶段 1:发现

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

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

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

如果需要同时迁移多个工作负荷的存储,则应将它们拆分为单个迁移项目。

重要

不建议在单个迁移项目中包括多个工作负荷。 每个工作负荷都应有自己的迁移项目。 以这种方式组织项目结构将大大简化迁移管理和工作负载切换。

发现阶段的结果是需要迁移到 Azure 的文件共享列表。 每个工作负载都应有各自不同的列表。

Azure 存储移动器提供用于创建和存储单个列表的 迁移项目 。 一种常见做法是以您正在迁移的工作负载命名迁移项目。 这种做法简化了对规划步骤和迁移进度的监督。

阶段 2:评估

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

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

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

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

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

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

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

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

  • 份额大小
  • 命名空间项数,即文件和文件夹的总数。
  • 需要在 Azure 存储目标中保留的保真度级别。
  • 在 Azure 存储目标中保持本机工作的保真度级别。

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

阶段 3:规划

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

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

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

注释

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

规划阶段的结果是将源共享映射到 Azure 目标位置。 如果目标尚不存在,则必须完成下一阶段的“部署”,然后才能在 Azure 存储移动器服务中记录迁移计划。

阶段 4:部署

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

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

重要

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

阶段 5:迁移

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

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

  • 最大程度地减少工作负载的故障时间。
  • 确定正确的迁移模式。

最大程度地减少停机时间

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

多次传递的聚合迁移

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

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

迁移模式

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

有两种复制模式:

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

阶段 6:迁移后任务

在此迁移阶段,需要考虑其他配置和服务,使你能够故障转移工作负载并保护数据。

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

下面是一些其他建议:

后续步骤

这些文章可帮助你利用 Azure 存储移动器进行云迁移: