排查 Azure 文件同步代理安装和服务器注册问题

部署存储同步服务后,部署 Azure 文件同步的后续步骤是安装 Azure 文件同步代理并将 Windows Server 注册到存储同步服务。 本文旨在帮助你排查和解决在执行这些步骤时可能遇到的问题。

代理安装

如何检查 Azure 文件同步代理安装是否需要重启

安装Azure 文件同步代理可能需要重启才能完成。 例如,如果从低于 18.2.0.0 的版本进行更新,Azure 文件同步代理版本 19.1.0.0 需要在服务器上重启。

如果使用自动升级功能更新代理,请运行以下 PowerShell 命令来检查是否需要重启才能完成代理自动升级:

Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Get-StorageSyncServer

如果该属性的值 RebootNeededTrue,则需要重启。

代理更新未完成

升级Azure 文件同步代理时,可能会遇到以下症状之一:

  • AfsUpdater.exe在“安装更新”处挂起。
  • 代理安装在“停止监视代理”处挂起。

如果当前安装的 Azure 文件同步代理版本低于 v16.2, 并且Logman.exe 进程无法关闭,则会出现此问题。

若要解决此问题,请执行以下步骤:

  1. 打开 任务管理器
  2. 右键单击 LogMan 进程并选择“ 结束任务”。 重复此步骤,直到停止所有 LogMan 进程并且代理更新成功完成。

排查代理安装失败问题

如果Azure 文件同步代理安装失败,请找到位于代理安装目录中的安装日志文件。 如果在 C: 卷上安装 Azure 文件同步代理,则安装日志文件位于 C:\Program Files\Azure\StorageSyncAgent\InstallerLog 下。

备注

如果从命令行安装Azure 文件同步代理并使用/l\*v开关,则日志文件将位于执行代理安装的路径中。

使用 MSI 包安装代理的日志文件名称为 AfsAgentInstall。 使用 MSP 包(更新包)的代理安装的日志文件名称是 AfsUpdater

找到代理安装日志文件后,打开文件并在日志末尾搜索失败代码。 如果搜索“错误代码 1603”或“沙盒”,则应能够找到错误代码。

下面是代理安装失败的代码片段:

CAQuietExec64:      + CategoryInfo          : SecurityError: (:) , PSSecurityException  
CAQuietExec64:      + FullyQualifiedErrorId : UnauthorizedAccess  
CAQuietExec64:  Error 0x80070001: Command line returned an error.  
CAQuietExec64:  Error 0x80070001: QuietExec64 Failed  
CAQuietExec64:  Error 0x80070001: Failed in ExecCommon64 method  
CustomAction SetRegPIIAclSettings returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)  
Action ended 12:23:40: InstallExecute. Return value 3.  
MSI (s) (0C:C8) [12:23:40:994]: Note: 1: 2265 2:  3: -2147287035

对于此示例,代理安装失败,错误代码为 -2147287035 (ERROR_ACCESS_DENIED)。

代理安装失败,出现错误ERROR_NO_SYSTEM_RESOURCES和错误代码0x800705AA

由于系统资源不足,代理安装失败。 若要解决此问题,请释放服务器上的内存,然后重试安装。

代理安装失败,并出现错误:由于出错,存储同步代理安装向导提前终止

在代理安装日志中记录了以下错误:

CAQuietExec64:      + CategoryInfo          : SecurityError: (:) , PSSecurityException  
CAQuietExec64:      + FullyQualifiedErrorId : UnauthorizedAccess  
CAQuietExec64:  Error 0x80070001: Command line returned an error.  
CAQuietExec64:  Error 0x80070001: QuietExec64 Failed  
CAQuietExec64:  Error 0x80070001: Failed in ExecCommon64 method  
CustomAction SetRegPIIAclSettings returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)  
Action ended 12:23:40: InstallExecute. Return value 3.  
MSI (s) (0C:C8) [12:23:40:994]: Note: 1: 2265 2:  3: -2147287035 

如果使用组策略配置 PowerShell 执行策略 ,并且策略设置为“仅允许签名脚本”,则会出现此问题。Azure 文件同步代理中包含的所有脚本都已签名。 Azure 文件同步代理安装失败,因为安装程序使用跳过执行策略设置来完成脚本执行。

若要解决此问题,请暂时禁用服务器上的 “启用脚本执行 ”组策略设置。 代理安装完成后,就可以重新启用组策略设置了。

Active Directory 域控制器上的代理安装失败

在代理安装日志中记录了以下错误:

CAQuietExec64:  Error 0x80070001: Command line returned an error.
CAQuietExec64:  Error 0x80070001: CAQuietExec64 Failed
CustomAction InstallHFSRequiredWindowsFeatures returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 8:51:12: InstallExecute. Return value 3.
MSI (s) (EC:B4) [08:51:12:439]: Note: 1: 2265 2:  3: -2147287035

如果尝试在 Active Directory 域控制器上安装同步代理,其中 PDC 角色所有者位于 Windows Server 2008 R2 或更低操作系统版本上,则会出现此问题。

要解决此问题,请将 PDC 角色转移到另一运行 Windows Server 2012 R2 或更高版本的域控制器,然后安装同步。

在 Windows Server 2012 R2 上访问卷失败并出现错误:参数不正确

在 Windows Server 2012 R2 上创建服务器终结点后,访问卷时发生以下错误:

无法访问 driveletter:\。
参数不正确。

若要解决此问题,请安装 KB2919355 并重启服务器。 如果由于已安装更新而无法安装此更新,请转到 Windows 更新,安装 Windows Server 2012 R2 的最新更新并重启服务器。

服务器注册

排查服务器注册失败问题

如果服务器注册失败,请打开位于 %LocalAppData%\Temp 下的 AfsSrvRegistration*.log 文件并搜索“ErrorMessage”以获取错误详细信息。

如果无法根据错误消息确定原因,请使用 Debug-StorageSyncServer cmdlet 帮助诊断服务器注册是否由于网络问题或服务器证书而失败。

若要在服务器上运行诊断程序,请运行以下 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

使用 Register-AzStorageSyncServer cmdlet 的服务器注册失败并出现错误:灾难性故障(0x8000FFFF)

使用 Register-AzStorageSyncServer cmdlet 的服务器注册失败,并出现以下错误:

灾难性故障(0x8000FFFF(E_UNEXPECTED))“找不到此资源的系统分配托管标识”

当Azure 文件存储同步代理从版本 17.x 升级到 18.x,ServerType注册表值设置为意外值时,会出现此问题。

若要解决此问题,请通过从提升的命令提示符运行以下命令来删除 ServerType 注册表值:

reg delete HKLM\SOFTWARE\Microsoft\Azure\StorageSync /v ServerType /f  
net stop filesyncsvc  
net start filesyncsvc  

ServerType删除注册表值后,请重试服务器注册。

服务器注册未列出所有 Azure 订阅

使用 ServerRegistration.exe 注册服务器时,选择 Azure 订阅 下拉列表时,没有可选的订阅。

出现此问题的原因是 ServerRegistration.exe 仅从前五个 Microsoft Entra 租户中检索订阅。

若要增加服务器上的服务器注册租户限制,请创建一个 DWORD 值ServerRegistrationTenantLimitHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure\StorageSync,其值大于 5。

使用以下 PowerShell 命令注册服务器也可解决此问题:

Connect-AzAccount -Subscription "<guid>" -Tenant "<guid>"
Register-AzStorageSyncServer -ResourceGroupName "<your-resource-group-name>" -StorageSyncServiceName "<your-storage-sync-service-name>"

服务器注册未列出所有资源组

使用 ServerRegistration.exe注册服务器时,选择“ 资源组 ”下拉列表时缺少某些资源组。

此问题是由于已在 文件同步 Agent v19.1 中修复的已知问题导致的。 若要解决此问题,请安装最新版本的代理。

服务器注册会显示消息:“System.Net.Http, Version=4.2.0.0, Culture=neutral, PublicKeyToken=...”

当服务器缺少所需的 .NET Framework 版本时,会发生此错误。 Azure 文件同步的服务器注册需要 .NET Framework 4.7.2 或更高版本才能正常运行。

若要解决该问题,请执行以下步骤:

  1. 下载并安装 .NET Framework 4.7.2 或更高版本。
  2. 安装后重启服务器。
  3. 使用服务器注册 UI 或 PowerShell 重试服务器注册。

服务器注册失败并出现错误:作返回无效状态代码“未授权”

在服务器注册期间,可能会遇到以下错误:

操作返回的状态码无效:“未授权”

此问题是由于 Azure 文件同步 v20 代理中的 bug 导致的。 若要解决此问题,请通过运行以下 PowerShell 命令手动注册服务器:

Connect-AzAccount -Subscription "<your-subscription-guid>" -Tenant "<your-tenant-guid>"
Register-AzStorageSyncServer -ResourceGroupName "<your-resource-group-name>" -StorageSyncServiceName "<your-storage-sync-service-name>"

备注

将占位符值替换为订阅 ID、租户 ID、资源组名称和存储同步服务名称。

完成手动注册后,验证服务器是否显示在 Azure 门户中 的已注册服务器 下。

服务器注册显示以下消息:“此服务器已注册”

显示“服务器已注册”错误消息的服务器注册对话框的屏幕截图。

如果服务器以前已注册到存储同步服务,则会出现错误代码为0x80C80064的此消息。 若要从当前存储同步服务中注销服务器,然后注册到新的存储同步服务,请完成使用 Azure 文件同步注销服务器中所述的步骤。

如果服务器未在存储同步服务中的 已注册服务器 下列出,请在要注销的服务器上运行以下 PowerShell 命令:

Import-Module "C:\Program Files\Azure\StorageSyncAgent\StorageSync.Management.ServerCmdlets.dll"
Reset-StorageSyncServer

备注

如果服务器是群集的一部分,则 Reset-StorageSyncServer-CleanClusterRegistration 参数将取消注册群集中的所有服务器。

注册服务器时,我看到许多“网站不受信任”响应。为什么?

如果在服务器注册过程中启用了“Internet Explorer 增强的安全性”策略,则会出现此问题。 有关如何正确禁用 增强的 Internet Explorer 安全 策略的详细信息,请参阅 准备 Windows Server 以用于 Azure 文件同步 以及如何 部署 Azure 文件同步

服务器未列在 Azure 门户中的注册服务器中

如果服务器未在存储同步服务的 已注册服务器 下列出:

  1. 登录到要注册的服务器。
  2. 打开文件资源管理器,然后转到存储同步代理安装目录(默认位置为 C:\Program Files\Azure\StorageSyncAgent)。
  3. 运行 ServerRegistration.exe,并完成向导,将服务器注册到存储同步服务。

另请参阅

联系我们寻求帮助

如果有疑问或需要帮助, 请创建支持请求,或询问 Azure 社区支持。 还可以将产品反馈提交到 Azure 反馈社区