book
Article ID: 339253
calendar_today
Updated On:
Products
VMware vCenter Server
VMware vSphere ESXi
Issue/Introduction
本文提供了隔离 vSphere 虚拟机无响应的可能原因的步骤。
无响应的虚拟机不会响应任何连接尝试,并且可能无法响应任何重新启动尝试。虚拟机以无响应的状态结束的原因有多种。本文使您可以识别和解决这些常见原因,解决后,将虚拟机返回到操作状态。
也可以在没有对原因进行故障排除的情况下硬关闭虚拟机电源,但是这将阻止收集和分析可帮助确定中断的根本原因的信息。有关关闭虚拟机电源的详细信息,请参见在 ESXi 主机上关闭虚拟机 (1014165) (Powering off a virtual machine on an ESXi host (1014165)) 和在 ESX 主机上关闭无响应的虚拟机 (1004340) (Powering off an unresponsive virtual machine on an ESX host (1004340))。
本文假定当前正出现此问题。如果要对过去发生的问题进行故障排除,则一些必需信息可能不可用。
Symptoms:
在 VMware ESX/ESXi 上运行的虚拟机不响应任何外部输入或表现任何活动。具体而言:
- 客户机操作系统不响应控制台上的键盘或鼠标活动。
- 客户机操作系统不响应网络通信,包括 ping、RDP、SSH 等。
- 虚拟机控制台屏幕是静态的,而不更改或刷新。
- 在虚拟机上执行的任务失败、超时或没有启动。
- 虚拟机不生成网络或磁盘流量。
Resolution
由于一些原因,虚拟机提供的服务可能会无响应或无法访问,包括虚拟机内的应用程序或客户机操作系统的问题、虚拟机监视器或虚拟设备的问题、主机上的资源争用,或者基础存储或网络连接基础架构的问题。
如果客户机操作系统生成任何活动,则其已成功运行。在这种情况下,无响应可能是由于连接问题或资源争用产生的,或者特定于更高级别的组件(如,在客户机操作系统上运行的应用程序或服务)。
验证范围
有准确的症状并了解问题的范围是十分重要的。要确认问题的范围,请进行以下检查:
- 确认虚拟机实际上无响应。虚拟机可能在通过某个接口时无响应,但在其他接口上正常工作。有关测试虚拟机是否真正无响应的详细信息,请参见确认虚拟机是否无响应 (1007802) (Confirming whether virtual machine is unresponsive (1007802))。
如果虚拟机有响应但性能不佳,请参见对 ESX 虚拟机性能问题进行故障排除 (2001003) (Troubleshooting ESX virtual machine performance issues (2001003))。
- 确认虚拟机是否已打开。如果虚拟机意外关闭,请重新打开电源,然后对意外关机的原因进行故障排除。有关详细信息,请参见:
注意:如果虚拟机关闭且无法重新打开电源,请参见对无法启动的虚拟机进行故障排除 (2001005) (Troubleshooting a virtual machine that is unable to power on (2001005))。
- 确定此问题是影响多个虚拟机,还是仅影响一个虚拟机。如果多个虚拟机都受影响,尝试缩小潜在范围时,请考虑受影响虚拟机之间的相似之处。尤其需要注意的是,关注受影响虚拟机组所依赖的共享基础架构,以及依赖于该通用基础架构的所有虚拟机是否都受到影响。有关详细信息,请参见评估影响多个虚拟机的中断的共性 (1019000) (Assessing commonalities of an outage affecting multiple virtual machines (1019000))。
- 确定客户机操作系统是否响应虚拟机控制台上的交互。如果一个问题只针对虚拟机中的客户机操作系统或应用程序,且客户机操作系统在控制台上有响应,则请在控制台上与客户机操作系统进行交互以解决此问题。有关详细信息,请参见对虚拟机网络连接问题进行故障排除 (1003893) (Troubleshooting virtual machine network connection issues (1003893))。
- 确定客户机操作系统或其应用程序服务通过网络响应交互。如果客户机操作系统或服务响应网络通信但控制台无响应或不起作用,请参见无法打开虚拟机控制台 (749640) (
- Troubleshooting virtual machine console and MKS issues in the vSphere Client (749640)) 或确保虚拟机不因 VMware vCenter 或 VirtualCenter 问题而无法访问 (1007808) (Ensuring that a virtual machine is not inaccessible due to a VMware vCenter or VirtualCenter issue (1007808))。
- 确定客户机操作系统是否向控制台报告了任何严重错误,并且处于停止状态。有关详细信息,请参见识别虚拟机中的客户机操作系统严重故障 (1003999) (Identifying critical Guest OS failures within virtual machines (1003999))。
- 确定 ESX/ESXi 主机是否也无响应。如果主机也无响应,则范围大于初始假定的范围。有关详细信息,请参见确定 ESX/ESXi 主机不响应控制台上的用户交互的原因 (1017135) (Determining why an ESX/ESXi host does not respond to user interaction at the console (1017135))。
识别原因
此时,您已确定一个或多个虚拟机在虚拟控制台上和通过网络时无响应。主机本身是有响应的。资源访问或争用可能存在问题,或者基础存储或网络连接基础架构可能存在问题。
要识别原因,请执行以下操作:
- 确定该问题是否由虚拟机上执行的操作或任务所触发。例如,当内存状态通过网络复制或复制到磁盘上时,快照和 vMotion 操作都会使虚拟机停止一段时间。有关详细信息,请参见使用虚拟机内存创建快照使虚拟机长时间停止,同时内存被写入磁盘 (1013163) (Taking a snapshot with virtual machine memory stuns the virtual machine while the memory is written to disk (1013163))。
- 一些常见的配置错误可能导致虚拟机无响应,如等待资源时。查看虚拟机和主机配置。有关详细信息,请参见:
- 虚拟机依赖于正常运行的支持基础架构。如果虚拟机所依赖的支持存储或网络连接基础架构存在问题,则虚拟机提供给客户机操作系统的虚拟硬件可能会受到影响。解决基础存储或网络连接问题。有关详细信息,请参见:
- 虚拟机依赖于可用的主机资源(CPU、内存),而客户机操作系统则消耗这些资源。虚拟机内部或外部的资源可用性或日程安排存在问题可能会导致其无响应。虚拟机还可能会在不可用的资源上受阻或停止在 100% 的 vCPU 利用率。有关详细信息,请参见对已停止响应的虚拟机进行故障排除:VMM 与客户机的 CPU 使用情况比较 (1017926) (Troubleshooting a virtual machine that has stopped responding: VMM and Guest CPU usage comparison (1017926))。
操作计划
此时,您已确定运行虚拟机的主机有响应,且没有遇到任何共享存储或网络连接基础架构问题。客户机操作系统没有因严重错误而出现故障,但在虚拟机控制台上和通过网络时均保持无响应。
采取操作以恢复或收集有关怀疑是基于体系结构层的无响应虚拟机的信息:
如果有用的诊断信息是由客户机操作系统在响应这些事件之一时生成的,请咨询客户机操作系统供应商以进一步调查。
- 如果第 2 步没有生成有用信息,请挂起虚拟机以收集有关其内部状态的信息并且就该问题寻求 VMware 技术支持。有关详细信息,请参见:
注意:如果由于其他管理任务正在进行中而无法挂起虚拟机,请参见收集 VMware ESX 和 ESXi 中任务的相关信息 (1013003) (Collecting information about tasks in VMware ESX and ESXi (1013003)) 和重新启动 ESX 或 ESXi Server 上的管理代理 (1003490) (Restarting the Management agents on an ESX or ESXi Server (1003490))。如果挂起虚拟机的尝试失败,并且似乎不存在管理任务,请跳到下一部分,并尝试让虚拟机崩溃。