Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本文提供有关在尝试部署或删除Azure Arc服务器上Azure虚拟机(VM)扩展时可能出现的问题的故障排除和解决问题的信息。 有关一般信息,请参阅启用了Azure Arc的服务器的虚拟机扩展管理。
常规故障排除
可以通过选择适用的计算机,然后选择 Settings > Extensions,从 Azure 门户中检索有关扩展部署状态的数据。
有关常规故障排除,请尝试以下步骤。 这些步骤适用于所有 VM 扩展。
确保 Azure Connected Machine 代理 (
azcmagent) 已连接,并且依赖服务正在运行/处于活动状态。运行
azcmagent show命令并检查状态的输出(Azure Arc Proxy可以忽略):
如果停止除 Azure Arc Proxy 以外的任何服务,请重启它们以恢复扩展操作。
重试扩展安装
由于各种原因,扩展可能会卡在 “失败 ”或其他状态中。 如果扩展的状态未列为 “成功”,请删除该扩展并再次安装它。 以下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中。 有关下载或验证包的错误会显示在那里。- 日志存储在
有关错误代码、已知问题或其他详细信息,请查看特定于扩展的文档故障排除部分。 可以在 扩展表中查找许多扩展的文档。
查看系统日志。 检查其他可能影响了扩展的操作,例如,长时间安装另一个需要包管理器独占访问权限的应用程序。
扩展路径设置了 noexec 标志
将扩展部署到已启用 Arc 的服务器时,可能会遇到以下错误:
Extension failed to install. Extension returned non-zero exit code for Install: 64. Extension error
output: Extension path '<full_path>' has the 'noexec' flag set. Extension exit code: 64
当 Azure Arc 代理尝试从使用 noexec 标志挂载的文件系统路径安装或运行某个扩展时,会出现此错误,该扩展路径在错误消息中有所指示。 装载 noexec 选项可防止从该文件系统执行二进制文件或脚本。 扩展必须作为安装的一部分来执行安装脚本。因此,当扩展的工作目录位于 noexec 挂载位置时,安装将会失败。
这通常出现在加固的 Linux 环境中,出于安全原因,诸如/var、/var/lib、/opt或自定义挂载点的路径会被显式地挂载在noexec。 若要取消阻止扩展安装,应确保Azure Arc用于扩展安装的文件系统允许执行。
使用 exec 重新挂载文件系统,为了解除对扩展安装的阻止,请更新挂载配置,使托管扩展路径的文件系统可以执行。 如果安全策略允许,请使用以下命令重新装载受影响的文件系统,且不使用 noexec 标志。
sudo mount -o remount,exec <mount-point>
如果在 /etc/fstab中已定义装载,请更新条目以删除 noexec 并重新挂载文件系统,以便更改在重新启动时保持持久性;否则,在需要更新扩展程序时,可能需要重新挂载。 只有在执行二进制文件符合组织的安全要求时,才可以将此更改应用于文件系统。
更新装载配置后,请重试扩展安装。
已知问题
扩展不存在 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 问答 从 Azure 专家获取答案。
- 提出支持请求以获取帮助。 有关详细信息,请参阅 创建Azure 支持请求。