你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
使用 Azure 文件同步时,将文件从一个 Azure 文件共享迁移到另一个 Azure 文件共享
本文介绍如何在使用 Azure 文件同步时将文件从一个 SMB Azure 文件共享迁移到另一个 SMB Azure 文件共享,即使文件共享位于不同的存储帐户中也是如此。 此过程因是否启用了云分层而异。
可以从服务器终结点属性下的 Azure 门户检查云分层的状态。 如果云分层处于关闭状态,请参阅在云分层关闭时迁移文件。 如果启用云分层,请参阅在启用云分层时迁移文件。
云分层关闭时迁移文件
如果不使用云分层,则所有数据都是 Azure 文件同步服务器上的本地数据,可以使用 Azure 文件同步将数据上传到另一个共享。
以下说明假定同步组中有一台 Azure 文件同步服务器。 如果有多个 Azure 文件同步服务器连接到现有共享,则应先移除所有其他服务器终结点。 在一个终结点上执行完整迁移,然后将其他服务器终结点重新连接到新的同步组。
确保服务器终结点上的云分层处于关闭状态。 可以在服务器终结点属性下从 Azure 门户检查和更改状态。
运行 Invoke-StorageSyncFileRecall cmdlet 并使用 -PerFileRetryCount 参数,以确保重试任何未能调用的文件。 由于首次运行此 cmdlet 时可能会有一个活动的云分层会话,因此最好运行它两次并检查摘要输出,从而确保在继续操作之前,所有文件都完全召回并位于服务器上。
创建新的同步组,并将云终结点关联到创建的 Azure 文件共享。 同步组必须与新目标 Azure 文件共享位于同一区域中的存储同步服务中。
现在有两个选项:可以使用同一本地文件服务器将数据同步到新的 Azure 文件共享(建议),也可以移动到新的 Azure 文件同步服务器。
移动到新的 Azure 文件同步服务器(可选)
如果计划使用相同的本地文件服务器,可以跳过本部分,并继续连接到新的 Azure 文件共享。
如果要移动到新的本地 Azure 文件同步,可以使用存储迁移服务 (SMS):
- 复制所有共享级别权限
- 进行多次传递,以赶上迁移期间发生的更改
- 协调到新服务器的直接转换
只需设置新的本地文件服务器,然后将新服务器连接到 Azure 文件同步和新的云终结点。 然后使用 SMS 从源服务器迁移到目标服务器。
(可选)可以将源共享手动复制到现有文件服务器上的另一个共享。
连接到新的 Azure 文件共享
按照这些说明连接到新的 Azure 文件共享。
启用云分层时迁移文件
如果使用 Azure 文件同步的云分层功能,建议从 Azure 内部复制数据,以防止通过源调用不必要的云。 此过程将略有不同,具体取决于是在同一区域内迁移还是跨区域迁移。 迁移过程在直接转换期间始终需要一段时间的停机时间。
Azure 文件同步注册的服务器只能加入一个存储同步服务,并且存储同步服务必须与共享位于同一区域中。 因此,如果要在区域之间移动,则需要迁移到连接到目标共享的新 Azure 文件同步服务器。 如果要在同一区域中移动,则可以使用现有的 AFS 服务器。
重要
在迁移场景中装载 Azure 文件共享时,必须使用存储帐户密钥以确保 VM 有权访问所有文件。 请勿使用域标识。
在同一区域内迁移
如果云分层已打开,并且要在同一区域中迁移,请按照这些说明进行操作。 可以使用现有的 Azure 文件同步服务器(查看示意图),也可以选择创建新服务器(如果担心影响现有共享)。
创建新的 SMB Azure 文件共享作为目标共享。
在现有存储同步服务中创建新的同步组,并将云终结点关联到目标共享。 请勿将现有 Azure 文件同步服务器连接到新的同步组。
将 Windows Server VM (IaaS VM) 部署在源和目标文件共享所在的同一 Azure 地区中。 为了确保良好的性能,建议使用具有至少 56 GiB 内存和高级存储的多核 VM 类型,例如 standard_DS5_v2。
在 IaaS VM 中,为源和目标文件共享使用不同的磁盘。 将一个小磁盘用于连接到现有同步组的源数据,以及一个可以保存整个数据集的较大磁盘。
在 IaaS VM 上安装 Azure 文件同步代理并注册服务器。
在 Azure 门户中,转到原始同步组(源共享),并在 IaaS VM 上创建服务器终结点(使用较小的磁盘)。 在此服务器终结点上启用云分层。
在 Azure 门户中,转到新的同步组(目标共享),并在 IaaS VM 上创建服务器终结点(使用较大的磁盘)。
现在,可以转到 IaaS VM,并启动源共享与目标共享之间的初始复制。
跨区域迁移
如果云分层已启用,并且要迁移到另一个 Azure 区域中的文件共享,请按照这些说明操作。 若要跨区域迁移,需要迁移到连接到目标共享的新 Azure 文件同步服务器(查看示意图)。
在新的地区中创建新的 SMB Azure 文件共享作为目标共享。
创建一个新的本地 Azure 文件同步文件服务器,该服务器将同步到新地区中的目标共享。 请勿将新的服务器连接到目标同步组。
使用小磁盘为源数据部署源 Azure 文件同步 VM。 在源共享同步组中创建服务器终结点。 在此服务器终结点上启用云分层。
在源共享所在的同一地区中,部署目标 Azure 文件同步 VM,并将此服务器注册到新地区中的存储同步服务。 使用一个可以保存整个数据集的较大磁盘。
在 Azure 门户中,导航到新的存储同步服务,转到目标共享的同步组,并在目标 Azure 文件同步 VM 上创建服务器终结点。
在目标 Azure 文件同步 VM 上,将驱动器装载到源 Azure 文件同步 VM 上的源共享。
现在,可以在目标 Azure 文件同步 VM 上启动源共享与目标共享之间的初始复制。
初始复制
使用 Windows 中内置的工具 Robocopy 将文件从源共享复制到目标共享。
在 Windows 命令提示符处运行此命令。 (可选)可以将日志记录功能的标志作为最佳做法(/NP、/NFL、/NDL、/UNILOG)。
robocopy <source> <target> /MIR /COPYALL /MT:16 /R:2 /W:1 /B /IT /DCOPY:DAT
如果源共享装载为 s:\和目标为 t:\,命令如下所示:
robocopy s:\ t:\ /MIR /COPYALL /MT:16 /R:2 /W:1 /B /IT /DCOPY:DAT
在 Robocopy 的执行过程中,将本地 Azure 文件同步服务器连接到目标同步组。 首先使用高可用空间策略配置新的服务器终结点位置,因为你将在最新更改中复制,并且需要确保有足够的空间。 例如,如果当前缓存位置为 D:\cache,请对新服务器终结点使用 T:\cache。 如果使用现有 Azure 文件同步服务器(在同一区域中迁移),请将本地缓存放在与现有终结点不同的卷上。 只要目录不是连接到源共享的服务器终结点的同一目录或子目录,就可使用相同的卷。 在此终结点上启用云分层,以便不会自动将任何数据下载到本地服务器。 在将服务器终结点创建到目标同步组后,请为其留出一些时间来同步命名空间数据。
等待初始 Robocopy 运行成功完成,以及从源到目标的同步完成。 我们建议再等待一小时,以确保所有剩余的更改都已同步。 若要检查所有更改是否都已同步,请参阅如何监视当前同步会话的进度?
同步最终更改
在同步最终更改之前,请关闭现有共享的 SMB 共享,或者至少将其设为只读。 关闭 SMB 共享后,请等待一小时,以确保所有剩余更改都同步到 Azure。
如果源文件共享和目标之间存在连接,则可以将 Robocopy 最近的更改传递给目标:
robocopy s:\ t:\ /mir /copyall /mt:16 /DCOPY:DAT /XD S:\$RECYCLE.BIN /XD "S:\System Volume Information"
如果无法将最新更改直接复制到新文件共享,请在 IaaS VM 上再次运行 Robocopy 镜像命令。 这会同步自初始运行以来发生的所有更改,跳过已复制的任何内容。
robocopy s:\ t:\target /mir /copyall /mt:16 /DCOPY:DAT
IaaS VM 同步完成后,本地目标代理也将是最新的。
在新服务器终结点上启用共享
如果要迁移到新的 Azure 文件同步服务器,则应将旧服务器重命名为随机名称,然后将新服务器重命名为与旧服务器相同的名称。 这样,最终用户的文件共享 URL 将相同。
启用新的共享 T:\cache。 所有相同的文件 ACL 都将存在。 需要重新创建旧共享上存在的任何共享级别权限。
删除旧的服务器终结点和同步组
确认新同步组的一切正常后,可以取消预配旧同步组。 首先删除服务器终结点。 在删除服务器终结点之前,无需将所有数据撤回到旧服务器。