热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

VMwareNSX环境EAM故障指导手册

一、概要EAM(ESXAgentManager):vsphereesxi主机agent管理服务,连接NSX和vCenter&

一、概要

在这里插入图片描述
  EAM(ESX Agent Manager):vsphere esxi主机agent管理服务,连接 NSX 和 vCenter,主要负责完成自动部署和管理 NSX 网络和安全服务的过程,同时扩展 ESXi 主机功能以提供 vSphere 解决方案所需的额外服务。NSX Manager 借用在群集整个范围创建代理来请求 EAM 准备将原集群部署为一个特定的 NSX 群集,用于NSX 网络准备。而EAM 会自动完成部署和管理 vSphere ESX 代理的整个过程。
在这里插入图片描述

  NSX环境中:主机准备阶段,EAM将负责完成整个自动化过程。如下图所示:

在这里插入图片描述
  另外,想了解EAM状态,即监控 ESX Agent Manager,可登录web client,单击管理 > vCenter Server 扩展 (Administration > vCenter Server Extensions)–>单击 vSphere ESX Agent Manager—>

在这里插入图片描述
在这里插入图片描述

监控 (Monitor) > 事件 (Events):
在这里插入图片描述
ESX Agent Manager 提供的服务包括将代理与 DRS、AddHost、High Availability、DRM 和维护模式等 vSphere 功能即刻集成起来;注意,每个代理机构由多个代理组成,集群中每个 ESXi 主机上一个代理

二、常见错误


1)使用 VMware ESX Agent Manager (EAM) 部署 vSphere 安装包 (VIB) 失败。
2)EAM 无法从 NSX Manager 访问 VIB。
3)EAM 显示错误“主机上没有为代理安装 VIB 模块 (VIB module for agent is not installed on host)”。
4)EAM 显示状态 Alert。
5)在 Networking & Security下,安装状态在群集和主机上显示为 Not Ready(未就绪),单击 Resolve(解决)无法修复该问题。
6)ESXi 主机 VXLAN VIB 安装失败。
7)ESXi 主机无法从 vCenter Server 访问 VIB。在 VC 系统事件表中,会看到:模块Security Fabric报错
“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’)
8)在TMP目录下的EAM 文件被删除且NSX manager 无法完成主机准备中的VXLAN部署;
9)在 NSX UI 的“安装”部分的“主机准备”选项卡中,重新启动 NSX Manager 或 EAM 服务后,群集的安装状态会显示为 Not Ready(未就绪)
10)NSX 主机准备部署进度一直旋转,数小时或数天的时间内状态不翻转,安装过程一直处于未完成;

【相关日志文件】:

1)ESX Agent Manager 日志包含在 vCenter Server 日志包中:

Windows vc虚拟机:C:\ProgramData\VMware\vCenterServer\logs\eam\eam.log
VCSA虚拟机: /var/log/vmware/vpx/eam.log
ESXi主机:/var/log/esxupdate.log


2)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

/var/log/vmkernel.log //eam运行异常时,日志上会看到如下类似报错:
An esxupdate error exception was caught: esxupdate: ERROR: MetadataDownloadError

/var/log/esxupdate.log


3)VIB 模块安装失败时应查看vc上的 EAM 日志:

/storage/log/vmware/vpx/eam.log (在 Linux vCenter 上)
ProgramData/VMware/VMware VirtualCenter/Logs/(在 Windows vCenter 上)


三、工作原理

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

在这里插入图片描述

1、从 ESXi Hypervisor到 NSX Manager 和Controllers群集节点的控制层面通信的软件组件包括:

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

在这里插入图片描述

2、主机准备工作流:

1)将 NSX Manager 连接到 vCenter Sever/VCVA。
2)部署 NSX Controller(使用单播模式、混合模式或 LDR)。主机准备。
3)NSX Manager > EAM > vCenter Server > ESXi 主机,会创建代理机构,EAM 会调用 vCenter Server 以安装 VIB
4)EAM 会在每次创建/更新/删除代理机构(agencies)以及重新启动 ESXi 主机时启动 VIB 扫描。实际扫描由 vSphere Update Manager 完成。EAM 调用 VUM 提供 NSX VIB ,VUM 确定所提供的 VIB 元数据与 ESXi 主机上安装的实际 VIB 之间的增量,EAM 使用该结果从 VUM 请求 VIB 安装。其中,代理机构(agencies)是 ESX 代理的容器。ESX 机构汇总了所管理的代理以及与这些 ESX 代理相关的所有问题的信息。
5)将通过以下 URL 从 NSX Manager 访问 VIB:https:///bin/vdn/vibs/5.5/vxlan.zip。
6)成功部署代理和代理机构后,EAM 会报告“绿色”运行状况。

在这里插入图片描述
7)为 VMware NSX for vSphere 准备 ESXi 主机时,NSX Manager 会通过 VMware vSphere ESX Agency Manager (EAM) 自动推送 vSphere Installation Bundle (VIB)。 ESXi 主机上会安装以下3个 VIB,其中,esx-dvfilter-switch-security VIB从 VMware NSX for vSphere 6.2.0 开始包含到esx-vxlan VIB 中:

esx-dvfilter-switch-security
esx-vsip
esx-vxlan

【ESX Agent Manager 运行状况】:

运行状况颜色描述
红色解决方案必须干预,ESX Agent Manager 才能继续。例如,如果在计算资源中手动关闭虚拟机代理电源,且 ESX Agent Manager 不尝试打开该代理电源,ESX Agent Manager 会将此操作报告给解决方案,然后解决方案将提醒管理员打开代理电源。
黄色ESX Agent Manager 积极致力于达到目标状况。可以启用、禁用或卸载目标状况。例如,注册解决方案时,其状态为黄色直到 ESX Agent Manager 将解决方案代理部署到所有指定的计算资源。ESX Agent Manager 将其健康状态报告为黄色时,解决方案不需要干预。
绿色解决方案及其所有代理已达到目标状态。

在这里插入图片描述
在选定的集群的三单引号单击解决所有问题。将解决与所选机构相关的所有问题。

3、EAM相关程序位置

VMware vSphere 6.x对应的rpm包为: vmware-eam

Windows中:C:\Program Files\VMware\CIS\eam
VCVA(vCenter Server Virtual Appliance ):/usr/lib/vmware-eam

停止tomcat/tcserver 服务:

Windows:
将 EAM Web 应用程序从 \webapps 移动至 \webapps 以外目录下的
停止 tcserver 实例: \bin\tcruntime-ctl.bat stop tomcat
启动 tcserver 实例: \bin\tcruntime-ctl.bat start tomcat

VCVA:
将 EAM Web 应用程序从 \webapps 移动至 \webapps 以外目录下的
停止 tcserver 实例: /bin/tcruntime-ctl.sh stop tomcat
启动 tcserver 实例: \bin\tcruntime-ctl.bat start tomcat

注意: 我们首先移动 EAM Web 应用程序文件夹,因为出于某些原因,在停止 tcserver 实例后,它会自动重新启动。

四、排故思路

1)检查 NSX for vSphere 当前版本的发行说明,了解问题是否已在错误修复中得到解决。在“安装和升级问题”下查看。
https://www.vmware.com/support/pubs/nsx_pubs.html进入查看对应NSX版本的文档,注:NSX for vSphere 现名为 NSX Data Center for vSphere;
在这里插入图片描述
在这里插入图片描述
查找Known Issues,确认遇到的问题是否在新版本中解决,且新版本是否与当前实际环境匹配,可使用升级方案解决;

2)确保在 ESXi 主机和vsphere环境中正确配置了 DNS。NSX for vSphere 6.x 中的主机准备期间,在 vSphere 主机上安装网络虚拟化组件时,VMware ESX Agent Manager (EAM) 可能会无法部署所有必需的 VIB。

1> vCenter Server, the ESXi hosts and NSX Manager需要正确配置DNS,确保vCenter Server, ESXi hosts, NSX Manager and Update Manager 这些组件虚拟机中的DNS正反向解析正常。
2>检查vsphere环境NTP服务配置是否正确,vspher环境的NTP时间一致性对环境的整体通信非常重要。
3>检查r NSX for vSphere 6.x 的相关端口是否通信正常,参照下表:

在这里插入图片描述
注:如vcsa部署过程中,自定义了端口,请确保该端口在和esxi间的防火墙上允许开放。

4>验证是否正确配置了vCenter Server的IP地址;
5>确认VUM(VMware Update Manager)服务是否允许正常;当使用VUM安装EAM / VXLAN代理时,EAM需要依赖vUM来安装和卸载 VIB到集群的ESXi主机,如vum允许异常,则会报错Agent VIB module not installed;这是 NSX for vSphere 6.x的已知问题,在vSphere 6.0 Update 3版本中被解决;或者手动直接在ESXi主机上安装 VXLAN 模块组件:

《1》首先需要将 bypassVumEnabled配置为true,以允许即使VUM已安装或VUM不可用,也可通过EAM直接将vib安装到ESXi主机上。打开https://vCenter_Server_IP/eam/mob/,用Administrator访问到MOB页:

在这里插入图片描述
从agency列表里选一个agency,VMware vCenter Server 6.0后,agency显示为GUID,如下:
在这里插入图片描述
上图中的4组valve对应下图中的4个集群,单击任一组可以进去:
在这里插入图片描述
在这里插入图片描述
单击config后,url变为:https://vCenter_Server_IP/eam/mob/?moid=agency-GUID&doPath=config
在这里插入图片描述
验证bypassVumEnabled是否值为true,由上图可见,正常部署完成情况下,bypassVumEnabled值为boolean;

如果先高配置为true,修改https://vCenter_Server_IP/eam/mob/?moid=agency-GUID&doPath=config为:https://vCenter_Server_IP/eam/mob/?moid=agency-GUID&method=Update,打开:

在这里插入图片描述
完成后,单击【Invoke Method】生效。安装完成如 NSX Manager界面主机准备处显示agency为红色,可单击对应主机的Resolve 。处理后再将bypassVumEnabled值修改回默认。

注:如果vcenter是新安装的,可通过 https://vCenter_Server_IP/eam页面采用你浏览器方式部署EAM,部署完成后,会显示:
在这里插入图片描述
6>确认vcenter进程vpxd运行正常,正常监听TCP端口8089;NSX Manager仅支持默认端口8089。vcenter部署过程中, vpxd会为ESX Agent Manager选择一个TCP端口(默认为8089),如果8089端口已被使用,将会自动自增,选8090及其后的端口。

7、PhotonOS已经引入了自动清理策略,定期清理/tmp文件夹。上述关于failed VIB payload publish问题,是因为ESX代理管理器(ESX Agent Manager )使用/tmp文件夹来存储发布的VIB有效负载。如果定期清理恰好将EAM用于存储已发布负载的文件夹结构删除,则会导致EAM操作失败,报:EAM fails to complete VIB operation due to failed VIB payload publish;这是vsphere 6.5的已知问题,vSphere 6.5 U1中该问题已得到解决,可升级到该版本;或可临时重启EAM 服务来尝试处理,执行:
service-control --stop eam
service-control --start eam

五、附录:NSX-V 6 通信流程

在这里插入图片描述

客户端PC> NSX Manager 443 / TCP(NSX Manager管理界面)
客户端PC> NSX Manager 80 / TCP(NSX Manager VIB访问)
ESXi主机> ESXi主机6999 / UDP(VLAN LIF上的ARP)
ESXi主机> NSX Controller 1234 / TCP(用户全球代理连接)
ESXi主机> NSX Manager 5671 / TCP(AMQP)
ESXi主机> NSX Manager 8301,8302 / UDP(DVS同步)
ESXi主机> vCenter Server 80 / TCP(ESXi主机准备)
NSX控制器> NSX控制器2878 ,2888,3888 / TCP(控制器群集 - 状态同步)
NSX控制器> NSX控制器30865 / TCP(控制器群集 - 状态同步)
NSX控制器> NSX控制器7777 / TCP(控制器间RPC端口)
NSX控制器> NTP时间服务器123 / TCP(NTP客户端连接)
NSX控制器> NTP时间服务器123 / UDP(NTP客户端连接)
NSX Manager> DNS服务器53 / TCP(DNS客户端连接)
NSX Manager> DNS服务器53 / UDP(DNS客户端连接)
NSX Manager> ESXi主机443 / TCP(管理和配置连接)
NSX Manager> ESXi主机8301,8302 / UDP(DVS同步)
NSX Manager> ESXi主机902 / TCP(管理和配置连接)
NSX Manager> NSX Controller 443 / TCP(控制器到管理器通信)
NSX Manager> NTP时间服务器123 / TCP(NTP客户端连接)
NSX Manager> NTP时间服务器123 / UDP(NTP客户端连接)
NSX Manager > Syslog服务器514 / TCP(Syslog连接)
NSX Manager> Syslog服务器514 / UDP(Syslog连接)
NSX Manager> vCenter Server 443 / TCP(vSphere Web Access)
NSX Manager> vCenter Server 902 / TCP(vSphere Web Access)
REST客户端> NSX Manager 443 / TCP(NSX Manager REST API)
vCenter Server> ESXi主机80 / TCP(ESXi主机准备)
vCenter Server> NSX Manager 80 / TCP(主机准备)
VTEP> VTEP 4789 / UDP(VTEP 之间的传输网络封装


推荐阅读
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 本文介绍了如何使用C#制作Java+Mysql+Tomcat环境安装程序,实现一键式安装。通过将JDK、Mysql、Tomcat三者制作成一个安装包,解决了客户在安装软件时的复杂配置和繁琐问题,便于管理软件版本和系统集成。具体步骤包括配置JDK环境变量和安装Mysql服务,其中使用了MySQL Server 5.5社区版和my.ini文件。安装方法为通过命令行将目录转到mysql的bin目录下,执行mysqld --install MySQL5命令。 ... [详细]
  • Nginx使用AWStats日志分析的步骤及注意事项
    本文介绍了在Centos7操作系统上使用Nginx和AWStats进行日志分析的步骤和注意事项。通过AWStats可以统计网站的访问量、IP地址、操作系统、浏览器等信息,并提供精确到每月、每日、每小时的数据。在部署AWStats之前需要确认服务器上已经安装了Perl环境,并进行DNS解析。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • 本文介绍了在Windows环境下如何配置php+apache环境,包括下载php7和apache2.4、安装vc2015运行时环境、启动php7和apache2.4等步骤。希望对需要搭建php7环境的读者有一定的参考价值。摘要长度为169字。 ... [详细]
  • 本文介绍了Windows操作系统的版本及其特点,包括Windows 7系统的6个版本:Starter、Home Basic、Home Premium、Professional、Enterprise、Ultimate。Windows操作系统是微软公司研发的一套操作系统,具有人机操作性优异、支持的应用软件较多、对硬件支持良好等优点。Windows 7 Starter是功能最少的版本,缺乏Aero特效功能,没有64位支持,最初设计不能同时运行三个以上应用程序。 ... [详细]
  • Imtryingtofigureoutawaytogeneratetorrentfilesfromabucket,usingtheAWSSDKforGo.我正 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • 图解redis的持久化存储机制RDB和AOF的原理和优缺点
    本文通过图解的方式介绍了redis的持久化存储机制RDB和AOF的原理和优缺点。RDB是将redis内存中的数据保存为快照文件,恢复速度较快但不支持拉链式快照。AOF是将操作日志保存到磁盘,实时存储数据但恢复速度较慢。文章详细分析了两种机制的优缺点,帮助读者更好地理解redis的持久化存储策略。 ... [详细]
  • 在重复造轮子的情况下用ProxyServlet反向代理来减少工作量
    像不少公司内部不同团队都会自己研发自己工具产品,当各个产品逐渐成熟,到达了一定的发展瓶颈,同时每个产品都有着自己的入口,用户 ... [详细]
  • 本文介绍了在使用Python中的aiohttp模块模拟服务器时出现的连接失败问题,并提供了相应的解决方法。文章中详细说明了出错的代码以及相关的软件版本和环境信息,同时也提到了相关的警告信息和函数的替代方案。通过阅读本文,读者可以了解到如何解决Python连接服务器失败的问题,并对aiohttp模块有更深入的了解。 ... [详细]
  • 本文介绍了在mac环境下使用nginx配置nodejs代理服务器的步骤,包括安装nginx、创建目录和文件、配置代理的域名和日志记录等。 ... [详细]
  • Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOMEbinjava–option来启 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 本文介绍了在CentOS上安装Python2.7.2的详细步骤,包括下载、解压、编译和安装等操作。同时提供了一些注意事项,以及测试安装是否成功的方法。 ... [详细]
author-avatar
手机用户2502903213
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有