Azure 备份故障排除:代理或扩展的问题

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

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

VM 代理无法与 Azure 备份进行通信

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

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

原因 1:VM 无法访问 Internet
原因 2:代理安装在 VM 中,但无响应(针对 Windows VM)
原因 3:VM 中安装的代理已过时(针对 Linux VM)
原因 4:无法检索快照状态或无法创建快照
原因 5:备份扩展无法更新或加载

由于虚拟机未连接到网络,快照操作失败

错误消息:“由于虚拟机未建立网络连接,快照操作失败”
错误代码:“ExtensionSnapshotFailedNoNetwork”

注册和计划 Azure 备份服务的 VM 后,备份会通过与 VM 备份扩展通信来获取时间点快照,从而启动作业。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则备份可能失败。 请按所列顺序完成以下故障排除步骤,然后重试操作:
原因 1:VM 无法访问 Internet
原因 2:无法检索快照状态或无法创建快照
原因 3:备份扩展无法更新或加载

VMSnapshot 扩展操作失败

错误消息:“VMSnapshot 扩展操作失败”
错误代码:“ExtentionOperationFailed”

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

由于 VM 代理无响应,备份失败

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

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

备份失败并出现内部错误

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

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

原因和解决方法

VM 无法访问 Internet

VM 无法根据部署要求访问 Internet。 或者现有的限制阻止访问 Azure 基础结构。

若要正常工作,备份扩展需要连接到 Azure 公共 IP 地址。 扩展将命令发送到 Azure 存储终结点 (HTTPS URL),以管理 VM 快照。 如果扩展无法访问公共 Internet,则备份最终会失败。

可以部署代理服务器来路由 VM 流量。

创建 HTTPS 流量路径
  1. 若有网络限制(例如,网络安全组),请部署 HTTPS 代理服务器来路由流量。
  2. 若要允许从 HTTPS 代理服务器访问 Internet,请将规则(若有)添加到网络安全组。

若要了解如何为 VM 备份设置 HTTPS 代理,请参阅准备环境以备份 Azure 虚拟机

无论是备份的 VM 还是路由流量的代理服务器,都需要对 Azure 公共 IP 地址的访问权限

解决方案

若要解决此问题,请尝试下列方法:

允许访问与该区域对应的 Azure 存储

可以使用服务标记允许与特定区域存储建立连接。 确保允许访问存储帐户的规则的优先级高于阻止 Internet 访问的规则。

使用区域存储标记的网络安全组

Warning

存储服务标记以预览版提供。 它们只在特定的区域中可用。 有关区域列表,请参阅存储的服务标记

如果使用 Azure 托管磁盘,可能需要在防火墙上打开另一个端口 (8443)。

此外,如果子网没有用于 Internet 出站流量的路由,则需要将具有服务标记“Microsoft.Storage”的服务终结点添加到子网。

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

解决方案

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

  1. 确定 Windows 来宾代理服务是否在 VM 服务 (services.msc) 中运行。 尝试重启 Windows 来宾代理服务并启动备份。
  2. 如果“服务”中未显示 Windows 来宾代理服务,请在控制面板中转到“程序和功能”,确定是否已安装 Windows 来宾代理服务。
  3. 如果“程序和功能”中显示了 Windows 来宾代理,请将其卸载。
  4. 下载并安装最新版本的代理 MSI。 必须拥有管理员权限才能完成安装。
  5. 检查能否在服务中看到 Windows 来宾代理服务。
  6. 运行按需备份:
    • 在门户中,选择“立即备份”。

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

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

解决方案

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

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

    Note

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

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

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

    • 对于 Ubuntu: service walinuxagent start
    • 对于其他分发版: service waagent start
  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 备份依赖于向基础存储帐户发出快照命令。 备份失败的原因可能是它无法访问存储帐户,也可能是快照任务的执行被延迟。

解决方案

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

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

无法更新或加载备份扩展

如果无法加载扩展,则会由于无法创建快照而导致备份失败。

解决方案

卸载扩展以强制重新加载 VMSnapshot 扩展。 下一次备份尝试将重新加载扩展。

卸载扩展:

  1. Azure 门户中,找到备份失败的 VM。
  2. Select Settings.
  3. 选择“扩展” 。
  4. 选择“Vmsnapshot 扩展”。
  5. 选择“卸载” 。

对于 Linux VM,如果 VMSnapshot 扩展未显示在 Azure 门户中,请更新 Azure Linux 代理,然后运行备份。

完成这些步骤可在下一次备份期间重新安装扩展。

删除恢复点资源组中的锁

  1. 登录到 Azure 门户
  2. 转到“所有资源选项”,选择采用 AzureBackupRG_<Geo>_<number> 格式的还原点集合资源组。
  3. 在“设置”部分,选择“锁”以显示锁。
  4. 若要删除锁,请选择省略号,然后单击“删除”。

    删除锁

清理还原点集合

删除锁后,必须清理还原点。 若要清理还原点,请执行以下任一方法:

通过运行即席备份来清理还原点集合

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

Note

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

从 Azure 门户清理还原点集合

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

  1. 登录到 Azure 门户
  2. 在“中心”菜单中单击“所有资源”,选择 VM 所在的、采用 AzureBackupRG_<Geo>_<number> 格式的资源组。

    删除锁

  3. 单击“资源组”。此时会显示“概述”边栏选项卡。

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

    删除锁

  5. 单击“删除”以清理还原点集合。

  6. 再次重试备份操作。