对 vSphere ESX Agent Manager (EAM) 和 NSX 进行故障排除
search cancel

对 vSphere ESX Agent Manager (EAM) 和 NSX 进行故障排除

book

Article ID: 301363

calendar_today

Updated On:

Products

VMware NSX Networking

Issue/Introduction

本文提供了有关 VMware vSphere ESX Agent Manager (EAM) 的信息。


概览

vSphere ESX Agent Manager (EAM) 是连接 NSX 和 vCenter 之间的应用程序。NSX Manager 通过使用涵盖群集的范围创建代理来请求 EAM 准备一个给定的 NSX 群集。EAM 会自动完成部署和管理 vSphere ESX 代理的过程。

ESX Agent Manager 提供的服务包括将代理与 DRS、AddHost、High Availability、DRM 和维护模式等 vSphere 功能即刻集成起来。所有这些功能都很难手动集成。ESX Agent Manager 还允许用户监控 ESX 代理运行状况,并阻止用户在 ESX 代理上执行部分操作,以免影响使用这些代理的虚拟机。例如,ESX Agent Manager 可以防止用户将 ESX 代理虚拟机关机或移出 ESX 主机,以免影响主机中使用该代理的其他虚拟机。

ESX Agent Manager 会在 Solutions Manager 的三个标准选项卡上增添一个“管理”选项卡。该“管理”选项卡会显示正在运行的代理的信息,列出任何孤立的 ESX 代理,并显示 ESX Agent Manager 管理的 ESX 代理的日志记录信息。
  • 代理机构:在 EAM 条款中,定义应该在范围内的所有主机/群集上执行哪些增强功能。
  • 增强功能:在 EAM 条款中,包括在代理机构范围内的每个 ESXi 主机上安装代理虚拟机和/或 VIB。
  • 代理:在 EAM 条款中,它是代理机构所定义的给定 ESXi 主机上的增强功能。可能有多个代理机构涵盖同一个主机。在这种情况下,每个代理机构对应于特定主机上的不同代理。
总而言之,一个代理机构由多个代理组成,范围中每个 ESXi 主机上一个代理。

主机准备

NSX ESXi 主机准备包含 3 个部分:
  • vCenter Server
  • NSX Manager
  • EAM (ESX Agent Manager)

vCenter Server 管理计算基础架构,且与 NSX Manager 紧密关联。NSX Manager 和 vCenter Server 之间有 1 对 1 的关系。

NSX Manager 负责 ESXi 主机准备。它在 ESXi 虚拟化管理程序上安装各种 vSphere 安装包 (VIB),以便启用 VXLAN、分布式路由、Distributed Firewall (DFW) 以及一个用于在控制层面级别通信的用户环境代理 (UWA)。

VIB 是由文件组成的软件包,它们安装在 ESXi 虚拟化管理程序的内核空间中。

提供从 ESXi 虚拟机管理程序到 NSX Manager 和控制器群集节点的控制层面通信的软件组件包括:

  • RabbitMQ Message Bus 提供 RMQ 客户端(ESXi 虚拟机管理程序上的 vsfwd 进程)和 NSX Manager 托管的 RMQ Server 进程之间的通信。
  • 用户环境代理 (UWA) 进程(ESXi 虚拟机管理程序上的 netcpa)建立到控制器群集节点的基于 SSL 的 TCP 通信通道。控制器使用此通道填充本地 MAC、ARP 和 VTEP 表,以确定在部署的逻辑网络中工作负载连接到何处。

主机准备工作流

  1. 将 NSX Manager 连接到 vCenter Sever/VCVA。
  2. 部署 NSX Controller(如果使用单播模式、混合模式或 LDR)。
  3. 主机准备。
  4. NSX Manager > EAM > vCenter Server > ESXi 主机
  5. 会创建代理机构,EAM 会调用 vCenter Server 以安装 VIB
  6. EAM 会在每次创建/更新/删除代理机构以及重新启动 ESXi 主机时启动 VIB 扫描。实际扫描由 vSphere Update Manager 完成。EAM 调用 VUM 提供 NSX VIB 。VUM 确定所提供的 VIB 元数据与 ESXi 主机上安装的实际 VIB 之间的增量。EAM 使用该结果从 VUM 请求 VIB 安装。
  7. 将通过以下 URL 从 NSX Manager 访问 VIB:

    https://<NSXMGR_IP>/bin/vdn/vibs/5.5/vxlan.zip。
  8. 成功部署代理和代理机构后,EAM 会报告“绿色”运行状况。

EAM 代理机构/代理运行状况

代理机构及其代理各自维护一个状态字段,可以是“红色”、“黄色”或“绿色”。

  • “红色”状态:“红色”运行状况用于指示解决方案必须以某种方式干预 EAM 才能继续。
  • “黄色”状态:“黄色”运行状况指示 EAM 正努力达到给定的目标状态。目标状态可以是“已启用”、“已禁用”或“未部署”。例如,当解决方案首次注册时,其状态为“黄色”,直到 EAM 将解决方案的代理部署到所有指定的计算资源。当 EAM 将其 EAM 运行状况报告为“黄色”时,解决方案不需要干预。
  • “绿色”状态:“绿色”运行状况用于指示解决方案及其所有代理已达到所需的目标状态。

如需概要了解 ESX Agent Manager 的架构及其如何与 vCenter Server 集成,请参见 vSphere ESX Agent Manager API Reference Documentation


Symptoms:
免责声明: 本文为 Troubleshooting vSphere ESX Agent Manager (EAM) with NSX (2122392) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。


  • 使用 VMware ESX Agent Manager (EAM) 部署 vSphere 安装包 (VIB) 失败。
  • EAM 无法从 NSX Manager 访问 VIB。
  • EAM 显示错误“主机上没有为代理安装 VIB 模块 (VIB module for agent is not installed on host)”。
  • EAM 显示状态 Alert.
  • EAM 代理缺少已准备的群集。
  • Networking & Security下,安装状态在群集和主机上显示为 Not Ready(未就绪),单击 Resolve(解决)不会修复该问题。
  • ESXi 主机 VXLAN VIB 安装失败。
  • ESXi 主机无法从 vCenter Server 访问 VIB。在 VC 系统事件表中,您会看到:

事件消息:“部署单元安装失败,请检查 ovf/vib URL 是否可访问,格式是否正确以及是否已在服务属性中配置 ovf 环境中的所有属性。请查看日志了解详细信息。”模块:“Security Fabric”(Event Message:'Installation of deployment unit failed, please check if ovf/vib urls are accessible, in correct format and all the properties in ovf environment have been configured in service attributes. Please check logs for details.', Module:'Security Fabric')

  • 在 ESXi 主机的/var/log/vmkernel.log 文件中,您会看到类似以下内容的条目:

    An esxupdate error exception was caught:
    esxupdate: ERROR: MetadataDownloadError
  • 在 ESXi 主机的 /var/log/vmkernel.log 文件中,您会看到类似以下内容的条目:

    <2015-09-14>T<10:15> .833Z cpu16:1138415)WARNING: vxlan: VDL2PortPropSet:672: Failed to set control plane property for port[0x4000016] on VDS[DvsPortset-0] : Would block
    <2015-09-14>T<10:15> .833Z cpu16:1138415)WARNING: NetPort: 1431: failed to enable port 0x4000016: Would block

    注意Would block 字符串是此问题的最明确症状。有关详细信息,请参见 Network connectivity issues after upgrading or repreparing ESXi hosts in a VMware NSX/VCNS environment (2107951)
    上述日志摘录仅为示例。日期、时间和环境变量可能会因环境而有所不同。
  • 在 ESXi 主机的 /var/log/netcpa.log 文件中,您会看到类似以下内容的条目:

    Netcpa 错误: 错误 netcpa[FFCFFB70]: (Netcpa error: error netcpa[FFCFFB70]:)[FFCFFB70] [Originator@6876 sub=Default] Failed to get host id, returned , len 0
  • 在 NSX UI 的“安装”部分的“主机准备”选项卡中,重新启动 NSX Manager 或 EAM 服务后,群集的安装状态会显示为 Not Ready(未就绪)。
  • 您会在长达数小时或数天的时间内看到旋转的轮状图标,安装过程仍未完成。

    注意:上述日志摘录仅为示例。日期、时间和环境变量可能会因环境而有所不同。


Environment

VMware NSX for vSphere 6.2.x
VMware NSX for vSphere 6.1.x
VMware NSX for vSphere 6.3.x
VMware NSX for vSphere 6.0.x

Resolution

验证每个故障排除步骤是否适合您的环境。每个步骤均提供相关说明或文章链接,用于消除可能的原因并采取必要的补救措施。这些步骤按照最合适的顺序排序,以隔离问题并确定正确的解决方法。请不要跳过任何步骤。

  1. 检查 NSX for vSphere 当前版本的发行说明,了解问题是否已在错误修复中得到解决。在“安装和升级问题”下查看。有关详细信息,请参见 VMware NSX for vSphere Documentation 页面。有关其他信息,请参见 vSphere Release Notes
  2. 确保在 ESXi 主机和环境中正确配置了 DNS。NSX for vSphere 6.x 中的主机准备期间,在 vSphere 主机上安装网络虚拟化组件时,VMware ESX Agent Manager (EAM) 可能会无法部署所有必需的 VIB。有关详细信息,请参见 Installation Status shows as Not Ready on the Host Preparation Tab under Installation object in NSX (2075600)
  3. 确认 ESXi 主机、vCenter Server 和 NSX Manager 之间所有必需的端口都已打开,且未被防火墙阻止。有关详细信息,请参见 Network Port Requirements for VMware NSX for vSphere (2079386)。另请参见 TCP and UDP Ports required to access VMware vCenter Server, VMware ESXi and ESX hosts, and other network components (1012382)
  4. 确认 NSX Message Bus 没有问题。有关详细信息,请参见 Understanding and troubleshooting Message Bus in VMware NSX for vSphere 6.x (2133897)
  5. 如果使用 VMware Update Manager,请确保 VUM 可用且正在运行。有关详细信息,请参见 Installing VXLAN Agent fails with ESX Agent Manager displaying the error: Agent VIB module not installed (2053782)。
  6. 验证 URLhttp://VC_IP/eam/mob/是否可以访问。有关详细信息,请参见 ESXi hosts in NSX for vSphere 6.x fails to configure VXLAN Tunnel End Point when rebooted (2095767)
  7. 确保 EAM 可以从 NSX Manager 访问 VIB。查看eam.log文件并找到VIB inaccessible消息。此外,请在 NSX Manager 中检查 vCenter Server 注册情况。有关详细信息,请参见 Configuring the SSO Lookup Service fails (2102041)
  8. 确保 ESXi 主机可以从 vCenter Server 访问 VIB。显示以下错误:esxupdate: ERROR: MetadataDownloadError:IOError: <urlopen error [Errno -2] Name= or service not known(在esxupdate.log文件中)。ESXi 主机无法访问 vCenter Server 完全限定域名 (FQDN) 时可能会出现这种情况。有关详细信息,请参见 <a href="/articles/Article/1008030">Verifying the VMware vCenter Server Managed IP Address (1008030)。
  9. 确保引导槽有足够的空间。某个第三方自定义映像的大小相对较大。除了基础映像,还会基于使用的服务在环境中自动安装额外的 VIB。因此,如果映像的总大小超过引导槽的最大大小,则 VIB 安装失败。有关详细信息,请参见 Installing/upgrading NSX VIBs fails with the error: ERROR: The pending transaction requires xxx MB free space, however, the maximum supported size is xxx MB (2144200)
  10. 确认群集含有正确的代理。如果已准备的群集上缺少 EAM 代理,则新主机可能无法准备。要解决此问题,请创建虚拟群集并进行准备。这会迫使 NSX/EAM 更新所有现有群集的配置,从而为出现问题的群集创建新的 EAM 代理。
  11. 确保没有重复的代理程序。有关详细信息,请参见 Resolving duplicate ESX Agent Manager (EAM) agency for VMware NSX for vSphere 6.x (2111232)

    注意:从 VMware NSX for vSphere 6.1.3 起,未检测到代理时会发出警报。

  12. 确保在升级后重新引导 ESXi 主机。如果未手动重新引导 ESXi 主机,则会在Installation(安装)状态中将它们标记为red(红色)。
    注意:在启用 DRS 的群集中,可通过在群集上单击Resolve(解决)选项重新引导 ESXi 主机。

  13. 如果在eam.log文件中看到errorCode =99,这表示 EAM 错误地将“主机准备”标记为成功。有关详细信息,请参见 Network connectivity issues after upgrade in NSX/VCNS environment (2107951)

    在 VMware vSphere 6.0 Update 1 中,EAM 的主机扫描操作失败,但 NSX 主机准备状态错误地显示为绿色并返回未处理错误 99。在具有此问题修复方案的版本中,EAM 正确地报告主机扫描失败并返回vibNotInstalled状态。受影响 ESXi 主机上/var/log/eam.log文件中的以下示例消息显示错误代码 99。

    INFO | 2015-02-25 11:41:32,221 | host-4 | VcPatchManager.java | 356 | Scan result on VcHostSystem(host-383):
    ScanResult {
    errorCode = 99,
    vibUrl = 'https://172.16.224.232/bin/vdn/vibs/5.5/vxlan.zip',
    responseXml = <unset>,
    bulletins = [],


  14. 如果在eam.log文件中看到“无法完成 VIB 任务 (Failed to complete VIBtask)”消息,这表示 vSphere Update Manager (VUM) 在安装 NSX VIB 时出现问题。要解决此问题,请重新启动 vSphere Update Manager 服务。有关详细信息,请参见 Stopping, starting, or restarting the vSphere Update Manager service (1039328)
  15. 如果在 esxupdate.log 文件中看到错误 esxupdate: ERROR: MetadataDownloadError:IOError: <urlopen error [Errno -2] Name= or service not known),则在 ESXi 主机无法访问 vCenter Server 完全限定域名 (FQDN) 时可能会出现此问题。要解决此问题,请设置正确的 vCenter Server 受管 IP 地址。有关详细信息,请参见 <a href="/articles/Article/1008030">Verifying the VMware vCenter Server Managed IP Address (1008030)。
  16. 有时在重新启动 NSX Manager、EAM 或 vCenter Server 后,您会注意到在 NSX Manager 的Installation(安装)部分的Host Preparation(主机准备)选项卡中群集状态报告为Not Ready(未就绪)。这是误报状态,它是重新启动其中一个组件的结果。要更新状态,请单击全部解决按钮。
  17. 在更换 vCenter Server 证书时,确保 EAM 服务知道。当 EAM 服务不知道新的 vCenter Server 证书时,它无法正确登录,并显示类似以下内容的错误:

    2016-06-03T16:53:02.772-07:00 | ERROR | eam-0 | VcConnection.java | 179 | Failed to login to vCenter as extension. vCenter has probably not loaded the EAM extension.xml yet.: Cannot complete login due to an incorrect user name or password.

    有关详细信息,请参见 After replacing the vCenter Server certificates in VMware vSphere 6.0, the ESX Agent Manager solution user fails to log in (2112577)

  18. 如果安装在几个小时或几天后仍未完成,请确认 EAM 和 Web 管理服务是否正在运行。有关详细信息,请参见 Stopping, starting, or restarting VMware vCenter Server services (1003895)。另请参见 Stopping, starting or restarting VMware vCenter Server Appliance 6.0 services (2109887)
注意

如果在尝试执行本文中的步骤后问题仍然存在,请参见以下内容:



Additional Information

vSphere 安装包 (VIB)

为 VMware NSX for vSphere 准备 ESXi 主机时,NSX Manager 会通过 VMware vSphere ESX Agency Manager (EAM) 自动推送 vSphere Installation Bundle (VIB)。 ESXi 主机上会安装以下 VIB:
  • esx-dvfilter-switch-security
  • esx-vsip
  • esx-vxlan

注意

EAM 日志位置

VMware vSphere 5.1.x/5.5.x(EAM 是通用 tomcat 服务器的一部分):

Windows 2003:

  • C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\Logs\eam.log
  • C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\Logs\vpxd-*.log- VC logs
  • C:\Documents and Settings\All Users\Application Data\VMware\VMware VirtualCenter\Logs\localhost_access_log_*.log - common tomcat logs

Windows 2008:

与 Windows 2003 相同,但 VC 日志目录为 C:\ProgramData\VMware\VMware VirtualCenter\Logs\

vCenter Server Virtual Appliance (VCVA)

  • /storage/log/vmware/vpx/eam.log
  • /storage/log/vmware/vpx/vpxd-*.log -VC logs
  • /storage/log/vmware/vpx/tomcat/logs/localhost_access_log_*.log- common tomcat logs

VMware vSphere 6.x(EAM 是独立服务并具有嵌入式 tcserver):

Windows 2003:

  • C:\Documents and Settings\All Users\Application Data\VMware\CIS\logs\eam\eam.log
  • C:\Documents and Settings\All Users\Application Data\VMware\CIS\logs\eam\wrapper.log - tanuki Java service wrapper log
  • C:\Documents and Settings\All Users\Application Data\VMware\CIS\logs\eam\web - embedded tcserver logs
  • C:\Documents and Settings\All Users\Application Data\VMware\CIS\logs\firstboot\eam_firstboot.py_*.log - EAM firstboot script logs
  • C:\Documents and Settings\All Users\Application Data\VMware\CIS\logs\vmware-vpx\vpx\vpxd-*.log -VC logs

Windows 2008:

与 Windows 2003 相同,但 VC 日志目录为 C:\ProgramData\VMware\VMware VirtualCenter\Logs\

CloudVM

  • /storage/log/vmware/eam/eam.log
  • /storage/log/vmware/eam/wrapper.log -tanuki Java service wrapper log
  • /storage/log/vmware/eam/web - embedded tcserver logs
  • /var/log/firstboot/eam_firstboot.py_*.log - EAM firstboot script logs
  • /storage/log/vmware/vpx - VC logs

Tomcat/tc-server 位置

VMware vSphere 5.1.x/5.5.x

Windows:

C:\Program Files\VMware\Infrastructure\tomcat

VMware vCenter server Virtual Appliance (VCVA)

/usr/lib/vmware-vpx/tomcat

EAM 服务位置

VMware vSphere 5.1.x/5.5.x

Windows:

<TOMCAT_DIR>\webapps\eam

VCVA

<TOMCAT_DIR>/webapps/eam

VMware vSphere 6.x,RPM: vmware-eam

Windows

C:\Program Files\VMware\CIS\eam

VCVA

/usr/lib/vmware-eam

如何从通用 tomcat/tcserver 移除 EAM 服务

vSphere 5.1.x/5.5.x

Windows:
  1. 将 EAM Web 应用程序从 <TOMCAT_DIR>\webapps 移动至 <TOMCAT_DIR>\webapps 以外目录下的 <SOME_BACKUP_DIR>
  2. 停止 tcserver 实例: <TOMCAT_DIR>\bin\tcruntime-ctl.bat stop tomcat
  3. 启动 tcserver 实例: <TOMCAT_DIR>\bin\tcruntime-ctl.bat start tomcat
VCVA:
  1. 将 EAM Web 应用程序从 <TOMCAT_DIR>\webapps 移动至 <TOMCAT_DIR>\webapps 以外目录下的 <SOME_BACKUP_DIR>
  2. 停止 tcserver 实例: <TOMCAT_DIR>/bin/tcruntime-ctl.sh stop tomcat
  3. 启动 tcserver 实例: <TOMCAT_DIR>\bin\tcruntime-ctl.bat start tomcat
注意: 我们首先移动 EAM Web 应用程序文件夹,因为出于某些原因,在停止 tcserver 实例后,它会自动重新启动。

VIB 模块安装失败时应查看 EAM 日志。

/storage/log/vmware/vpx/eam.log (在 Linux vCenter 上)
ProgramData/VMware/VMware VirtualCenter/Logs/(在 Windows vCenter 上)
EAM 日志随附在 vCenter Server 日志包中。有关详细信息,请参见 Collecting diagnostic information for VMware vCenter Server 4.x, 5.x and 6.0 (1011641)
Troubleshooting vSphere ESX Agent Manager (EAM) with NSX