排查 Microsoft Azure 恢复服务 (MARS) 代理问题

本文介绍如何解决在配置、注册、备份和还原期间可能会出现的错误。

基本故障排除

我们建议在开始排查 Microsoft Azure 恢复服务 (MARS) 代理问题之前检查以下各项:

提供的保管库凭据无效

错误消息:提供的保管库凭据无效。 该文件已损坏,或者没有与恢复服务关联的最新凭据。 (ID:34513)

注意

确保更新 MARS 代理,使保管库凭据能够正常工作。 旧版本可能会导致验证错误。

原因 建议的操作
保管库凭据无效

保管库凭据文件可能已损坏、可能已过期,或者其文件扩展名可能不是“.vaultCredentials”。 (例如它们可能在注册前 10 多天就下载了。)
请从 Azure 门户上的恢复服务保管库下载新凭据。 然后相应地执行以下步骤:

- 如果已经安装和注册了 MARS,请打开 Azure 备份代理 MMC 控制台。 然后,在“操作”窗格中选择“注册服务器”,以使用新凭据完成注册 。
- 如果新的安装失败,请尝试使用新凭据重新安装。

注意:如果已下载多个保管库凭据文件,在接下来的 10 天内,只有最新文件才有效。 我们建议下载新的保管库凭据文件。

- 若要防止在保管库注册过程中出现错误,请确保已安装 MARS 代理版本 2.0.9249.0 或更高版本。 如果没有,我们建议你从此处安装它。
代理服务器/防火墙正在阻止注册

未建立 Internet 连接

如果你的计算机具有有限的 Internet 访问权限,并且你不确保防火墙、代理和网络设置是否允许访问 FQDN 和公共 IP 地址,则注册将失败。
执行以下步骤:


- 与 IT 团队协作,确保系统已建立 Internet 连接。
- 如果没有代理服务器,请确保在注册代理时不要选择代理选项。 检查代理设置
- 如果你有防火墙/代理服务器,请与你的网络团队合作,以允许访问以下 FQDN 和公共 IP 地址。 对以下列出的所有 URL 和 IP 地址的访问都使用端口 443 上的 HTTPS 协议。

URLs
*.microsoft.com
*.azure.cn
*.partner.microsoftonline.cn
*.chinacloudapi.cn
*blob.core.chinacloudapi.cn
*queue.core.chinacloudapi.cn
*blob.storage.chinacloudapi.cn


-完成上述故障排除步骤后,再次尝试注册。

如果通过 Azure ExpressRoute 进行连接,请确保按照 Azure ExpressRoute 支持中所述的内容配置设置。
防病毒软件正在阻止注册 如果服务器上安装了防病毒软件,请将排除规则添加到防病毒扫描中:

- scratch 和 bin 文件夹位置(<InstallPath>\Scratch\*<InstallPath>\Bin\*)下的每个文件和文件夹。
- cbengine.exe

其他建议

  • 转到 C:/Windows/Temp,检查是否存在超过 60,000 或 65,000 个扩展名为 .tmp 的文件。 如果存在,请删除这些文件。
  • 确保计算机的日期和时间与本地时区相匹配。
  • 确保已将这些站点添加到 Internet Explorer 中的受信任站点。

验证 Windows 的代理设置

  1. Sysinternals 页下载 PsExec。

  2. 在权限提升的命令提示符下运行 psexec -i -s "c:\Program Files\Internet Explorer\iexplore.exe"

    此命令将打开 Internet Explorer。

  3. 转到“工具”>“Internet 选项”>“连接”>“局域网设置”。

  4. 检查系统帐户的代理设置。

  5. 如果未配置代理但提供了代理详细信息,请删除这些详细信息。

  6. 如果已配置代理但代理详细信息不正确,请确保“代理 IP”和“端口”详细信息正确。

  7. 关闭 Internet Explorer。

无法下载保管库凭据文件

错误 建议的操作
未能下载保管库凭据文件。 (ID:403) - 使用其他浏览器尝试下载保管库凭据,或执行以下步骤:

a. 启动 Internet Explorer。 按 F12。
b. 转到“网络”选项卡,并清除缓存和 Cookie。
c. 刷新页面。

- 检查订阅是否被禁用/已过期。

- 检查是否有任何防火墙规则在阻止下载。

- 确保未用完保管库的限额(每个保管库 50 台计算机)。

- 确保用户拥有所需的 Azure 备份权限,可以下载保管库凭据并将服务器注册到保管库。 请参阅使用 Azure 基于角色的访问控制来管理 Azure 备份恢复点

Microsoft Azure 恢复服务代理无法连接到 Microsoft Azure 备份

错误 可能的原因 建议的操作
- Azure 恢复服务代理无法连接到 Azure 备份。 (ID:100050)请检查网络设置,并确保能够连接到 Internet。

- (407) 需要代理身份验证。
代理正在阻止连接。 - 在 Internet Explorer 中,转到“工具”>“Internet 选项”>“安全性”>“Internet”。 选择“自定义级别”,向下滚动到“文件下载”部分。 选择“启用”。
可能还需要将这些 URL 和 IP 地址添加到 Internet Explorer 中的受信任站点。

- 更改设置以使用代理服务器。 然后提供代理服务器详细信息。


- 如果计算机的 Internet 访问状态受限,请确保计算机或代理上的防火墙设置允许以下 URL 和 IP 地址

- 如果服务器中安装了防病毒软件,请从防病毒软件扫描中排除这些文件:
- CBEngine.exe(而非 dpmra.exe)。
- CSC.exe(与 .NET Framework 相关)。 服务器上安装的每个 .NET Framework 版本都有一个 CSC.exe。 排除受影响服务器上的所有 .NET Framework 版本的 CSC.exe 文件。

- scratch 文件夹或缓存位置。
scratch 文件夹的默认位置或缓存路径为 C:\Program Files\Azure Recovery Services Agent\Scratch。

- C:\Program Files\Azure Recovery Services Agent\Bin 中的 bin 文件夹。
无法通过 Azure 备份验证服务器注册状态。 验证是否已连接到 Internet 并正确配置代理设置。 MARS 代理无法联系 Azure 服务。 - 确保网络连接和代理设置。

- 确保正在运行最新的 MARS 代理。

- 确保服务器在 TLS 1.2 上运行

无法使用指定的保管库凭据文件,因为它不是从与此服务器关联的保管库中下载的

错误 可能的原因 建议的操作
无法使用指定的保管库凭据文件,因为它不是从与此服务器关联的保管库中下载的。 (ID:100110) 请提供相应的保管库凭据。 保管库凭据文件来自与此服务器已注册到的保管库不同的保管库。 确保目标计算机和源计算机已还原到同一个恢复服务保管库。 如果目标服务器已注册到其他保管库,请使用“注册服务器”选项注册到正确的保管库。

备份作业已完成,但出现警告

  • 当 MARS 代理在备份过程中循环访问文件和文件夹时,可能会遇到各种情况,这些情况可能会导致备份标记为已完成,但出现警告。 在这些情况下,作业显示为已完成,但出现警告。 这样是可以的,但这意味着至少有一个文件未能备份成功。 即作业跳过了该文件,但备份了数据源中的所有其他相关文件。

    Backup job completed with warnings

  • 可能导致备份跳过文件的情况包括:

    • 不受支持的文件属性(例如,OneDrive 文件夹中不支持压缩流和重新分析点)。 有关完整列表,请参阅支持矩阵
    • 文件系统问题
    • 其他进程干扰(例如,包含文件句柄的防病毒软件可能会阻止 MARS 代理访问文件)
    • 应用程序锁定的文件
  • 备份服务会将日志文件中的这些文件标记为失败,采用以下命名约定:C:\Program Files\Azure Recovery Service Agent\temp 文件夹下的 LastBackupFailedFilesxxxx.txt

  • 若要解决此问题,请查看日志文件以了解问题的性质:

    错误代码 原因 建议
    0x80070570 该文件或目录已损坏且无法读取。 在源卷上运行 chkdsk。
    0x80070002、0x80070003 系统找不到指定的文件。 确保暂存文件夹未满

    检查在其中配置暂存空间的卷是否存在(未删除)

    确保从计算机上安装的防病毒软件中排除 MARS 代理
    0x80070005 访问被拒绝 检查是否有防病毒软件或其他第三方软件在阻止访问
    0x8007018b 拒绝访问云文件。 OneDrive 文件、Git 文件或计算机上可处于脱机状态的任何其他文件
  • 可使用将排除规则添加到现有策略,从备份策略中排除不受支持的、缺少的或已删除的文件,以确保备份成功。

  • 避免在顶级文件夹中删除并重新创建具有相同名称的受保护文件夹。 这样做可能会导致在出现警告的情况下完成备份,并显示错误:检测到严重的不一致,因此无法复制更改。如果需要删除和重新创建文件夹,请考虑在受保护的顶级文件夹下的子文件夹中执行此操作。

未能设置安全备份的加密密钥

错误 可能的原因 建议的操作
无法设置安全备份的加密密钥。 激活未完全成功,但是加密通行短语已保存到以下文件中。 - 服务器已注册到另一个保管库。

- 在配置期间,通行短语已损坏。
从该保管库中取消注册服务器,然后使用新通行短语重新注册。

激活未成功完成

错误 可能的原因 建议的操作
激活未成功完成。 由于内部服务错误 [0x1FC07],当前操作失败。 稍后重试操作。 如果该问题仍然存在,请联系 Microsoft 支持部门。 - scratch 文件夹位于空间不足的卷上。

- 错误地移动了 scratch 文件夹。

- 缺少 OnlineBackup.KEK 文件。
- 升级到最新版本的 MARS 代理。

- 将 scratch 文件夹或缓存位置移到可用空间相当于备份数据总大小 5% 到 10% 的卷。 若要正确移动缓存位置,请参阅有关备份文件和文件夹的常见问题中的步骤。

- 确保 OnlineBackup.KEK 文件存在。
scratch 文件夹的默认位置或缓存路径为 C:\Program Files\Microsoft Azure Recovery Services Agent\Scratch。

未正确配置加密通行短语

错误 可能的原因 建议的操作
错误 34506。 未在此计算机上正确配置存储的加密通行短语。 - scratch 文件夹位于空间不足的卷上。

- 错误地移动了 scratch 文件夹。

- 缺少 OnlineBackup.KEK 文件。
- 升级到最新版本的 MARS 代理。

- 将 scratch 文件夹或缓存位置移到可用空间相当于备份数据总大小 5% 到 10% 的卷。 若要正确移动缓存位置,请参阅有关备份文件和文件夹的常见问题中的步骤。

- 确保 OnlineBackup.KEK 文件存在。
scratch 文件夹的默认位置或缓存路径为 C:\Program Files\Azure Recovery Services Agent\Scratch。

- 如果最近移动了暂存文件夹,请确保暂存文件夹位置的路径与如下所示的注册表项项的值匹配:

注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Azure Backup\Config
注册表项:ScratchLocation
:新缓存文件夹位置

注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Azure Backup\Config\CloudBackupProvider
注册表项:ScratchLocation
:新缓存文件夹位置

备份不按计划运行

如果计划的备份未自动触发,而手动备份却能正常进行,请尝试以下操作:

  • 确保 Windows Server 备份计划与 Azure 文件和文件夹备份计划不冲突。

  • 确保联机备份状态设置为“启用”。 若要验证状态,请执行以下步骤:

    1. 在任务计划程序中,展开“Microsoft”并选择“联机备份”。
    2. 双击“Microsoft-OnlineBackup”,然后转到“触发器”选项卡。
    3. 检查状态是否设置为“已启用”。 如果不是,请依次选择“编辑”、“已启用”、“确定”。
  • 确保为运行任务而选择的用户帐户是服务器上的 SYSTEM本地管理员组。 若要验证用户帐户,请转到“常规”选项卡并检查“安全性”选项。

  • 确保服务器上已安装 PowerShell 3.0 或更高版本。 若要检查 PowerShell 版本,请运行以下命令,并确认 Major 版本号是否为 3 或更高:

    $PSVersionTable.PSVersion

  • 确保此路径包含在 PSMODULEPATH 环境变量中:

    <MARS agent installation path>\Microsoft Azure Recovery Services Agent\bin\Modules\MSOnlineBackup

  • 如果 LocalMachine 的 PowerShell 执行策略设置为 restricted,则触发备份任务的 PowerShell cmdlet 可能会失败。 以权限提升的模式运行以下命令,将执行策略设置为 UnrestrictedRemoteSigned

Get-ExecutionPolicy -List

Set-ExecutionPolicy Unrestricted
  • 确保 PowerShell 模块的 MSOnlineBackup 文件无缺失或损坏。 如果有任何文件缺失或损坏,请执行以下步骤:

    1. 在可正常运行 MARS 代理的任何计算机上,从 C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules 复制“MSOnlineBackup”文件夹。
    2. 在有问题的计算机上,将复制的文件粘贴到相同的文件夹位置 (C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules)。

    如果该计算机上已有一个 MSOnlineBackup 文件夹,请将文件粘贴到其中,或替换所有现有文件。

提示

为确保一致地应用所做的更改,请在执行上述步骤后重启服务器。

服务戳中未预配资源

错误 可能的原因 建议的操作
由于出现“服务戳中未预配资源”的内部服务错误,当前操作失败。 请稍后重试操作。 (ID:230006) 受保护的服务器已重命名。 - 将服务器重命名回在保管库中注册的原始名称。

- 用新名称向保管库重新注册服务器。

作业无法启动,因为正在进行另一个作业

如果“MARS 控制台”>“作业历史记录”中出现警告消息“作业无法启动,因为正在进行另一个作业”,那么这可能是由于任务计划程序触发的作业的重复实例。

Job could not be started as another job was in progress

若要解决此问题,请执行下列操作:

  1. 在“运行”窗口中键入“taskschd.msc”,以启动任务计划程序管理单元
  2. 在左窗格中,导航到“任务计划程序库”->“Microsoft”->“OnlineBackup”。
  3. 对于此库中的每个任务,双击该任务以打开属性,然后执行以下步骤:
    1. 切换到“设置”选项卡。

      Settings tab

    2. 更改“如果任务已在运行,则应用以下规则”选项。 选择“不启动新实例”。

      Change the rule to do not start new instance

排查还原问题

即使等待几分钟,Azure 备份也可能不会成功装载恢复卷。 在此过程中,可能会出现错误消息。 若要开始正常恢复,请执行以下步骤:

  1. 如果装载过程已运行了几分钟,请取消此过程。

  2. 检查是否使用了最新版本的备份代理。 若要检查版本,请在 MARS 控制台的“操作”窗格中,选择“关于 Microsoft Azure 恢复服务代理”。 确认“版本号”等于或高于此文中所述的版本。 选择下载最新版本的链接。

  3. 转到“设备管理器”>“存储控制器”,并找到“Microsoft iSCSI 发起程序”。 如果找到,请直接转到步骤 7。

  4. 如果找不到 Microsoft iSCSI 发起程序服务,请尝试在“设备管理器”>“存储控制器”下找到硬件 ID 为“ROOT\ISCSIPRT”的“未知设备”条目

  5. 右键单击“未知设备”并选择“更新驱动程序软件”

  6. 选择“自动搜索更新的驱动程序软件”选项,更新驱动程序。 此项更新应会将“未知设备”更改为“Microsoft iSCSI 发起程序”

    Screenshot of Azure Backup Device Manager, with Storage controllers highlighted

  7. 转到“任务管理器”>“服务(本地)”>“Microsoft iSCSI 发起程序服务”

    Screenshot of Azure Backup Task Manager, with Services (Local) highlighted

  8. 重启 Microsoft iSCSI 发起程序服务。 为此,请右键单击该服务,并选择“停止”。 然后再次右键单击它并选择“启动”

  9. 使用 即时还原 重试恢复。

如果恢复仍然失败,请重启服务器或客户端。 如果不想要重启,或者即使重启服务器,恢复也仍然失败,请尝试从另一台计算机恢复

排查缓存问题

如果缓存文件夹(也称为 scratch 文件夹)配置不正确、缺少必备项或具有受限访问权限,则备份操作可能会失败。

先决条件

要使 MARS 代理操作成功,缓存文件夹需要符合以下要求:

增加影子副本存储

如果用于保护数据源的影子副本存储空间不足,则备份操作可能会失败。 若要解决此问题,请使用 vssadmin 增加受保护卷上的影子副本存储空间,如下所示:

  • 在提升的命令提示符下检查当前的影子存储空间:
    vssadmin List ShadowStorage /For=[Volume letter]:
  • 使用以下命令增加影子存储空间:
    vssadmin Resize ShadowStorage /On=[Volume letter]: /For=[Volume letter]: /Maxsize=[size]

阻止访问缓存文件夹的其他进程或防病毒软件

如果你在服务器上安装了防病毒软件,请针对以下项将排除规则添加到防病毒扫描中:

  • scratch 和 bin 文件夹位置(<InstallPath>\Scratch\*<InstallPath>\Bin\*)下的每个文件和文件夹。
  • cbengine.exe

备份或还原作业在 Azure 中显示为正在进行很多天,但在控制台中不可见

如果 MARS 代理备份或还原作业在执行期间故障,则会在 MARS 控制台中将其标记为失败,但状态可能不会传播到 Azure。 因此,即使作业未运行,它也可能在 Azure 门户中显示为“正在进行”。 此过时的作业条目将在 30 天后自动从 Azure 门户中删除。

常见问题

本部分介绍在使用 MARS 代理时会遇到的常见错误。

SalChecksumStoreInitializationFailed

错误消息 建议的操作
Azure 恢复服务代理无法访问存储在暂存位置的备份校验和 若要解决此问题,请执行以下步骤,然后重启服务器
- 检查是否存在防病毒或其他进程锁定暂存位置文件
- 检查暂存位置是否有效,是否可由 MARS 代理访问。

SalVhdInitializationError

错误消息 建议的操作
Azure 恢复服务代理无法访问暂存位置,因此无法初始化 VHD 若要解决此问题,请执行以下步骤,然后重启服务器
- 检查防病毒或其他进程是否在锁定暂存位置文件
- 检查暂存位置是否有效,是否可由 MARS 代理访问。

SalLowDiskSpace

错误消息 建议的操作
由于暂存文件夹所在的卷中存储空间不足,备份失败 若要解决此问题,请验证以下步骤,然后重试操作:
- 确保 MARS 代理是最新的
- 验证并解决影响备份暂存空间的存储问题

SalBitmapError

错误消息 建议的操作
找不到文件中的更改。 这可能是由于各种原因。 请重试该操作 若要解决此问题,请验证以下步骤,然后重试操作:
- 确保 MARS 代理是最新的
- 验证并解决影响备份暂存空间的存储问题

无法使用客户拥有的磁盘(导入/导出)进行 MARS 脱机种子设定

Azure 导入/导出现在使用 Azure Data Box API 对客户拥有的磁盘进行脱机种子设定。 Azure 门户还会将使用新 API 创建的导入导出作业列在 Azue Data Box 作业下,其“模型”列显示为“导入/导出”。

低于 2.0.9250.0 的 MARS 代理版本使用旧版 Azure 导入/导出 API(将在 2023 年 2 月 28 日之后停用),且旧版 MARS 代理(低于 2.0.9250.0 的版本)无法使用你自己的磁盘执行脱机种子设定。 因此,建议使用 MARS 代理 2.0.9250 或更高版本,其使用较新的 Azure Data Box API 对你自己的磁盘进行脱机种子设定。

如果继续从旧版 MARS 代理创建导入/导出作业,仍可在Azure 门户的“导入/导出作业”下监视这些作业。

后续步骤