取消配置或删除 Azure 的文件同步服务器终结点

移除服务器端点会停止该服务器位置与同一同步组内关联的 Azure 文件共享(云端点)之间的同步。 在撤销配置服务器端点之前,应执行几个步骤来维护数据的完整性和可用性。 本文介绍几种取消预配方法,并按方案提供适当的指导。 按照最适合你的用例的步骤执行。

如果可以永久丢失当前正在同步的数据,则可以直接解除预配服务器终结点。

警告

不要尝试通过取消预配服务器终结点来解决同步问题。 有关故障排除帮助,请参阅 排查 Azure 文件同步问题。如果删除服务器终结点时未确保服务器端和云端中的一个与另一个完全同步,则可能会发生永久性数据丢失。 删除服务器终结点是一项破坏性作,在重新创建服务器终结点后,服务器终结点中的分层文件不会“重新连接到其 Azure 文件共享上的位置”。 这将导致同步错误。 此外,服务器终结点命名空间外部存在的分层文件可能会永久丢失。 即使您从未启用云分层,分层文件也可能存在于您的服务器终结点中。

方案 1:我想删除服务器端点,并且不需要 Azure 文件同步服务器本地数据

目标是确保你的云端点数据是最新的。 若要让完整的文件集在服务器终结点保持最新,请参阅 方案 2

属于此类别的一些用例包括:

  • 迁移到 Azure 文件共享
  • 无服务器
  • 停止使用特定的服务器终结点路径,同时使同步组的其余部分保持不变

对于此方案,在删除服务器终结点之前,需要执行三个步骤:

  1. 撤销用户访问权限。
  2. 启动特殊的 VSS 上传会话。
  3. 等待最终同步会话完成。

删除对服务器终结点的用户访问权限

在取消配置前,停止用户对服务器端点的访问,这样在最终同步运行期间不会发生新的文件更改。 这一步让云端有机会跟上你当前的数据状态。

删除访问权限意味着停机。 若要减少停机时间,请考虑将用户访问权限重定向到云终结点。

记录你移除用户访问权限的日期和时间,然后进入下一部分。

启动一个特殊的卷快照服务 (VSS) 上传会话

每天,Azure 文件同步 都会在服务器上创建一个临时的 VSS 快照,用于同步当前被应用程序打开或锁定的文件(即拥有开放句柄的文件)。 为了确保最终同步会话上传最新数据并减少每项错误,可以发起一个专门的VSS上传会话。 此步骤还会触发一个特殊的同步上传会话,该会话在快照拍摄后开始。

操作方法是在本地服务器上打开任务计划器,进入 Microsoft\StorageSync,右键点击任务VssSyncScheduledTask,然后选择执行

重要

记下完成此步骤的日期和时间。 在下一部分中需要用到它。

计划 VSS 上传会话的屏幕截图。

等待最终同步上传会话完成

为了确保最新数据在云端,请等待最终同步上传会话完成。

若要检查同步会话的状态,请在本地服务器上打开 事件查看器 。 进入遥测事件日志(应用与服务\Microsoft\FileSync\Agent)。 确保你看到9102事件,'同步方向'=上传,'HResult'=0(无错误),'PerItemErrorCount'=0(所有文件成功同步),这些事件发生在你手动启动VSS上传会话之后。

检查最终同步会话是否已完成的屏幕截图。

如果“PerItemErrorCount”大于 0,则文件无法同步。使用 FileSyncErrorsReport.ps1 查看无法同步的文件。此 PowerShell 脚本通常位于安装了 Azure 文件同步代理的服务器上的此路径: C:\Program Files\Azure\StorageSyncAgent\FileSyncErrorsReport.ps1

如果这些文件不重要,则可以删除服务器终结点。 如果这些文件很重要,请修复错误,并等待满足条件的另一个 9102 事件,即 'sync direction' = upload,'HResult' = 0,'PerItemErrorCount' = 0,然后再删除您的服务器终结点。

方案 2:我想删除服务器终结点,我需要 Azure 文件同步服务器拥有整个数据集

在这种情况下,目标是确保你的本地服务器或虚拟机上的数据是最新的。 若要让完整的文件集在云端节点中保持最新,请参阅 方案 1

对于此方案,在删除服务器终结点之前,需要执行四个步骤:

  1. 禁用云分层。
  2. 恢复分层文件。
  3. 启动云更改检测。
  4. 等待最终同步会话完成。

禁用 Azure 文件同步 云分层

进入你想取消配置的 服务器端点属性 中的云分层部分,关闭云分层。

将所有分层文件调回本地服务器

即使禁用了云分层,也必须召回所有分层文件,以确保每个文件都存储在本地。

在召回任何文件之前,请确保本地有足够的可用空间来存储所有文件。 可用空间大约是云中 Azure 文件共享的大小减去服务器上的缓存大小。

Invoke-StorageSyncFileRecall使用 PowerShell cmdlet 并指定 SyncGroupName 参数以召回所有文件。

Invoke-StorageSyncFileRecall -SyncGroupName "samplesyncgroupname" -ThreadCount 4

该 cmdlet 运行完成后,请继续阅读下一部分。

启动云更改检测

在云中启动更改检测可确保已同步最新的更改。

可以通过 Invoke-AzStorageSyncChangeDetection cmdlet 启动更改检测。

Invoke-AzStorageSyncChangeDetection -ResourceGroupName "myResourceGroup" -StorageSyncServiceName "myStorageSyncServiceName" -SyncGroupName "mySyncGroupName" -CloudEndpointName "myCloudEndpointGUID"

此步骤可能需要一段时间才能完成。

重要

此启动的云更改检测扫描完成后,请记下它完成的日期和时间。 在下一部分中需要用到它。

等待最终同步会话完成

为了确保本地服务器上的数据是最新的,请等待最终同步上传会话完成。

要查看此状态,请访问本地服务器的 事件查看器。 进入遥测事件日志(应用与服务\Microsoft\FileSync\Agent)。 确保你看到9102事件,分别是 sync direction =下载、 HResult =0(无错误)和 PerItemErrorCount =0(所有文件成功同步),这些事件发生在云变更检测结束后的日期和时间。

检查最终同步会话是否已完成的屏幕截图。

如果“PerItemErrorCount”大于 0,则文件无法同步。使用 FileSyncErrorsReport.ps1 查看无法同步的文件。此 PowerShell 脚本通常位于安装了 Azure 文件同步代理的服务器上的此路径: C:\Program Files\Azure\StorageSyncAgent\FileSyncErrorsReport.ps1

如果这些文件不重要,则可以删除服务器终结点。 如果这些文件很重要,请修复错误,并等待另一个“同步方向”= 下载、“HResult”= 0 和 “PerItemErrorCount”= 0 的 9102事件发生,然后再删除您的服务器终结点。

后续步骤