无法关闭 ESXi 主机上的虚拟机 (1014165)

https://kb.vmware.com/s/article/1014165?lang=zh_CN

  


Last Updated: 4/17/2019Categories: How to
 Symptoms

免责声明: 本文是 Unable to power off a virtual machine on an ESXi host (1014165) 的翻译版本。 尽管我们会不断努力为本文提供最佳翻译版本,但本地化的内容可能会过时。 有关最新内容,请参见英文版本。


  • 无法关闭 ESXi 主机上的虚拟机电源
  • 虚拟机无响应,且无法停止或终止
 
 Purpose

本文提供了在 ESXi 环境中停止虚拟机的信息。

注意: 本文仅适用于 ESXi,不适用于 ESX。 对于 ESX 主机,请参见 Powering off an unresponsive virtual machine on an ESX host (1004340)

注意: 如果尝试对虚拟机无响应的原因进行故障排除,通常情况下,最好先收集性能衡量指标,然后使虚拟机挂起或崩溃,以便收集更多故障排除信息。

有关详细信息,请参见:

 
 Resolution
警告: 请按顺序执行本文各节及各步骤中的操作。 请勿跳过其中的某节或某步骤,因为每个步骤可能都会对虚拟机产生影响。
 

使用 vSphere Client/vSphere Web Client 关闭虚拟机

请尝试使用客户端正常关闭虚拟机:

  1. 将 vSphere Client 或 vSphere Web Client 连接到 VMware vCenter Server 或 VirtualCenter Server。
  2. 右键单击虚拟机,然后单击关闭电源。 如果电源操作失败并出现错误“其他任务已在进行中 (Another task is already in progress)”,请等待该任务完成,或者参见 Powering off a virtual machine fails with the error: Cannot power Off: Another task is already in progress (1027040) 或 vCenter operation times out with the error: Operation failed since another task is in progress (1004790)
  3. 如果该虚拟机依然在运行,请尝试直接从主机执行该操作。
  4. 将 vSphere Client 或 VMware Host Client 直接连接到运行该虚拟机的 ESXi 主机。
  5. 右键单击虚拟机,然后选择关闭电源。

注意:从 vSphere 6.5,您可以启用虚拟机加密来保护虚拟机以及其文件。

在虚拟机上如果加密已启用,您必须有一组加密操作权限,否则你将无法关闭虚拟机的电源。

有关权限的详细信息,请参见 ESXi and vCenter Server 6.5 Documentation 中的"加密任务的前提条件和所需的特权"部分。

如果使用此客户端无法正常关闭该虚拟机的电源,请使用以下命令行选项之一。
 

安装 vSphere Command-Line Interface 工具

本文中某些过程使用 vSphere Command-Line Interface (vCLI)。 请确保已安装 vCLI,然后再继续操作。
注意: 对于 ESXi 4.x、ESXi 5.x 和 ESXi 6.0,可以从 vSphere Management Assistant (vMA) 访问远程命令行界面。 如果您首选使用此工具,请参见 vSphere Command-Line Interface Installation and Reference Guide 中的“安装 vMA 并从 vMA 运行命令”。
 

确定虚拟机的位置

确定虚拟机在哪个主机上运行。 在 VI Client 中虚拟机的摘要选项卡上提供了此信息。 后续命令将在当前运行该虚拟机的 ESXi 主机上执行或者会远程引用该主机。

使用 ESXi esxcli 命令关闭虚拟机电源

可以在本地或远程使用 esxcli 命令关闭 ESXi 5.x 或更高版本上运行的虚拟机电源。 有关详细信息,请参见 vSphere Command-Line Interface Reference 中的“esxcli vm 命令”部分。

  1. 在提供 esxcli 工具的位置打开一个控制台会话,该位置可以是 ESXi Shell、vSphere Management Assistant (vMA) 或 vSphere Command-Line Interface (vCLI) 的安装位置。
  2. 运行以下命令获取正在运行的虚拟机的列表(虚拟机由 World ID、UUID、显示名称和 .vmx 配置文件的路径标识):

    esxcli vm process list

  3. 运行以下命令关闭列表中虚拟机的电源:

    esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber

    注意:
    有三种关机方法可供使用。 软关机是正常关机,硬关机是立即关机,强制关机则应在不得已的情况下使用。

    关机命令的替代语法为: esxcli vm process kill -t [ soft,hard,force] -w WorldNumber

  4. 重复步骤 2,验证该虚拟机已不再运行。

对于 ESXi 4.1:

  1. 运行以下命令获取正在运行的虚拟机的列表(虚拟机由 World ID、UUID、显示名称和 .vmx 配置文件的路径标识):

    esxcli vms vm list

  2. 运行以下命令关闭此列表中某个虚拟机的电源:

    esxcli vms vm kill --type= [soft,hard,force] --world-id= WorldNumber

使用 ESXi 命令行实用程序 vim-cmd 关闭虚拟机电源

  1. 在 ESXi 控制台上,进入技术支持模式并以 root 用户身份登录。 有关详细信息,请参见 Tech Support Mode for Emergency Support (1003677)
  2. 运行以下命令获取所有已注册虚拟机的列表(虚拟机由 VMID、显示名称和 .vmx 配置文件的路径标识):

    vim-cmd vmsvc/getallvms

  3. 运行以下命令获取虚拟机的当前状态:

    vim-cmd vmsvc/power.getstate VMID

  4. 使用步骤 2 中获取的 VMID 关闭虚拟机电源,运行以下命令:

    vim-cmd vmsvc/power.shutdown VMID

    注意: 如果虚拟机无法关闭,请运行以下命令:

    vim-cmd vmsvc/power.off VMID

通过在 ESXi 上发送信号来关闭虚拟机

可以从命令行通过向进程发送信号来停止虚拟机。
警告: 该过程可能对 ESXi 主机有潜在危害。 如果您未能识别出正确的进程 ID (PID),并因此而终止了错误的进程,则可能会产生意料不到的结果。 如果您担心下面的过程,请向 VMware 技术支持提交一个支持请求,并在问题描述中注明本知识库文章的 ID (1014165)。 有关详细信息,请参见 How to Submit a Support Request
在 ESXi 3.5 和更高版本中,可以使用 kill 命令向正在运行的虚拟机进程发送信号并终止该进程。
  1. 在 ESXi 控制台上,进入技术支持模式并以 root 用户身份登录。 有关详细信息,请参见 Tech Support Mode for Emergency Support (1003677)
  2. 运行以下命令确定虚拟机进程是否在 ESXi 主机上运行:

    ps | grep vmx

    输出如下所示:

    7662 7662 vmx /bin/vmx
    7667 7662 vmx /bin/vmx
    7668 7662 mks:VirtualMachineName /bin/vmx
    7669 7662 vcpu-0:VirtualMachineName /bin/vmx

    将返回若干行,每个 vmx 进程一行。 请标识目标虚拟机的父 vmx 进程。 第一列包含的是 PID,第二列则包含该父进程的 PID。 请确保您仅终止父进程。 每个进程的父进程 ID (PID) 在第二列中列出,在本示例中以粗体标识。 记下该数字以便在后面的步骤中使用。

    警告: 请确保您识别的是专门对应于您要修复的虚拟机的行。 如果对该虚拟机以外的虚拟机继续执行此过程,则可能会导致其他虚拟机停机。

  3. 如果列出了 vmx 进程,运行以下命令终止该进程:

    kill ProcessID

  4. 等待 30 秒后重复执行步骤 2 再次检查该进程是否存在。
  5. 如果该进程未终止,运行以下命令:

    kill -9 ProcessID

  6. 等待 30 秒后再次检查该进程。

在 ESXi 4.x 和更高版本中,可以使用 esxtop 中的 k 命令向正在运行的虚拟机进程发送信号并终止该进程。

  1. 在 ESXi 控制台上,进入技术支持模式并以 root 用户身份登录。 有关详细信息,请参见 Tech Support Mode for Emergency Support (1003677)
  2. 运行以下命令可运行 esxtop 实用程序:

    esxtop

  3. 按 c 切换到 CPU 资源利用率屏幕。
  4. 按 Shift+v 将视图限定为虚拟机。 这样会更容易在步骤 7 中找到 Leader World ID。
  5. 按 f 显示字段列表。
  6. 按 c 添加 Leader World ID 列。
  7. 按目标虚拟机的名称和 Leader World ID (LWID) 标识目标虚拟机。
  8. 按 k。
  9. 在 World to kill 提示符处,键入步骤 6 中获取的 Leader World ID,然后按 Enter。
  10. 等待 30 秒后验证该进程是否已不再列出。
注意: 如果上述过程未解决问题,并且 ESX\ESXi 主机有响应,则可能需要重新引导,才能将虚拟机置于关机状态。
 
 Related Information

如果使用上述方法无法关闭虚拟机电源,则通常表明底层基础架构(如 ESXi 主机或其支持硬件)存在问题。

如果怀疑是 ESXi 主机问题导致无法关闭虚拟机,请通过 vMotion 将所有未受影响的虚拟机迁移出该主机,然后强制停止该主机并显示紫色诊断屏幕。 有关详细信息,请参见 Using hardware NMI facilities to troubleshoot unresponsive hosts (1014767)

Unable to power off the virtual machine in an ESXi host

 
 Request a Product Feature
To request a new product feature, please contact your VMware representative.

[转帖]VMWare官网:无法关闭 ESXi 主机上的虚拟机 (1014165)的更多相关文章

  1. 虚拟机VMware官网最新版附密钥,kali,ubuntu,centos,deepin迅雷下载地址。

    以下全部都是官网的迅雷复制链接 版本都是当前时间可下载的最新版本 VMware官网迅雷下载链接: https://download3.vmware.com/software/wkst/file/VMw ...

  2. ESX/ESXi 主机上的每个插槽中安装了多少内存

    要确定在 ESX/ESXi 主机上的每个插槽中安装了多少内存,请执行以下操作: 1. 启动ssh服务 2. 登陆esxi主机查看 使用 SSH 客户端登录主机,以 root 用户身份运行以下命令之一: ...

  3. 在 ESXi 主机上关闭无响应的虚拟机电源

    使用 ESXi 命令行 使用 SSH 以 root 身份登录到 ESXi. 通过运行以下命令获取所有已注册虚拟机的列表,由其 VMID 和显示名称标识:       vim-cmd vmsvc/get ...

  4. 编写 python 小程序,将LOL官网的皮肤保存下来,上传百度云,记录那些强撸灰飞烟灭的日子

    to 撸的血泪史:大学四年几乎都在宿舍打撸,So,把官网的皮肤都保存下来,存到百度云,就当一种纪念 编辑器:pycharm 用到的包:urllib.request, requests, json, r ...

  5. 【Linux-CentOS】在无互联网-内网环境的Windows7主机上安装CentOS双系统,从安装到放弃

    2018.12.3 日更新:本文仅作为无互联网环境下安装的参考.更推荐在互联网环境下安装软件和使用系统,毕竟会自动安装依赖包,比较方便. 因个人办公电脑装的盗版Win7总是蓝屏,影响工作,加之看到 W ...

  6. VMware要不要装在固态SSD上,虚拟机系统文件要不要放固态SSD上,虚拟机伤不伤固态SSD

    先说结论:VMware建议装在固态上运行快,系统文件最好放在机械硬盘上(有钱除外),虚拟机会伤固态. 今天在学淘淘商城中的搜索项目,克隆了一个虚拟机,这个虚拟机开机贼慢,令人无法忍受,我觉得我再也受不 ...

  7. 通过naa在esxi主机上找到物理磁盘的位置

    因为有一块磁盘告警,需要找到这个块磁盘.通过网络搜索就找到了这个shell脚本. 感谢 Jorluis Perales, VxRail TSE 2 shell脚本: # Script to obtai ...

  8. Esxi主机虚拟机迁移注意事项

    1. Esxi主机上的虚拟机迁移只能是低----->高,或版本一样的才能进行迁移 [如Esxi5.1---->Esxi5.5]ok, 而Esxi5.5----->Esxi5.1 no ...

  9. VMware/Microsoft官网查询参加的培训及认证信息

    如果你参加了VMWare的培训,会要求你拿一个已经注册的邮箱加上一个密码在VMware的系统里面登记,这样你就能在VMWARE官网查到注册,并据此你才能申请VMWare的考试认证. 例如下图,路径为 ...

随机推荐

  1. ng-reapte指令遍历

    <!DOCTYPE html> <html lang="en" dir="ltr"> <head> <meta cha ...

  2. Windows环境下MySQL面试技巧

    对话一: 面试官:重新安装mysql卡在最后一步,怎么解决? 应聘者:第一次安装完mysql,由于各种原因需要重新安装是经常遇到的问题,解决方案如下.              1)在注册表里搜索my ...

  3. hdu 2604 Queuing(推推推公式+矩阵快速幂)

    Description Queues and Priority Queues are data structures which are known to most computer scientis ...

  4. Tarjan 【整理】

    Tarjan [整理] #include<bits/stdc++.h> using namespace std; class FastIO{ /* copyright (c) dgklr ...

  5. props 父组件给子组件传递参数

    话不多说,直接上代码 父组件: <span><humidity-component ref="soilHumidityBot" :title='title2'&g ...

  6. Latex生成的.pdf 公式之间隔了几行空白

    如题, 解决办法: \vspace{-1.5cm},这个数值根据需要来设置.

  7. Unity3D_(游戏)甜品消消乐03_游戏UI设计

    甜品消消乐01_游戏基础界面 传送门 甜品消消乐02_游戏核心算法 传送门 甜品消消乐03_游戏UI设计    传送门 (源码在文章最下面~) 实现过程 游戏界面UI 分数与时间的UI显示 有关游戏U ...

  8. Unity3D_(游戏)卡牌01_启动屏界面

      卡牌2D游戏展示 (游戏代码放到  卡牌04_游戏界面  文章最后面~) 游戏项目已托管到github上(里面有个32bit可执行文件) 传送门 规则 开始游戏每张卡牌初始翻开展示 展示几秒后卡牌 ...

  9. 分布式-信息方式-ActiveMQ的Destination高级特性1

    ActiveMQ的Destination高级特性 Destination高级特性----->Composite Destinations 组合队列Composite Destinations : ...

  10. 2018092609-2 选题 Scrum立会报告+燃尽图 04

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/8682 一.小组情况组长:贺敬文组员:彭思雨 王志文 位军营 杨萍队名:胜 ...