对 Azure 备份失败进行故障排除:代理或扩展的问题

本文提供故障排查步骤,可帮助解决与 VM 代理和扩展通信相关的 Azure 备份错误。

如果本文未解决你的 Azure 问题,请访问 Microsoft Q & A 和 Stack Overflow 上的 Azure 论坛。 可以在这些论坛上发布问题。 还可提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持页上提交。

排查备份失败问题分步指南

可按照下面列出的故障排除步骤自行解决大多数常见备份失败问题:

步骤 1:检查 Azure VM 运行状况

  • 确保 Azure VM 预配状态为“正在运行” :如果 VM 预配状态处于“已停止/已解除分配/正在更新”状态,则它将干扰备份操作。 打开 Azure 门户 >“VM”>“概述”> 并检查 VM 状态以确保其“正在运行”,然后重试备份操作。
  • 查看挂起的 OS 更新或重新启动:确保 VM 上没有挂起的 OS 更新或挂起的重新启动。

步骤 2:检查 Azure VM 来宾代理服务运行状况

步骤 3:检查 Azure VM 扩展运行状况

  • 确保所有 Azure VM 扩展均处于“预配成功”状态:如果任何扩展处于失败状态,则可能干扰备份。
  • 打开 Azure 门户>“VM”>“设置”>“扩展”>“扩展状态”,然后检查所有扩展是否都处于“预配成功”状态。
  • 确保所有扩展问题都已解决,然后重试备份操作。
  • 确保 COM+ 系统应用程序已启动并正在运行。 此外,分布式事务处理协调器服务应以“网络服务帐户”身份运行。 请按照本文中的步骤排查 COM+ 和 MSDTC 问题

步骤 4:检查 Azure 备份扩展运行状况

Azure 备份使用 VM 快照扩展获取 Azure 虚拟机的应用程序一致性备份。 Azure 备份将在启用备份后触发的首次计划备份期间安装该扩展。

  • 确保 VMSnapshot 扩展未处于失败状态:请按照此部分中列出的步骤验证并确保 Azure 备份扩展正常。

  • 检查防病毒软件是否在阻止扩展:某些防病毒软件可能阻止扩展执行。

    备份失败时,请验证“事件查看器应用程序日志”中是否存在带有“出错的应用程序名称: IaaSBcdrExtension.exe”的日志条目。 如果看到相关条目,则可能是 VM 中配置的防病毒软件正在限制备份扩展的执行。 通过在防病毒软件配置中排除以下目录进行测试,然后重试备份操作。

    • C:\Packages\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot
    • C:\WindowsAzure\Logs\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot
  • 检查是否需要网络访问权限:从 Azure 存储扩展存储库下载扩展包,并将扩展状态上传内容发布到 Azure 存储。 了解详细信息

    • 如果使用不受支持的代理版本,则需要允许从 VM 对该区域中的 Azure 存储进行出站访问。
    • 如果已使用来宾防火墙或代理阻止对 168.63.129.16 的访问,则不管采用上述哪种方法,扩展都会失败。 需要端口 80、443 和 32526,了解详细信息
  • 确保已在来宾 VM 内启用 DHCP:必须这样做才能从 DHCP 获取主机或构造地址,以便 IaaS VM 备份可以正常工作。 如果需要静态专用 IP,则应通过 Azure 门户或 PowerShell 进行配置,同时确保启用 VM 内的 DHCP 选项,了解详细信息

  • 确保 VSS 编写器服务已启动并正在运行:请按照以下步骤排查 VSS 编写器问题

  • 遵循备份最佳做法准则:查看启用 Azure VM 备份的最佳做法

  • 查看加密磁盘准则:如果要为具有加密磁盘的 VM 启用备份,请确保已提供所有必需的权限。 若要了解详细信息,请参阅备份和还原加密的 Azure VM

UserErrorGuestAgentStatusUnavailable - VM 代理无法与 Azure 备份通信

错误代码:UserErrorGuestAgentStatusUnavailable
错误消息:VM 代理无法与 Azure 备份进行通信

Azure VM 代理可能已停止、已过期、处于不一致状态或未安装。 这些状态会阻止 Azure 备份服务触发快照。

  • 打开 Azure 门户>“VM”>“设置”>“属性”窗格 > 确保 VM“状态”为“正在运行”,“代理状态”为“就绪”。 如果 VM 代理已停止或处于不一致状态,请重启代理
    • 对于 Windows VM,请遵循以下步骤重启来宾代理。
    • 对于 Linux VM,请遵循以下步骤重启来宾代理。
  • 打开 Azure 门户>“VM”>“设置”>“扩展”> 确保所有扩展均处于“预配成功”状态。 如果未处于该状态,请按照以下步骤解决问题。

GuestAgentSnapshotTaskStatusError - 无法与 VM 代理通信以获取快照状态

错误代码:GuestAgentSnapshotTaskStatusError
错误消息:无法与 VM 代理通信,因此无法获取快照状态

注册和计划 Azure 备份服务的 VM 后,备份会通过与 VM 备份扩展通信来获取时间点快照,从而启动作业。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则备份可能失败。 请按所列顺序完成以下故障排除步骤,然后重试操作:

原因 1:代理安装在 VM 中,但无响应(针对 Windows VM)

原因 2:VM 中安装的代理已过时(针对 Linux VM)

原因 3:无法检索快照状态或无法创建快照

原因 4:未设置 VM-Agent 配置选项(对于 Linux VM)

原因 5:应用程序控制解决方案正在阻止 IaaSBcdrExtension.exe

UserErrorVmProvisioningStateFailed - VM 处于预配失败状态

错误代码:UserErrorVmProvisioningStateFailed
错误消息:VM 处于预配失败状态

当其中一个扩展失败将 VM 状态置于预配失败状态时,会发生此错误。
打开 Azure 门户>“VM”>“设置”>“扩展”>“扩展状态”,然后检查所有扩展是否都处于“预配成功”状态。 若要了解详细信息,请参阅预配状态

  • 如果任何扩展处于失败状态,则可能干扰备份。 确保这些扩展问题已解决,然后重试备份操作。
  • 如果 VM 预配状态处于“正在更新”状态,则可能会干扰备份。 确保它正常,然后重试备份操作。

UserErrorRpCollectionLimitReached - 已达到还原点集合的最大限制

错误代码:UserErrorRpCollectionLimitReached
错误消息:已达到还原点集合的最大限制。

  • 如果恢复点资源组中的锁阻止自动清理恢复点,则可能会发生此问题。
  • 如果每天触发多个备份,则也可能发生此问题。 目前,我们建议每天只创建一个备份,因为即时还原点只保留 1-5 天(按照配置的快照保留期的要求),并且在任意给定时间,只能将 18 个即时 RP 与一个 VM 相关联。
  • VM 的各个还原点集合和资源组的还原点数量不能超过 18 个。 若要创建新的还原点,请删除现有的还原点。

建议的操作:
若要解决此问题,请删除 VM 资源组中的锁,并重试触发清理的操作。

注意

备份服务将创建一个单独的资源组而非 VM 的资源组来存储还原点集合。 建议不要锁定为了供备份服务使用而创建的资源组。 备份服务创建的资源组的命名格式为:AzureBackupRG_<Geo>_<number>。 例如:AzureBackupRG_chinaeast_1

步骤 1:删除还原点资源组中的锁
步骤 2:清理还原点集合

UserErrorKeyvaultPermissionsNotConfigured - 备份服务对密钥保管库没有足够的权限,无法备份已加密的 VM

错误代码:UserErrorKeyvaultPermissionsNotConfigured
错误消息:备份服务对 Key Vault 没有足够的权限,无法备份已加密的 VM。

要使备份操作在加密的 VM 上成功,该服务必须具有访问密钥保管库的权限。 可以通过 Azure 门户/ PowerShell/ CLI 设置权限。

注意

如果已设置访问密钥保管库所需的权限,请稍后重试该操作。

ExtensionSnapshotFailedNoNetwork - 由于虚拟机上无网络连接,快照操作失败

错误代码:ExtensionSnapshotFailedNoNetwork
错误消息:由于虚拟机上无网络连接,快照操作失败

注册和计划 Azure 备份服务的 VM 后,备份会通过与 VM 备份扩展通信来获取时间点快照,从而启动作业。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则备份可能失败。 完成以下故障排除步骤,然后重试操作:

无法检索快照状态或无法创建快照

ExtensionOperationFailedForManagedDisks - VMSnapshot 扩展操作失败

错误代码:ExtensionOperationFailedForManagedDisks
错误消息:VMSnapshot 扩展操作失败

注册和计划 Azure 备份服务的 VM 后,备份会通过与 VM 备份扩展通信来获取时间点快照,从而启动作业。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则备份可能失败。 请按照列出的顺序完成以下故障排除步骤,然后重试操作:原因 1:无法检索快照状态,或者无法创建快照原因 2:代理安装在 VM 中,但它无响应(对于 Windows VM)原因 3:VM 中安装的代理已过时(对于 Linux VM)

BackUpOperationFailed/BackUpOperationFailedV2 - 备份失败并出现内部错误

错误代码:BackUpOperationFailed/BackUpOperationFailedV2
错误消息:备份失败并出现内部错误 - 请在几分钟后重试操作

注册和计划 Azure 备份服务的 VM 后,备份会通过与 VM 备份扩展通信来获取时间点快照,从而启动作业。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则备份可能失败。 请按所列顺序完成以下故障排除步骤,然后重试操作:

UserErrorUnsupportedDiskSize - Azure 备份当前不支持配置的磁盘大小

错误代码:UserErrorUnsupportedDiskSize
错误消息:Azure 备份当前不支持配置的磁盘大小。

对磁盘大小大于 32 TB 的 VM 进行备份时,备份操作可能会失败。 此外,目前不支持备份大小超过 4 TB 的加密磁盘。 通过拆分磁盘,确保磁盘大小于或等于支持的限制。

UserErrorBackupOperationInProgress - 无法启动备份,因为另一个备份操作当前正在进行中

错误代码:UserErrorBackupOperationInProgress
错误消息:无法启动备份,因为另一个备份操作当前正在进行中

最近的备份作业失败,因为某个现有的备份作业正在进行。 在当前作业完成前,无法启动新的备份作业。 在触发或计划其他备份操作之前,请确保完成当前正在进行的备份操作。 若要检查备份作业状态,请执行以下步骤:

  1. 登录到 Azure 门户,选择“所有服务”。 键入“恢复服务”,然后选择“恢复服务保管库”。 此时显示恢复服务保管库列表。
  2. 在恢复服务保管库列表中,选择在其中配置了备份的保管库。
  3. 在保管库仪表板菜单中,选择“备份作业”,此时会显示所有备份作业。
    • 如果某个备份作业正在进行,请等待它完成或取消备份作业。
      • 若要取消备份作业,请右键单击备份作业并选择“取消”或使用 PowerShell
    • 如果已在另一个保管库中重新配置了备份,则确保旧保管库中没有正在运行的备份作业。 如果存在,则取消备份作业。
      • 若要取消备份作业,请右键单击备份作业并选择“取消”或使用 PowerShell
  4. 重试备份操作。

如果计划备份操作花费时间长且与下一个备份配置冲突,请查看最佳做法备份性能还原注意事项

UserErrorCrpReportedUserError - 由于出现错误,备份失败。 有关详细信息,请参阅“作业错误消息详细信息”

错误代码:UserErrorCrpReportedUserError
错误消息:由于出现错误,备份失败。 有关详细信息,请参阅“作业错误消息详细信息”。

此错误从 IaaS VM 报告。 若要确定问题的根本原因,请访问恢复服务保管库设置。 在“监视”部分选择“备份作业”,筛选并查看状态。 选择“失败”,查看基本错误消息详细信息。 根据错误详细信息页中的建议采取进一步操作。

UserErrorBcmDatasourceNotPresent - 备份失败:此虚拟机不受 Azure 备份的(主动)保护

错误代码:UserErrorBcmDatasourceNotPresent
错误消息:备份失败:此虚拟机不受 Azure 备份的(主动)保护。

检查给定的虚拟机是否受到 Azure 备份的主动保护(不处于暂停状态)。 若要解决此问题,请确保虚拟机处于活动状态,然后重试该操作。

原因和解决方案

代理安装在 VM 中,但无响应(针对 Windows VM)

此错误的解决方案

VM 代理可能已损坏或服务可能已停止。 重新安装 VM 代理可帮助获取最新版本。 此外,还有助于与服务重新开始通信。

  1. 确定 Windows Azure 来宾代理服务是否在 VM 服务 (services.msc) 中运行。 尝试重启 Windows Azure 来宾代理服务并启动备份。

    屏幕截图显示如何打开 Windows 服务。

    屏幕截图显示 Windows Azure 来宾服务处于运行状态。

  2. 如果服务中未显示 Windows Azure 来宾代理服务,请在“控制面板”中转到“程序和功能”,确定是否已安装 Windows Azure 来宾代理服务

  3. 如果“程序和功能”中显示了 Windows Azure 来宾代理,请将其卸载

  4. 下载并安装最新版本的代理 MSI。 必须拥有管理员权限才能完成安装。

  5. 检查服务中是否显示了 Windows Azure 来宾代理服务。

  6. 运行按需备份:

    • 在门户中,选择“立即备份”

此外,检查是否在 VM 中安装了 Microsoft .NET 4.5。 VM 代理需要使用 .NET 4.5 来与服务通信。

VM 中安装的代理已过时(针对 Linux VM)

解决方案

对于 Linux VM,与代理或扩展相关的大多数失败都是由于影响过时的 VM 代理的问题所造成的。 若要解决此问题,请遵循以下通用准则:

  1. 按照更新 Linux VM 代理的说明进行操作。

    注意

    强烈建议 只通过分发存储库更新代理。 建议不要直接从 GitHub 下载代理代码并将其更新。 如果分发没有可用的最新代理,请联系分发支持部门,了解如何安装最新代理。 若要检查最新代理,请转到 GitHub 存储库中的 Microsoft Azure Linux 代理页。

  2. 运行以下命令,确保 Azure 代理可在 VM 上运行:ps -e

    如果该进程未运行,请使用以下命令进行重启:

    • 对于 Ubuntu/Debian:

         sudo systemctl restart walinuxagent
      
    • 对于其他分发版:

         sudo systemctl restart waagent
      
  3. 配置自动重新启动代理

  4. 运行新的测试备份。 如果仍然失败,请从 VM 收集以下日志:

    • /var/lib/waagent/*.xml
    • /var/log/waagent.log
    • /var/log/azure/*

如果需要 waagent 的详细日志记录,请执行以下步骤:

  1. 在 /etc/waagent.conf 文件中,找到以下行:Enable verbose logging (y|n)
  2. Logs.Verbose 值从 n 更改为 y
  3. 保存更改,然后遵循本部分前面所述的步骤重启 waagent。

未设置 VM-Agent 配置选项(对于 Linux VM)

配置文件 (/etc/waagent.conf) 可控制 waagent 的操作。 配置文件选项 Extensions.Enable 和 Provisioning.Agent 应分别设置为 y 和 auto,以使备份正常工作。 有关 VM-Agent 配置文件选项的完整列表,请参阅 https://github.com/Azure/WALinuxAgent#configuration-file-options

应用程序控制解决方案正在阻止 IaaSBcdrExtension.exe

如果运行的是 AppLocker(或其他应用程序控制解决方案),且规则基于发布者或路径,则它们可能会阻止 IaaSBcdrExtension.exe 可执行文件运行。

此问题的解决方案

从 AppLocker(或其他应用程序控制软件)中排除 /var/lib 路径或 IaaSBcdrExtension.exe 可执行文件

无法检索快照状态或无法创建快照

VM 备份依赖于向基础存储帐户发出快照命令。 备份失败的原因可能是它无法访问存储帐户,也可能是快照任务的执行被延迟。

此问题的解决方案

以下状态可能导致快照任务失败:

原因 解决方案
由于在远程桌面协议 (RDP) 中关闭了 VM,VM 状态报告不正确。 如果在 RDP 中关闭了 VM,请检查门户,确定 VM 状态是否正确。 如果不正确,请在门户中使用 VM 仪表板上的“关闭”选项来关闭 VM。
VM 无法从 DHCP 获取主机或结构地址。 必须在来宾内启用 DHCP,才能正常进行 IaaS VM 备份。 如果 VM 无法从 DHCP 响应 245 获取主机或结构地址,则无法下载或运行任何扩展。 如果需要静态专用 IP,则应通过 Azure 门户或 PowerShell 进行配置,同时确保启用 VM 内的 DHCP 选项详细了解如何通过 PowerShell 设置静态 IP 地址。

删除恢复点资源组中的锁

  1. 登录到 Azure 门户

  2. 转到“所有资源选项”,选择采用 AzureBackupRG_<Geo>_<number> 格式的还原点集合资源组。

  3. 在“设置”部分,选择“锁”以显示锁。

  4. 若要删除锁,请选择省略号,然后选择“删除”。

    屏幕截图显示如何删除锁。

清理还原点集合

删除锁后,必须清理还原点。

如果删除 VM 的资源组或 VM 本身,则托管磁盘的即时还原快照会保持活动状态,并根据保留集过期。 若要删除存储在还原点集合中的即时还原快照(如果不再需要这些快照),请按照以下步骤清理还原点集合。

若要清理还原点,请执行以下任一方法:

通过运行按需备份来清理还原点集合

删除锁后,将触发按需备份。 此操作可以确保自动清理还原点。 预期此按需操作在第一次执行时会失败。 但是,它将确保自动完成清理,而无需手动删除还原点。 清理后,下一个计划的备份应会成功。

注意

自动清理将在触发按需备份的数小时后发生。 如果计划的备份仍然失败,请尝试使用此处列出的步骤手动删除还原点集合。

从 Azure 门户清理还原点集合

若要手动清除由于资源组中存在锁而未能清除的还原点集合,请尝试以下步骤:

  1. 登录到 Azure 门户

  2. 在“中心”菜单中选择“所有资源”,选择 VM 所在的、采用 AzureBackupRG_<Geo>_<number> 格式的资源组。

    屏幕截图显示如何选择资源组。

  3. 选择“资源组”。此时会显示“概述”窗格。

  4. 选择“显示隐藏的类型”选项,以显示所有已隐藏的资源。 选择采用 AzureBackupRG_<VMName>_<number> 格式的还原点集合。

    屏幕截图显示如何选择还原点集合。

  5. 选择“删除”以清理还原点集合。

  6. 再次重试备份操作。

注意

如果资源(RP 集合)具有大量还原点,则从门户中将其删除的操作可能会超时并失败。 这是已知的 CRP 问题,其中所有还原点不会在规定时间内删除,并且操作会超时。但是,删除操作通常在两次或三次重试后成功。