对还原点失败进行故障排除:代理或扩展的问题
本文提供故障排除步骤,可帮助解决与 VM 代理和扩展的通信相关的还原点错误。
如果本文未解决 Azure 问题,请访问 Microsoft Q & A 和 Stack Overflow 上的 Azure 论坛。 可以在这些论坛上发布问题。 还可提交 Azure 支持请求。 若要提交支持请求,请在 Azure 支持页上提交。
对还原点失败进行故障排除的分步指南
可按照下面列出的故障排除步骤解决大多数常见还原点失败问题:
步骤 1:检查 Azure VM 的运行状况
- 确保 Azure VM 预配状态为“正在运行”:如果 VM 预配状态处于“已停止/已解除分配/正在更新”状态,则它会干扰还原点操作。 在 Azure 门户中,转到“虚拟机”>“概述”,并确保 VM 状态为“正在运行”,然后重试还原点操作。
- 查看挂起的 OS 更新或重启:确保 VM 上没有挂起的 OS 更新或挂起的重启。
步骤 2:检查 Azure VM 来宾代理服务的运行状况
确保 Azure VM 来宾代理服务已启动并处于最新状态:
- 导航到 services.msc 并确保 Windows Azure VM 来宾代理服务已启动并正在运行。 此外,请确保已安装最新版本。 了解详细信息。
- 通过门户、PowerShell、命令行接口或 Azure 资源管理器模板从 Azure 市场映像部署任何 Windows VM 时默认安装 Azure VM 代理。 创建部署到 Azure 的自定义 VM 映像时,可能需要手动安装代理。
- 查看支持矩阵,检查 VM 是否在受支持的 Windows 操作系统上运行。
步骤 3:检查 Azure VM 扩展的运行状况
- 确保所有 Azure VM 扩展均处于“预配成功”状态:如果任何扩展处于失败状态,则可能会干扰还原点操作。
- 在 Azure 门户中,转到“虚拟机”>“设置”>“扩展”>“扩展状态”,并检查所有扩展是否都处于“预配成功”状态。
- 确保所有扩展问题都已解决,然后重试还原点操作。
- 确保 COM+ 系统应用程序已启动并正在运行。 此外,分布式事务处理协调器服务应以“网络服务帐户”身份运行。
如果出现问题,请按照对 COM+ 和 MSDTC 问题进行故障排除中的故障排除步骤进行操作。
步骤 4:检查 Azure VM 快照扩展的运行状况
还原点使用 VM 快照扩展获取 Azure 虚拟机的应用程序一致性快照。 还原点在第一个还原点创建操作过程中安装扩展。
确保 VMSnapshot 扩展未处于失败状态:请按照故障排除中的步骤验证并确保 Azure VM 快照扩展正常。
检查防病毒软件是否在阻止扩展:某些防病毒软件可能阻止扩展执行。
还原点失败时,请验证“事件查看器应用程序日志”中是否存在带有“错误应用程序名称: IaaSBcdrExtension.exe”的日志条目。 如果看到相关条目,则 VM 中配置的防病毒软件可能正在限制 VMSnapshot 扩展的执行。 通过在防病毒软件配置中排除以下目录进行测试,然后重试还原点操作。
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 获取主机或构造地址,以便还原点可以正常工作。 如果需要静态专用 IP,则应通过 Azure 门户或 PowerShell 进行配置,同时确保启用 VM 内的 DHCP 选项。 了解详细信息。
确保 VSS 编写器服务已启动并正在运行:请按照以下步骤排查 VSS 编写器问题。
常见问题
DiskRestorePointUsedByCustomer - 磁盘还原点存在未完成的活动共享访问签名
错误代码:DiskRestorePointUsedByCustomer
错误消息:磁盘还原点存在未完成的活动共享访问签名。 请在删除还原点之前调用 EndGetAccess。
如果任何基础磁盘还原点上存在活动共享访问签名 (SAS),则无法删除还原点。 结束磁盘还原点上的共享访问,然后重试该操作。
OperationNotAllowed - 在“创建还原点”操作过程中对虚拟机进行了更改。
错误代码:OperationNotAllowed
错误消息:在“创建还原点”操作过程中对虚拟机进行了更改。 目前无法完成“创建还原点”操作。 请稍后再试。
如果在对 VM 模型并行进行更改(例如附加新磁盘或拆离现有磁盘),则还原点创建会失败。 这是为了确保所创建的还原点的数据完整性。 更新 VM 模型后,请重试还原点创建。
OperationNotAllowed - 不允许操作“创建还原点”,因为磁盘未成功分配。
错误代码:OperationNotAllowed
错误消息:不允许操作“创建还原点”,因为磁盘未成功分配。 请使用 excludeDisks 属性排除这些磁盘,然后重试。
如果附加到 VM 的任何磁盘未正确分配,则还原点会失败。 在为 VM 创建还原点创建之前,必须排除这些磁盘。 如果使用 ARM 处理器 API 创建还原点,若要排除磁盘,请在请求正文中将其标识符添加到 excludeDisks 属性。 如果使用 CLI、PowerShell 或门户,请设置相应的参数。
OperationNotAllowed - 不支持创建包含共享磁盘的虚拟机的还原点。
错误代码:VMRestorePointClientError
错误消息:不支持创建包含共享磁盘的虚拟机的还原点。 可通过 excludeDisks 属性将此磁盘从还原点排除。
共享磁盘当前不支持还原点。 在为 VM 创建还原点创建之前,需要排除这些磁盘。 如果使用 ARM 处理器 API 创建还原点,若要排除磁盘,请在请求正文中将其标识符添加到 excludeDisks 属性。 如果使用 CLI、PowerShell 或门户,请执行相应的步骤。
VMAgentStatusCommunicationError - VM 代理无法与计算服务通信
错误代码:VMAgentStatusCommunicationError
错误消息:VM 尚未报告 VM 代理或扩展的状态。
Azure VM 代理可能已停止、已过期、处于不一致状态或未安装。 这些状态会阻止创建还原点。
- 在 Azure 门户中,转到“虚拟机”>“设置”>“属性”,并确保 VM“状态”为“正在运行”,且“代理状态”为“就绪”。 如果 VM 代理已停止或处于不一致状态,请重启代理。
- 在 Azure 门户中,转到“虚拟机”>“设置”>“扩展”,并确保所有扩展都处于“预配成功”状态。 如果未处于该状态,请按照以下步骤解决问题。
VMRestorePointInternalError - 无法在创建 VM 快照期间创建还原点,因为出现内部执行错误。 请稍后重试此操作。内部
错误代码:VMRestorePointInternalError
错误消息:无法在创建 VM 快照期间创建还原点,因为出现内部执行错误。 请稍后重试操作。
注册还原点操作后,计算服务会与 VM 备份扩展通信来获取时间点快照,从而启动作业。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则还原点创建会失败。 请按所列顺序完成以下故障排除步骤,然后重试操作:
原因 1:代理安装在 VM 中,但无响应(针对 Windows VM)
原因 2:VM 中安装的代理已过时(针对 Linux VM)
原因 3:无法检索快照状态或无法创建快照
原因 4:未设置 VM-Agent 配置选项(对于 Linux VM)
原因 5:应用程序控制解决方案正在阻止 IaaSBcdrExtension.exe
当其中一个扩展失败将 VM 状态置于预配失败状态时,也可能会发生此错误。 如果以上步骤未解决问题,请执行以下操作:
在 Azure 门户中,转到“虚拟机”>“设置”>“扩展”,并确保所有扩展都处于“预配成功”状态。 详细了解预配状态。
- 如果任何扩展处于失败状态,则可能会干扰还原点操作。 确保扩展问题已解决,然后重试还原点操作。
- 如果 VM 预配状态处于正在更新状态,则可能会干扰还原点操作。 确保它正常,然后重试还原点操作。
VMRestorePointClientError - 由于 COM+ 错误,还原点创建失败。
错误代码:VMRestorePointClientError
错误消息:由于 COM+ 错误,还原点创建失败。 请重启 Windows 服务“COM+ 系统应用程序”(COMSysApp)。 如果此问题一再出现,请重启 VM。
如果 COM+ 服务未运行,或者此服务有任何错误,还原点操作会失败。 重启 COM+ 系统应用程序,然后重启 VM 并重试还原点操作。
VMRestorePointClientError - 由于 COM+ 内存配额中的可用内存不足,还原点创建失败。
错误代码:VMRestorePointClientError
错误消息:由于 COM+ 内存配额中的可用内存不足,还原点创建失败。 请重启 Windows 服务“COM+ 系统应用程序”(COMSysApp)。 如果此问题一再出现,请重启 VM。
如果 COM+ 服务中的内存不足,还原点操作会失败。 重启 COM+ 系统应用程序服务,VM 通常会释放内存。 重启后,重试还原点操作。
VMRestorePointClientError - 由于 VSS 编写器处于错误状态,还原点创建失败。
错误代码:VMRestorePointClientError
错误消息:由于 VSS 编写器处于错误状态,还原点创建失败。 重启 VSS 编写器服务并重启 VM。
还原点创建会调用 VSS 编写器以将内存中 IO 刷新到磁盘,然后拍摄快照以实现应用程序一致性。 如果 VSS 编写器处于错误状态,则会影响还原点创建操作。 重启 VSS 编写器服务并重启 VM,然后重试操作。
VMRestorePointClientError - 由于安装 Visual C++ Redistributable for Visual Studio 2012 时出错,还原点创建失败。
错误代码:VMRestorePointClientError
错误消息:由于安装 Visual C++ Redistributable for Visual Studio 2012 时出错,还原点创建失败。 请安装 Microsoft Visual C++ Redistributable for Visual Studio 2012。 如果安装遇到问题或如果已安装该组件,会出现此问题,请重启 VM 以清除安装问题。
还原点操作需要 Visual C++ Redistributable for Visual Studio 2021。 下载 Visual C++ Redistributable for Visual Studio 2012 并重启 VM,然后重试还原点操作。
VMRestorePointClientError - 由于已达到一个或多个磁盘 Blob 的最大允许快照限制,还原点创建失败。 请删除此 VM 的某些现有还原点,然后重试。
错误代码:VMRestorePointClientError
错误消息:由于已达到一个或多个磁盘 Blob 的最大允许快照限制,还原点创建失败。 请删除此 VM 的某些现有还原点,然后重试。
VM 的各个还原点集合和资源组的还原点数量不能超过 500 个。 若要创建新的还原点,请删除现有的还原点。
VMRestorePointClientError - 还原点创建失败,出现错误“COM+ 无法与 Microsoft 分布式事务处理协调器通信”。
错误代码:VMRestorePointClientError
错误消息:还原点创建失败,出现错误“COM+ 无法与 Microsoft 分布式事务处理协调器通信”。
按照以下步骤解决此错误:
- 从提升的命令提示符打开 services.msc
- 确保“分布式事务处理协调器”服务的“登录身份”值设置为“网络服务”,并且服务正在运行。
- 如果此服务未能启动,请重新安装此服务。
VMRestorePointClientError - 由于 VM 资源不足,还原点创建失败。
错误代码:VMRestorePointClientError
错误消息:由于 VM 资源不足,还原点创建失败。 请通过更改 VM 大小来增加 VM 资源,然后重试操作。 若要重设虚拟机大小,请参阅 https://azure.microsoft.com/blog/resize-virtual-machines/。
创建还原点需要有足够的计算资源可用。 如果在创建还原点时遇到以上错误,则需要重设 VM 大小,然后选择更高 VM 大小。 按照如何重设 VM 大小中的步骤进行操作。 重设 VM 大小后,重试还原点操作。
VMRestorePointClientError - 由于虚拟机未建立网络连接,还原点创建失败。
错误代码:VMRestorePointClientError
错误消息:由于虚拟机未建立网络连接,还原点创建失败。 请确保 VM 具有网络访问权限。 请将 Azure 数据中心 IP 范围加入允许列表,或设置代理服务器用于网络访问。 有关详细信息,请参阅 https://go.microsoft.com/fwlink/?LinkId=800034。 如果已经在使用代理服务器,请确保代理服务器设置配置正确。
触发还原点创建后,计算服务会开始与 VM 快照扩展通信以获取时间点快照。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则还原点可能失败。 完成以下故障排除步骤,然后重试操作:
[无法检索快照状态或无法创建快照]。(#the-snapshot-status-cant-be-retrieved-or-a-snapshot-cant-be-taken)
VMRestorePointClientError - 还原点创建失败,因为在 VM 上触发了并发“创建还原点”操作。
错误代码:VMRestorePointClientError
错误消息:还原点创建失败,因为在 VM 上触发了并发“创建还原点”操作。
最近的还原点创建失败,因为已在创建现有还原点。 在完全创建当前还原点之前,无法创建新还原点。 在触发另一个还原点创建操作之前,请确保当前正在进行的还原点创建操作已完成。
若要检查正在进行的还原点,请执行以下步骤:
- 登录到 Azure 门户,选择“所有服务”。 进入“恢复服务”并选择“还原点集合”。 此时会显示还原点集合的列表。
- 从还原点集合的列表中,选择在其中创建还原点的还原点集合。
- 选择“设置”>“还原点”以查看所有还原点。 如果还原点正在进行,请等待它完成。
- 重试创建新还原点。
DiskRestorePointClientError - 找不到与 DiskEncryptionSet 关联的密钥保管库。
错误代码:DiskRestorePointClientError
错误消息:找不到与 DiskEncryptionSet 关联的密钥保管库。 资源可能因创建还原点失败已被删除。 请在重新创建名称相同的缺失资源后重试该操作。
如果要为具有加密磁盘的 VM 创建还原点,则必须确保存储密钥的密钥保管库可用。 我们使用相同的密钥来创建加密还原点。
BadRequest - 可以使用 api-version“2021-03-01”或更高版本发出此请求
错误代码:BadRequest
错误消息:可以使用 api-version“2022-03-01”或更高版本发出此请求。
只有 API 版本 2022-03-01 或更高版本才支持还原点。 如果使用 REST API 创建和管理还原点,请在调用还原点 API 时使用指定 API 版本。
InternalError / InternalExecutionError / InternalOperationError / InternalDiskRestorePointError - 发生内部执行错误。 请稍后重试。
错误代码:InternalError / InternalExecutionError / InternalOperationError / InternalDiskRestorePointError
错误消息:发生内部执行错误。 请稍后重试。
触发还原点创建后,计算服务会开始与 VM 快照扩展通信以获取时间点快照。 以下任何条件都可能阻止快照的触发。 如果未触发快照,则还原点可能失败。 请按所列顺序完成以下故障排除步骤,然后重试操作:
原因 3:无法检索快照状态或无法创建快照。
原因 4:计算服务因资源组锁定而无权删除旧的还原点。
原因 5:扩展版本/位与正在运行的 Windows 版本不匹配,或者以下模块已损坏:
C:\Packages\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot\<extension version>\iaasvmprovider.dll
若要解决此问题,请检查该模块是否与 regsvr32.exe 的 x86(32 位)/x64(64 位)版本兼容,然后执行以下步骤:
- 在受影响的 VM 中,转到“控制面板”>“程序和功能”。
- 卸载适用于 Visual Studio 2013 的 Visual C++ 可再发行程序包 x64。
- 在 VM 中重新安装 Visual C++ Redistributable for Visual Studio 2013。 要进行安装,请执行以下步骤:
- 转到文件夹:C:\Packages\Plugins\Microsoft.Azure.RecoveryServices.VMSnapshot\<LatestVersion>。
- 搜索并运行 vcredist2013_x64 文件,以进行安装。
- 重试还原点操作。
OSProvisioningClientError - 由于错误,还原点操作失败。 有关详细信息,请参阅还原点预配错误消息详细信息
错误代码:OSProvisioningClientError
错误消息:OS 预配未在分配的时间内完成。 映像中已连续多次发生此错误。 请确保已正确准备(通用化)映像。
此错误从 IaaS VM 报告。 按照错误消息中所述执行所需操作,然后重试操作。
AllocationFailed - 由于错误,还原点操作失败。 有关详细信息,请参阅还原点预配错误消息详细信息
错误代码:AllocationFailed
错误消息:分配失败。 如果尝试将新 VM 添加到可用性集,或更新/重新调整可用性集中现有 VM 的大小,请注意,此类可用性集分配的作用域为单个群集,群集的容量可能不足。 详细了解如何提高分配成功可能性。
此错误从 IaaS VM 报告。 按照错误消息中所述执行所需操作,然后重试操作。
原因和解决方案
代理安装在 VM 中,但无响应(针对 Windows VM)
解决方案
VM 代理可能已损坏或服务可能已停止。 重新安装 VM 代理可帮助获取最新版本。 此外,还有助于与服务重新开始通信。
- 确定 Microsoft Azure 来宾代理服务是否在 VM 服务 (services.msc) 中运行。 尝试重启 Microsoft Azure 来宾代理服务并启动还原点操作。
- 如果服务中未显示 Microsoft Azure 来宾代理服务,请在“控制面板”中转到“程序和功能”,确定是否已安装 Microsoft Azure 来宾代理服务。
- 如果“程序和功能”中显示了 Microsoft Azure 来宾代理,请卸载 Microsoft Azure 来宾代理。
- 下载并安装最新版本的代理 MSI。 必须拥有管理员权限才能完成安装。
- 检查服务中是否显示了 Microsoft Azure 来宾代理服务。
- 重试还原点操作。
此外,检查是否在 VM 中安装了 Microsoft .NET 4.5。 VM 代理需要使用 .NET 4.5 来与服务通信。
VM 中安装的代理已过时(针对 Linux VM)
解决方案
对于 Linux VM,与代理或扩展相关的大多数失败都是由于影响过时的 VM 代理的问题所造成的。 若要解决此问题,请遵循以下通用准则:
按照更新 Linux VM 代理的说明进行操作。
注意
强烈建议 只通过分发存储库更新代理。 建议不要直接从 GitHub 下载代理代码并将其更新。 如果分发没有可用的最新代理,请联系分发支持部门,了解如何安装最新代理。 若要检查最新代理,请转到 GitHub 存储库中的 Microsoft Azure Linux 代理页。
运行以下命令,确保 Azure 代理可在 VM 上运行:
ps -e
如果该进程未运行,请使用以下命令进行重启:
- 对于 Ubuntu/Debian:
sudo systemctl start walinuxagent
- 对于其他 Linux 分发版:
sudo systemctl start waagent
重试还原点操作。 如果仍然失败,请从 VM 收集以下日志:
- /var/lib/waagent/*.xml
- /var/log/waagent.log
- /var/log/azure/*
如果需要 waagent 的详细日志记录,请执行以下步骤:
- 在
/etc/waagent.conf
文件中,找到以下行:Enable verbose logging (y|n)。 - 将 Logs.Verbose 值从 n 更改为 y。
- 保存更改,然后遵循本部分前面所述的步骤重启 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 可执行文件。
无法检索快照状态或无法创建快照
还原点依赖于向基础存储帐户发出快照命令。 还原点失败的原因可能是它无法访问存储帐户,也可能是快照任务的执行被延迟。
解决方案
以下状态可能导致快照任务失败:
原因 | 解决方案 |
---|---|
由于在远程桌面协议 (RDP) 中关闭了 VM,VM 状态报告不正确。 | 如果在 RDP 中关闭了 VM,请检查门户,确定 VM 状态是否正确。 如果不正确,请在门户中使用 VM 仪表板上的“关闭”选项来关闭 VM。 |
VM 无法从 DHCP 获取主机或结构地址。 | 必须在来宾内启用 DHCP,才能使还原点正常工作。 如果 VM 无法从 DHCP 响应 245 获取主机或结构地址,则无法下载或运行任何扩展。 如果需要静态专用 IP,则应通过 Azure 门户或 PowerShell 进行配置,同时确保启用 VM 内的 DHCP 选项。 详细了解如何通过 PowerShell 设置静态 IP 地址。 |
删除恢复点资源组中的锁
登录 Azure 门户。
转到“所有资源”,选择采用还原点集合资源组。
在“设置”部分,选择“锁”以显示锁。
若要移除锁定,请选择“删除”。