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

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

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

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

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

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

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

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

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

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

VMSnapshot 扩展操作失败

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

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

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

错误消息:“由于 VM 代理无响应,无法执行操作”

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

备份失败并出现内部错误

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

注册和计划 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 存储终结点 (HTTP URL) 来管理 VM 的快照。 如果扩展无法访问公共 Internet,则备份最终会失败。

解决方案

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

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

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

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

Warning

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

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

若要了解如何设置 HTTP 代理进行 VM 备份,请参阅进行备份 Azure 虚拟机所需的环境准备

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

代理安装在 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. 选择“卸载” 。

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

备份服务因资源组锁定而无权删除旧的还原点

此问题特定于用户锁定了资源组的托管 VM。 在此情况下,备份服务无法删除较早的还原点。 由于存在最多 18 个还原点的限制,新备份开始失败。

解决方案

若要解决此问题,请完成以下步骤删除还原点集合:

  1. 删除 VM 所在的资源组中的锁。
  2. 使用 Chocolatey 安装 ARMClient:
    https://github.com/projectkudu/ARMClient
  3. 登录到 ARMClient:
    .\armclient.exe login
  4. 获取与 VM 对应的还原点集合:
    .\armclient.exe get https://management.chinacloudapi.cn/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Compute/restorepointcollections/AzureBackup_<VM-Name>?api-version=2017-03-30

    示例: .\armclient.exe get https://management.chinacloudapi.cn/subscriptions/f2edfd5d-5496-4683-b94f-b3588c579006/resourceGroups/winvaultrg/providers/Microsoft.Compute/restorepointcollections/AzureBackup_winmanagedvm?api-version=2017-03-30

  5. 删除还原点集合:
    .\armclient.exe delete https://management.chinacloudapi.cn/subscriptions/<SubscriptionId>/resourceGroups/<ResourceGroupName>/providers/Microsoft.Compute/restorepointcollections/AzureBackup_<VM-Name>?api-version=2017-03-30
  6. 下一次计划备份会自动创建还原点集合和新的还原点。

如果再次锁定资源组,则还会出现此问题。