Esxi主机not responding(未响应)及抓包方法

问题描述

某次执行vm迁移任务,任务卡死,esxi主机在vcenter状态显示“未响应”;
1)ESXi主机在vCenter Server中显示为``未响应’’。
2)ESXi主机在vCenter Server中显示为已断开连接。
3)无法将ESXi主机连接到vCenter Server。
4)ESXi主机上的虚拟机在vCenter Server中显示为灰色。

再次尝试重新将ESXi添加到vCenter Server时,看到类似以下错误:

Unable to access the specified host, either it doesn’t exist, the server software is not responding, or there is a network problem
无法访问指定的主机,该主机不存在,服务器软件没有响应或存在网络问题;

5)web登录受影响主机,查看vpxd.log 文件,有类似信息:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

一段时间后,会报超时。ipmi方式登录kvm终端,重启esxi或管理网口,待登录后再次尝试登录:

T
T

分析

我们可通过验证网络和管理服务器代理的配置是否正确,并确认ESXi主机上的是否可用性,逐步排除,由于ESXi主机达到“无响应”状态的原因有很多,针对处于“无响应”状态的VMware ESXi主机,VMware强烈建议:

1)确认可从vCenter Server或vSphere Client访问ESXi主机

1>检查vc上的 vpxd.log文件,日志中包含vc与esxi主机连接时的相关信息,可能会报错:vmodl.fault.HostCommunication,类似:

[VpxLRO] – ERROR task-internal-6433833 – host-24499 – vim.host.NetworkSystem.queryNetworkHint: vmodl.fault.HostCommunication:
(vmodl.fault.HostCommunication) {
dynamicType = ,
faultCause = (vmodl.MethodFault) null,
msg = “”,
}

[VpxdMoHost::CollectRemote] Stats collection cannot proceed because host may no longer be available or reachable: vmodl.fault.HostCommunication.

其中,vpxd.log:是vCenter Server主日志,包括所有vSphere客户端和Web服务连接、内部任务和事件,以及与托管ESXi主机上的vCenter Server Agent(vpxa)的通信。

2>检查vpxd-profiler.log, profiler.log, and scoreboard.log:日志,包含了在vCenter Server中执行的操作的概要分析指标或访问vod页面查看:
https://VCHostnameOrIPAddress/vod/index.html
在这里插入图片描述
其他日志说明:
vpxd-alert.log: 记录有关vpxd进程的非致命信息

cim-diag.log and vws.log: 通用信息模型监视信息,包括vCenter Server与托管主机的CIM接口之间的通信。

drmdump: 由VMware分布式资源调度程序(DRS)提出并采取的操作,由vCenter Server管理的启用DRS的群集分组。这些日志已压缩。

ls.log: Licensing Services扩展的运行状况报告,连接到vCenter Server的日志。

vimtool.log: 在vCenter Server安装期间使用的字符串转储,其中包含DNS,用户名和JDBC创建的散列信息。

stats.log: 提供有关从ESXi主机收集历史性能数据的信息

sms.log: Storage Monitoring Service扩展的运行状况报告,与vCenter Server的连接日志;

eam.log(ESXi Agent Monitor ): agent扩展的运行状况报告,连接到vCenter Server的日志。

catalina.date.log and localhost.date.log: VMware Webmanagement Services连接信息和状态。

jointool.log: 链接模式vCenter Server之间的VMwareVCMSDS服务和单个ADAM数据库对象,内部任务和事件以及复制日志的运行状况。

以上日志6.5之后均可在web vc上看到: Home > Administration > System Logs.

3> ping 主机地址是否有响应,impi登录esxi主机,检查电源指示灯是否正常,gu如果是域名方式接入vc,检查dns配置是否有错;
执行:esxtop //收集中断、内存、网络、磁盘适配器、磁盘设备以及电源管理。
在这里插入图片描述
4>ps -PTstc|less //查看进程

2)验证是否可以重新连接ESXi主机,或者重新连接ESXi主机是否解决了该问题。

1>在vc的清单里选中主机断开连接后,在重新尝试连接,待任务执行完成后,看状态是否恢复。
2>如重连esxi后30-90s后又断开,可能原因是vCenter Server和ESXi主机之间的心跳数据包丢失,被阻止或丢失。比如vCenter Server受管IP地址的配置不正确,被修改,则主机会从vCenter Server接收心跳,但无法将其返回。
特别记住,默认的心跳端口是UDP 902,并且这些数据包必须在vCenter Server和ESXi主机之间发送,以使主机保持连接并保留在vCenter Server清单中。

3)验证ESXi主机是否能够以正确的IP地址响应vCenter Server(即vc里是否能正常看到主机地址)。如果vCenter Server没有从ESXi主机接收到心跳信号,它将进入无响应状态(断开重连试试。触发心跳)。要验证是否设置了正确的受管IP地址;

1>检查vc管理地址配置:
Configure > Advanced Settings > EDIT SETTINGS,查看:
VirtualCenter.AutoManagedIPV4 和 VirtualCenter.AutoManagedIPV6的值

2>检查esxi主机用于心跳检查的ip地址和端口:
ESXi 6.7执行:grep -i serverport /etc/vmware/vpxa/vpxa.cfg   //确认是否是默认的心跳udp 902端口
grep -i serverIp /etc/vmware/vpxa/vpxa.cfg   //确认管理ip是否正确

3>抓包分析: pktcap-uw工具,ESXi 5.5和更高版本默认包含pktcap-uw工具。

tcpdump-uw工具只能在vmkernel接口级别捕获数据包/帧,而不能在上行链路,vSwitch或虚拟端口级别捕获帧。新的pktcap-uw工具允许在管理程序内的所有点捕获流量。pktcap默认为仅入站流量。
在vSphere 6.7和更高版本中,您可以使用–dir 0表示入站,–dir 1表示出站或使用–dir 2表双向来进行流量包获取。
1、要查看vmkernel端口流量的实时捕获:pktcap-uw --vmk vmkX //X表vkernel网卡号
2、要查看主机vmnic上特定物理网卡的实时捕获,执行:pktcap-uw --uplink vmnicX
3、要查看虚拟机特定vSwitch端口的实时捕获,请使用–switchport选项:
#pktcap-uw --switchport switchportnumber -G
eg:在与dvSwitchport 8连接的虚拟机之间捕获帧或数据包:
#pktcap-uw --switchport 8
要将输出捕获到文件中,请使用-o选项:
eg2:# pktcap-uw --vmk vmk# -o file.pcap
eg3:# pktcap-uw --vmk vmk0 -o /tmp/test.pcap
另外:-C <file_size>.指定输出文件大小;
4、执行pktcap-uw命令同时捕获两个点的数据包:
# pktcap-uw --switchport 50331665 -o /tmp/50331665.pcap & pktcap-uw --uplink vmnic2 -o /tmp/vmnic2.pcap &
停止追踪,执行:kill $(lsof |grep pktcap-uw |awk ‘{print $1}’| sort -u)
验证:lsof |grep pktcap-uw |awk ‘{print $1}’| sort -u 确认pktcap-uw进程结束
在这里插入图片描述

4)验证是否存在使用IP和FQDN从vCenter Server到ESXi主机的网络连接。

5)确认您可以从vCenter Server连接到TCP / UDP端口902上的ESXi主机。

6)验证重新启动ESXi Management Agents是否可以解决问题;

7)验证托管进程是否已停止在受影响的ESXi主机上响应。

8)验证vpxa代理是否已停止在受影响的ESXi主机上响应。

9)确认ESXi主机是否出现紫色诊断屏幕。

10)ESXi主机可能由于底层存储问题而与vCenter Server断开连接,检查存储及存储网络

附录:已断开连接与未响应区别

未响应:

当主机变灰并显示为“无响应”状态,这可能原因是vCenter Server不了解该外部因素。如果主机显示为“无响应”,则是vCenter Server将不再从其接收到心跳信号。发生这种情况的原因有很多,但都是由于这些原因阻止了从主机到vCenter接收心跳,从而vc报出“无响应”状态。

1)主机和vCenter Server之间的网络连接问题,比如 UDP port 902受阻, 路由问题, 路由表, 防火墙等等;
2)hostd在主机上未成功运行;
3)vpxa在主机上未成功运行;
4)主机本身问题

当解决了使主机进入“无响应”状态的根本问题,则主机可以从“无响应”回到正常状态。但是,处于断开状态的主机将不再受到vCenter Server的监视,并保持该状态,而不管主机后续状态如何,待问题解决后,用户必须右键单击主机,然后选择“连接”以使主机回到vCenter Server中的正常状态。

已断开连接

断开连接状态是从vCenter Server端发起的状态,会挂起vCenter Server主机管理,因此所有vCenter Server服务都将忽略该主机。断开连接的主机是用户已明确断开连接的主机,或者主机上的许可证已过期。断开连接的主机也需要用户手动来重新连接主机。

最终,由于以下三个原因之一而断开连接的主机(其中两个需要手动干预):
1)用户自己手动断开,右键单击主机,然后选择“断开连接”。
2)用户右键单击列为“无响应”的主机,然后单击“连接”,该任务将失败。检查主机许可证已过期。
3)主机断开连接后,它仍保留在vCenter Server清单中,但vCenter Server不会从断开连接的主机获取任何更新,也不会对其进行监视,因此vc不在更新或主动获取该断开连接的主机的运行状况。

在考虑断开主机连接时,vCenter Server采用保守的方法。主机上没有响应的虚拟机会影响vSphere HA的准入控制检查。在计算HA的当前故障转移级别时,vCenter Server不包括那些虚拟机,但假定如果主机发生故障,则在断开连接的主机上运行的任何虚拟机都将进行故障转移。因为主机的状态未知,并且因为vCenter Server没有与该主机通信,所以HA无法将其用作保证的故障转移目标。作为断开主机的一部分,vCenter Server会禁用该主机上的HA。因此,在主机隔离的情况下,该主机上的虚拟机不会进行故障转移。主机重新连接后,该主机将再次可用于故障转移。

猜你喜欢

转载自blog.csdn.net/ximenjianxue/article/details/108816350