排查 Microsoft Azure 恢复服务 (MARS) 代理问题
本文介绍如何解决在配置、注册、备份和还原期间可能会出现的错误。
准备工作
我们建议在开始排查 Microsoft Azure 恢复服务 (MARS) 代理问题之前检查以下各项:
- 确保 MARS 代理是最新的。
- 确保已在 MARS 代理与 Azure 之间建立网络连接。
- 确保 MARS 正在运行(在服务控制台中)。 如果需要,请在重启后重试操作。
- 确保暂存文件夹位置有 5% 到 10% 的可用卷空间
- 检查其他进程或防病毒软件是否正在干扰 Azure 备份。
- 如果备份作业已完成但出现警告,请参阅备份作业已完成,但出现警告
- 如果计划的备份失败,但手动备份可正常进行,请参阅备份不按计划运行。
- 确保 OS 中已安装最新的更新。
- 确保从备份中排除使用不受支持的属性的不受支持驱动器和文件。
- 确保受保护系统上的时钟配置为正确时区。
- 确保在服务器上安装 .NET Framework 4.5.2 或更高版本。
- 如果你正在尝试将服务器注册到保管库:
- 确保在服务器上卸载代理并将其从门户中删除。
- 使用最初用来注册服务器的相同通行短语。
- 确保服务器在 TLS 1.2 上运行。
- 对于脱机备份,请确保在开始备份之前,Azure PowerShell 3.7.0 已安装在源服务器和复制计算机上。
- 如果备份代理在 Azure 虚拟机上运行,请参阅此文。
排查错误
本部分介绍排查可能遇到的错误的过程。
提供的保管库凭据无效
错误消息:提供的保管库凭据无效。 该文件已损坏,或者没有与恢复服务关联的最新凭据。 (ID:34513)
注意
确保更新 MARS 代理,使保管库凭据能够正常工作。 旧版本可能会导致验证错误。
原因 | 建议的操作 |
---|---|
保管库凭据无效 保管库凭据文件可能已损坏、可能已过期,或者其文件扩展名可能不是“ .vaultCredentials ”。 (例如它们可能在注册前 10 多天就下载了。) |
请从 Azure 门户上的恢复服务保管库下载新凭据。 然后相应地执行以下步骤: - 如果已经安装和注册了 MARS,请打开 Microsoft 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 支持中所述的内容配置设置。 如果要将 Entra 租户限制功能用于代理,请确保将用于注册 MARS 代理的恢复服务保管库的租户 ID 添加到 Restrict-Access-To-Tenants 标头中允许的租户列表中。 此租户 ID 对于每个 Azure 区域是唯一的。 可以通过打开保管库凭据文件并查找 <AadTenantId> 元素来查找租户 ID。 |
防病毒软件正在阻止注册 | 如果你在服务器上安装了防病毒软件,请针对以下项将排除规则添加到防病毒扫描中: - scratch 和 bin 文件夹位置( <InstallPath>\Scratch\* 和 <InstallPath>\Bin\* )下的每个文件和文件夹。 - cbengine.exe |
其他建议
- 转到 C:/Windows/Temp,检查是否存在超过 60,000 或 65,000 个扩展名为 .tmp 的文件。 如果存在,请删除这些文件。
- 确保计算机的日期和时间与本地时区相匹配。
- 确保已将这些站点添加到 Internet Explorer 中的受信任站点。
验证 Windows 的代理设置
从 Sysinternals 页下载 PsExec。
在权限提升的命令提示符下运行
psexec -i -s "c:\Program Files\Internet Explorer\iexplore.exe"
。此命令将打开 Internet Explorer。
转到“工具”>“Internet 选项”>“连接”>“局域网设置”。
检查系统帐户的代理设置。
如果未配置代理但提供了代理详细信息,请删除这些详细信息。
如果已配置代理但代理详细信息不正确,请确保“代理 IP”和“端口”详细信息正确。
关闭 Internet Explorer。
无法下载保管库凭据文件
错误 | 建议的操作 |
---|---|
未能下载保管库凭据文件。 (ID:403) | - 使用其他浏览器尝试下载保管库凭据,或执行以下步骤: a. 启动 Internet Explorer。 按 F12。 b. 转到“网络”选项卡,并清除缓存和 Cookie。 c. 刷新页面。 - 检查订阅是否被禁用/已过期。 - 检查是否有任何防火墙规则在阻止下载。 - 确保未用完保管库的限额(每个保管库 50 台计算机)。 - 确保用户拥有所需的 Azure 备份权限,可以下载保管库凭据并将服务器注册到保管库。 请参阅使用 Azure 基于角色的访问控制来管理 Azure 备份恢复点。 |
Microsoft Azure 恢复服务代理无法连接到 Microsoft Azure 备份
错误 | 可能的原因 | 建议的操作 |
---|---|---|
- Microsoft Azure 恢复服务代理无法连接到 Microsoft 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\Microsoft Azure Recovery Services Agent\Scratch。 - bin 文件夹 C:\Program Files\Microsoft Azure Recovery Services Agent\Bin。 |
无法通过 Microsoft Azure 备份验证服务器注册状态。 验证是否已连接到 Internet 并正确配置代理设置。 | MARS 代理无法联系 Azure 服务。 | - 确保网络连接和代理设置。 - 确保正在运行最新的 MARS 代理。 - 确保服务器在 TLS 1.2 上运行。 |
无法使用指定的保管库凭据文件,因为它不是从与此服务器关联的保管库中下载的
错误 | 可能的原因 | 建议的操作 |
---|---|---|
无法使用指定的保管库凭据文件,因为它不是从与此服务器关联的保管库中下载的。 (ID:100110) 请提供相应的保管库凭据。 | 保管库凭据文件来自与此服务器已注册到的保管库不同的保管库。 | 确保目标计算机和源计算机已还原到同一个恢复服务保管库。 如果目标服务器已注册到其他保管库,请使用“注册服务器”选项注册到正确的保管库。 |
备份作业已完成,但出现警告
当 MARS 代理在备份过程中循环访问文件和文件夹时,可能会遇到各种情况,这些情况可能会导致备份标记为已完成,但出现警告。 在这些情况下,作业显示为已完成,但出现警告。 这样是可以的,但这意味着至少有一个文件未能备份成功。 即作业跳过了该文件,但备份了数据源中的所有其他相关文件。 此外,如果 VM 上未安装最新的代理,则可能会导致警告状态。
可能导致备份跳过文件的情况包括:
- 不受支持的文件属性(例如,OneDrive 文件夹中不支持压缩流和重新分析点)。 有关完整列表,请参阅支持矩阵。
- 文件系统问题
- 其他进程干扰(例如,包含文件句柄的防病毒软件可能会阻止 MARS 代理访问文件)
- 应用程序锁定的文件
备份服务会将日志文件中的这些文件标记为失败,采用以下命名约定:C:\Program Files\Microsoft 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\Microsoft Azure Recovery Services Agent\Scratch。 - 如果最近移动了暂存文件夹,请确保暂存文件夹位置的路径与如下所示的注册表项项的值匹配: 注册表路径: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Azure Backup\Config 注册表项:ScratchLocation 值:新缓存文件夹位置 注册表路径: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Azure Backup\Config\CloudBackupProvider 注册表项:ScratchLocation 值:新缓存文件夹位置 |
备份不按计划运行
如果计划的备份未自动触发,而手动备份却能正常进行,请尝试以下操作:
确保 Windows Server 备份计划与 Azure 文件和文件夹备份计划不冲突。
确保联机备份状态设置为“启用”。 若要验证状态,请执行以下步骤:
- 在任务计划程序中,展开“Microsoft”并选择“联机备份”。
- 双击“Microsoft-OnlineBackup”,然后转到“触发器”选项卡。
- 检查状态是否设置为“已启用”。 如果不是,请依次选择“编辑”、“已启用”、“确定”。
确保为运行任务而选择的用户帐户是服务器上的 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 可能会失败。 以权限提升的模式运行以下命令,将执行策略设置为Unrestricted
或RemoteSigned
:
Get-ExecutionPolicy -List
Set-ExecutionPolicy Unrestricted
确保 PowerShell 模块的 MSOnlineBackup 文件无缺失或损坏。 如果有任何文件缺失或损坏,请执行以下步骤:
- 在可正常运行 MARS 代理的任何计算机上,从 C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules 复制“MSOnlineBackup”文件夹。
- 在有问题的计算机上,将复制的文件粘贴到相同的文件夹位置 (C:\Program Files\Microsoft Azure Recovery Services Agent\bin\Modules)。
如果该计算机上已有一个 MSOnlineBackup 文件夹,请将文件粘贴到其中,或替换所有现有文件。
提示
为确保一致地应用所做的更改,请在执行上述步骤后重启服务器。
服务戳中未预配资源
错误 | 可能的原因 | 建议的操作 |
---|---|---|
由于出现“服务戳中未预配资源”的内部服务错误,当前操作失败。 请稍后重试操作。 (ID:230006) | 受保护的服务器已重命名。 | - 将服务器重命名回在保管库中注册的原始名称。 - 用新名称向保管库重新注册服务器。 |
作业无法启动,因为正在进行另一个作业
如果“MARS 控制台”>“作业历史记录”中出现警告消息“作业无法启动,因为正在进行另一个作业”,那么这可能是由于任务计划程序触发的作业的重复实例。
若要解决此问题,请执行下列操作:
- 在“运行”窗口中键入“taskschd.msc”,以启动任务计划程序管理单元
- 在左窗格中,导航到“任务计划程序库”->“Microsoft”->“OnlineBackup”。
- 对于此库中的每个任务,双击该任务以打开属性,然后执行以下步骤:
切换到“设置”选项卡。
更改“如果任务已在运行,则应用以下规则”选项。 选择“不启动新实例”。
排查还原问题
即使等待几分钟,Azure 备份也可能不会成功装载恢复卷。 在此过程中,可能会出现错误消息。 若要开始正常恢复,请执行以下步骤:
如果装载过程已运行了几分钟,请取消此过程。
检查是否使用了最新版本的备份代理。 若要检查版本,请在 MARS 控制台的“操作”窗格中,选择“关于 Microsoft Azure 恢复服务代理”。 确认“版本号”等于或高于此文中所述的版本。 选择下载最新版本的链接。
转到“设备管理器”>“存储控制器”,并找到“Microsoft iSCSI 发起程序”。 如果找到,请直接转到步骤 7。
如果找不到 Microsoft iSCSI 发起程序服务,请尝试在“设备管理器”>“存储控制器”下找到硬件 ID 为“ROOT\ISCSIPRT”的“未知设备”条目。
右键单击“未知设备”并选择“更新驱动程序软件”。
选择“自动搜索更新的驱动程序软件”选项,更新驱动程序。 此项更新应会将“未知设备”更改为“Microsoft iSCSI 发起程序”:
转到“任务管理器”>“服务(本地)”>“Microsoft iSCSI 发起程序服务”:
重启 Microsoft iSCSI 发起程序服务。 为此,请右键单击该服务,并选择“停止”。 然后再次右键单击它并选择“启动”。
使用 即时还原 重试恢复。
如果恢复仍然失败,请重启服务器或客户端。 如果不想要重启,或者即使重启服务器,恢复也仍然失败,请尝试从另一台计算机恢复。
排查缓存问题
如果缓存文件夹(也称为 scratch 文件夹)配置不正确、缺少必备项或具有受限访问权限,则备份操作可能会失败。
先决条件
要使 MARS 代理操作成功,缓存文件夹需要符合以下要求:
- 确保暂存文件夹位置有 5% 到 10% 的可用卷空间
- 确保暂存文件夹位置有效且可访问
- 确保缓存文件夹上的文件属性受支持
- 确保分配的影子副本存储空间足以支持备份过程
- 确保没有其他进程(例如防病毒软件)限制对缓存文件夹的访问
增加影子副本存储
如果用于保护数据源的影子副本存储空间不足,则备份操作可能会失败。 若要解决此问题,请使用 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
错误消息 | 建议的操作 |
---|---|
Microsoft Azure 恢复服务代理无法访问存储在暂存位置的备份校验和 | 若要解决此问题,请执行以下步骤,然后重启服务器 - 检查是否存在防病毒或其他进程锁定暂存位置文件 - 检查暂存位置是否有效,是否可由 MARS 代理访问。 |
SalVhdInitializationError
错误消息 | 建议的操作 |
---|---|
Microsoft 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 门户的“导入/导出作业”下监视这些作业。
后续步骤
- 详细了解如何使用 Azure 备份代理备份 Windows Server。
- 如果需要还原备份,请参阅将文件还原到 Windows 计算机。