Symptoms
A virtual machine running on VMware ESX/ESXi does not respond to any external input or exhibit any activity. Specifically:
- Guest OS does not respond to keyboard or mouse activity at the console.
- Guest OS does not respond to network communication, including ping, RDP, SSH, etc.
- Virtual machine console screen is static, and does not change or refresh.
- Tasks performed on the virtual machine fail, timeout, or do not start.
- Virtual machine does not produce network or disk traffic.
Purpose
This article provides steps to isolate possible causes of a vSphere virtual machine becoming unresponsive.
An unresponsive virtual machine does not respond to any connection attempts and may be unable to respond to any attempts to power cycle it. There are a variety of reasons a virtual machine can end up in an unresponsive state. This article enables you to identify and resolve these common causes, and, when resolved, return the virtual machine to an operational state.
It is possible to hard power off a virtual machine without troubleshooting the cause, but this will prevent collection and analysis of information which could assist with determining the root cause of the outage. For more information about shutting down the virtual machine, see Powering off a virtual machine on an ESXi host (1014165) and Powering off an unresponsive virtual machine on an ESX host (1004340).
This article assumes that the issue is currently occurring. If troubleshooting an issue that occurred in the past, some required information may be unavailable.
Resolution
The services a virtual machine provides may become unresponsive or unreachable due to a number of causes, including problems with the applications or guest OS within the virtual machine, problems with the virtual machine monitor or virtual devices, resource contention on the host, or issues with underlying storage or networking infrastructure.
If the guest OS is producing any activity, it is successfully running. In this case, unresponsiveness is likely due to a connectivity problem or resource contention, or is specific to a higher-level component such as an application or service running within the guest OS.
Validate the scope
It is important to have accurate symptoms and an understanding of the scope of a problem. To confirm the scope of the problem, work through these checks:
- Confirm that the virtual machine is actually unresponsive. It is possible that the virtual machine is not responding via one interface, but is functioning correctly on others. For more information on testing whether a virtual machine is genuinely unresponsive, seeConfirming whether virtual machine is unresponsive (1007802).
If a virtual machine is responsive, but performing poorly, see Troubleshooting ESX virtual machine performance issues (2001003). - Verify that the virtual machine is powered on. If the virtual machine has been powered off unexpectedly, power it back on and then troubleshoot the cause of the unexpected shutdown. For more information, see:
- Powering on an ESX/ESXi host's virtual machine (1003738)
- Determining why a virtual machine was powered off or restarted (1019064).
Note: If a virtual machine is powered off and cannot be powered back on, see Troubleshooting a virtual machine that is unable to power on (2001005). - Determine whether this issue is affecting multiple virtual machines or just one. If multiple virtual machines are affected, consider the similarities between the affected virtual machines when attempting to narrow the potential scope. In particular, focus on shared infrastructure which the group of affected virtual machines depend on, and whether all virtual machines depending on that common infrastructure are affected. For more information, see Assessing commonalities of an outage affecting multiple virtual machines (1019000).
- Determine whether the guest OS is responsive to interaction at the virtual machine console. If an issue has been isolated to the guest OS or applications within the virtual machine, and the guest OS is responsive at the console, interact with the guest OS at the console to address the problem. For more information, see Troubleshooting virtual machine network connection issues (1003893).
- Determine whether the guest OS or its application services are responsive to interaction via the network. If the guest OS or services respond to network communication but the console is unresponsive or non-functional, see Cannot open the virtual machine console (749640) or Ensuring that a virtual machine is not inaccessible due to a VMware vCenter or VirtualCenter issue (1007808).
- Determine whether the guest OS has reported any critical errors to the console, and is sitting in a halted state. For more information, see Identifying critical Guest OS failures within virtual machines (1003999).
- Determine whether the ESX/ESXi host is unresponsive too. If the host is unresponsive as well, the scope is larger than initially assumed. For more information, see Determining why an ESX/ESXi host does not respond to user interaction at the console (1017135).
Identify the cause
At this point, you have established that one or more virtual machines are unresponsive at both the virtual console and via the network. The host itself is responsive. A problem may exist with resource accessibility or contention, or with underlying storage or networking infrastructure.
To identify the cause:
- Determine whether the problem is triggered by an operation or task being performed on the virtual machine. For example, snapshot and vMotion operations both stun a virtual machine for brief periods of time while memory state is copied across the network or to disk. For more information, see Taking a snapshot with virtual machine memory stuns the virtual machine while the memory is written to disk (1013163).
- Some common configuration errors can lead to a virtual machine becoming unresponsive, such as while waiting for a resource. Review the virtual machine and host configuration. For more information, see:
- Virtual machines depend on functional backing infrastructure. If there is an issue with the backing storage or networking infrastructure which the virtual machine depends on, the virtual hardware which a virtual machine presents to the guest OS may be impacted. Address the underlying storage or networking issue. For more information, see:
- Virtual machines depend on available host resources (CPU, Memory), and the guest OS consumes those resources. A problem with resource availability or scheduling inside or outside the virtual machine may cause it to become unresponsive. The virtual machine may also be blocking on unavailable resources or spinning at 100% vCPU utilization. For more information, see Troubleshooting a virtual machine that has stopped responding: VMM and Guest CPU usage comparison (1017926).
Action Plan
At this point, you have established that the host running the virtual machine(s) is both responsive and not encountering any shared storage or networking infrastructure issues. The guest OS has not failed with a critical error, but remains unresponsive at the virtual machine console and via the network.
Take action to recover or collect information about the unresponsive virtual machine based on the architectural layer which is suspect:
- If an issue has been isolated to the guest OS, or the
%RUN
is relatively high, but the virtual machine monitor is functioning correctly, move investigation to within the virtual machine's guest OS or applications. A guest OS can become unresponsive inside a virtual machine in the same way it can on physical hardware. For more information, see Troubleshooting unresponsive guest operating system issues (1007818).- Collect performance data while the problem is happening. For more information, see Using performance collection tools to gather data for fault analysis (1006797).
- Attempt to manually induce a panic of the kernel inside the guest OS to collect additional information about its internal state. For more information, see:
- Using virtual NMI facilities to troubleshoot unresponsive virtual machines on ESX/ESXi (1009187)
- Microsoft article 927069: How to generate a complete crash dump file or a kernel crash dump by using an NMI on a Windows-based system
- Microsoft article 303021: How to generate a memory dump file when a server stops responding
- Linux Documentation Project article: Magic SysRq key
Note: The preceding links were correct as of August 31, 2011. If you find a link is broken, provide feedback and a VMware employee will update the link.
- If step 2 does not produce useful information, suspend the virtual machine to collect information about its internal state and open a case with VMware Support. For more information, see:
- Suspend the virtual machine and collect the
.vmss
suspend state file. For more information, see Suspending a virtual machine on ESX/ESXi to collect diagnostic information (2005831). - Collect logs from the host running the virtual machine. For more information see Collecting diagnostic information for VMware products (1008524).
- Power the virtual machine back on, then reset it.
- Engage VMware Support, providing the information collected in steps 1, 3a and 3b. For more information, see How to File a Support Request.
Note: If the virtual machine cannot be suspended because another management task is in progress, see Collecting information about tasks in VMware ESX and ESXi (1013003) and Restarting the Management agents on an ESX or ESXi Server (1003490). If attempts to suspend the virtual machine fail and no management task appears to be present, skip to the next section and attempt to crash the virtual machine. - Suspend the virtual machine and collect the
- Collect performance data while the problem is happening. For more information, see Using performance collection tools to gather data for fault analysis (1006797).
- If an issue has been isolated to the virtual machine monitor, or the
%WAIT
is relatively high, or attempts to suspend the virtual machine have failed, collect performance data and forcefully crash the virtual machine to collect additional information about its internal state.- Collect performance data while the problem is happening. For more information, see Using performance collection tools to gather data for fault analysis (1006797).
- Crash the virtual machine to collect information about its internal state. For more information, see Crashing a virtual machine on ESX/ESXi to collect diagnostic information (2005715).
Note: If attempts to crash the virtual machine fail, skip to the next section and attempt to crash the host. - Engage VMware Support, providing the information collected in steps 1 and 2. For more information, see How to File a Support Request.
- Collect performance data while the problem is happening. For more information, see Using performance collection tools to gather data for fault analysis (1006797).
- If an issue has been isolated to the virtual machine monitor, but attempts to suspend or crash the virtual machine fail, this reflects a problem with the VMkernel. Collect a log bundle from the host, evacuate all unaffected virtual machines from the host, and use an NMI to intentionally generate a purple diagnostic screen.
- Collect performance data while the problem is happening. For more information, see Using performance collection tools to gather data for fault analysis (1006797).
- Move all unaffected virtual machines off of the host using vMotion. If possible, use Maintenance Mode to prevent additional virtual machines from being started on the host.
- Configure the host to panic on receiving a non-maskable interrupt, and then issue an NMI to trigger a panic. For more information, see Using hardware NMI facilities to troubleshoot unresponsive hosts (1014767).
- After the host has generated a purple diagnostic screen and completed dump of diagnostic information, take a screenshot or photograph of the console and restart the host.
- Collect diagnostic information from the host. For more information, Collecting diagnostic information from an ESX or ESXi host that experiences a purple diagnostic screen (1004128).
- Engage VMware Support, providing the information collected in steps 1, 4 and 5. For more information, see How to File a Support Request.
- Collect performance data while the problem is happening. For more information, see Using performance collection tools to gather data for fault analysis (1006797).
Tags
See Also
http://kb.vmware.com/selfservice/microsites/search.do?language=en_US&cmd=displayKC&externalId=1007819
No comments:
Post a Comment