本文介绍如何排查和解决尝试在已启用 Azure Arc 的服务器上部署或删除 Azure 虚拟机(VM)扩展时可能发生的问题。 有关一般信息,请参阅 已启用 Azure Arc 的服务器进行虚拟机扩展管理。
常规故障排除
可以通过选择适用的计算机,然后选择“设置扩展”>,从 Azure 门户检索有关扩展部署状态的数据。
有关常规故障排除,请尝试以下步骤。 这些步骤适用于所有 VM 扩展。
确保已连接 Azure Connected Machine 代理(
azcmagent
)并且依赖服务 正在运行/活动。运行
azcmagent show
命令并检查输出以查看状态(可以忽略Azure Arc代理):如果 Azure Arc 代理 以外的任何服务已停止,请重启它们以恢复扩展作。
重试扩展安装
由于各种原因,扩展可能会卡在 “失败 ”或其他状态中。 如果扩展的状态未列为 “成功”,请删除该扩展并再次安装它。 以下 Azure PowerShell 命令可用于删除扩展:
Remove-AzConnectedMachineExtension -Name <Extension Name> -ResourceGroupName <RG Name> -MachineName <Machine Name>
检查来宾代理日志并了解从预配扩展开始的活动。 对于 Windows,请在
%SystemDrive%\ProgramData\GuestConfig\ext_mgr_logs
中检查,对于 Linux,请在/var/lib/GuestConfig/ext_mgr_logs
中检查。检查特定扩展的扩展日志来了解详细信息。
对于 Windows 计算机:
- 日志存储在
C:\ProgramData\GuestConfig
- 扩展设置和状态文件位于
C:\Packages\Plugins
中
对于 Linux 计算机:
- 日志存储在
/var/lib/GuestConfig
- 扩展设置和状态文件位于
/var/lib/waagent
中
扩展服务日志被写入到
…GuestConfig\ext_mgr_logs\gc_ext.log
中。 有关下载或验证包的错误会显示在那里。- 日志存储在
有关错误代码、已知问题或其他详细信息,请查看特定于扩展的文档故障排除部分。 可以在 扩展表中查找许多扩展的文档。
查看系统日志。 检查其他可能影响了扩展的操作,例如,长时间安装另一个需要包管理器独占访问权限的应用程序。
已知问题
扩展不存在 HandlerManifest.json 文件
该扩展停滞在 Deleting
某个状态。 在扩展服务日志(gc_ext.log
)中看到以下错误:
HandlerManifest.json file does not exist for extension
分析
扩展名缺少 HandlerManifest.json 文件。 如果未正确卸载扩展,则可能会发生这种情况。
Solution
若要删除扩展,请使用
az connectedmachine extension delete
、--extension-name
、--machine-name
和--resource-group
参数。如果扩展仍处于相同状态,请尝试从计算机中手动删除该扩展。 某些扩展可能需要执行其他清理步骤。 有关进一步指导,请参阅 扩展表中扩展相关的文档。
对于 Windows 计算机:
- 导航到
C:\Packages\Plugins\
- 删除与扩展对应的文件夹
对于 Linux 计算机:
- 导航到
/var/lib/waagent/
- 删除与扩展对应的文件夹
- 导航到
从 Azure 卸载该扩展,然后重新安装它。
后续步骤
如果你的问题未在本文中列出,或者无法解决你遇到的问题,请尝试通过以下途径之一获取支持:
- 通过 Microsoft Q&A 获取 Azure 专家的解答。
- 提出支持请求以获取帮助。 有关详细信息,请参阅创建 Azure 支持请求。