对 Azure 文件同步进行故障排除
你可以使用 Azure 文件同步,即可将组织的文件共享集中在 Azure 文件中,又不失本地文件服务器的灵活性、性能和兼容性。 本文旨在帮助排查和解决在 Azure 文件同步部署中可能遇到的问题。 此外,还介绍了在需要对问题进行更深入调查的情况下,如何从系统收集重要日志。
常见故障排除文档
根据遇到的问题,查看相应的故障排除文档:
问题 | 疑难解答文档 |
---|---|
代理安装或服务器注册问题 | 排查 Azure 文件同步代理安装和服务器注册问题 |
云终结点或服务器终结点创建问题,或已注册的服务器处于脱机状态 | 排查 Azure 文件同步组管理问题 |
服务器终结点有错误状态,或者文件无法同步 | 排查Azure 文件同步同步运行状况和错误 |
文件无法分层或召回 | 排查 Azure 文件同步云分层问题 |
存储同步代理服务 (FileSyncSvc) 无法启动 | Azure 文件同步排除故障 |
服务器上的内存使用率较高 | Azure 文件同步排除故障 |
如果不确定从何处开始,请参阅 常规故障排除第一步。
常规故障排除首要步骤
如果遇到Azure 文件同步问题,请首先完成以下步骤:
- 使用服务器上的Azure 门户或事件日志检查是否存在任何错误。 有关如何使用Azure 门户或事件日志查看Azure 文件同步环境的运行状况的信息,请参阅“监视Azure 文件同步”。
- 验证 Azure 文件同步服务是否正在服务器上运行。
- 打开服务 MMC 管理单元,然后验证存储同步代理服务 (FileSyncSvc) 是否正在运行。 如果服务未运行且无法启动,请参阅 存储同步代理服务(FileSyncSvc)无法启动。
- 验证Azure 文件同步筛选器驱动程序(StorageSync.sys和StorageSyncGuard.sys)是否在服务器上运行:
- 在权限提升的命令提示符下,运行
fltmc
。 验证StorageSync.sys和StorageSyncGuard.sys文件系统筛选器驱动程序是否已列出。
- 在权限提升的命令提示符下,运行
- 使用服务器上的 Debug-StorageSyncServer cmdlet 检查常见问题。
Debug-StorageSyncServer cmdlet
该 Debug-StorageSyncServer
cmdlet 将诊断Azure 文件同步服务器上的常见问题,例如证书配置错误和不正确的服务器时间。 我们还通过将某些现有脚本和 cmdlet 的功能(AFSDiag.ps1、FileSyncErrorsReport.ps1 和Test-StorageSyncNetworkConnectivity
)合并到 Debug-StorageSyncServer
cmdlet 中来简化Azure 文件同步故障排除。
若要在服务器上运行诊断程序,请运行以下 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -Diagnose
若要测试服务器上的网络连接,请运行以下 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -TestNetworkConnectivity
若要识别服务器上无法同步的文件,请运行以下 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -FileSyncErrorsReport
若要在服务器上收集日志和跟踪,请运行以下 PowerShell 命令:
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Debug-StorageSyncServer -AFSDiag -OutputDirectory C:\output -KernelModeTraceLevel Verbose -UserModeTraceLevel Verbose
如何在 Azure 文件同步 服务器上收集日志和跟踪
如果在执行故障排除文档中的步骤后未解决问题,请运行 AFSDiag 工具并将其.zip文件输出发送到分配给案例的支持工程师进行进一步诊断。
若要运行 AFSDiag,请执行以下步骤:
打开提升的 PowerShell 窗口,然后运行以下命令(在每个命令后按 Enter ):
注意
AFSDiag 会在收集日志之前在其中创建输出目录和临时文件夹,并将在执行后删除临时文件夹。 指定不包含数据的输出位置。
Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll" Debug-StorageSyncServer -AFSDiag -OutputDirectory C:\output -KernelModeTraceLevel Verbose -UserModeTraceLevel Verbose
重现问题。 完成后,输入 D。
随即会将一个包含日志和跟踪文件的 .zip 文件保存到指定的输出目录。
存储同步代理服务 (FileSyncSvc) 无法启动
安装或升级Azure 文件同步代理(v17.3 或更高版本)后,可能会遇到以下症状之一:
存储同步代理服务(FileSyncSvc)无法启动并出现以下错误:
Error 0x80070057: The parameter is incorrect.
使用 Register-AzStorageSyncServer cmdlet 注册服务器失败,并出现以下错误:
Register-AzStorageSyncServer: Exception of type 'Commands.StorageSync.Interop.Exceptions.ServerRegistrationException' was thrown.
ServerRegistration.exe或AfsUpdater.exe无法打开
出现此问题的原因是,Azure 文件同步代理依赖于 Windows 安全功能,并且未安装此安全功能的更新。
若要解决此问题,请验证 Windows Server 是否安装了以下更新:
- Windows Server 2012 R2:KB5021653
- Windows Server 2016:KB5040562
- Windows Server 2019:KB5005112 和 KB5040430
服务器上的内存使用率较高
Azure 文件同步使用可扩展存储引擎(ESE)数据库进行同步和云分层。 ESE 数据库最多可以使用 80% 的系统内存来提高性能。 若要限制 ESE 数据库使用的内存量,可以在服务器上配置 MaxESEDbCachePercent
注册表设置。
若要将 ESE 内存使用率限制降低到 60%,这是内存利用率和足够缓存之间的良好平衡,以保持数据库体面的性能,请从提升的命令提示符运行以下命令:
REG ADD HKLM\Software\Microsoft\Azure\StorageSync /v MaxESEDbCachePercent /t REG_DWORD /d 60
MaxESEDbCachePercent
创建注册表设置后,重启存储同步代理(FileSyncSvc)服务。
另请参阅
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。