ESXi命令关闭虚拟机 | ESXi怎么用命令对VM关机

ESXi命令关闭虚拟机 | ESXi怎么用命令对VM关机

做VMware运维,有时会遇到VM卡死的情况,(如虚拟机快照操作、磁盘占用等原因导致无法响应),出现类似假死的状态,同时控制台无法访问,而且尝试在vCenter和ESXi上点关闭电源时会失败或者完全无作用,有时还会提示“其他任务已在进行中”,总而言之就是,我们无法通过常规方法对某一个VM关机。

本文将介绍如何通过ESXi命令行,使用esxcli命令强制关闭这类虚拟机,帮助恢复正常业务。

我们有新旧两套ESXi命令都可以实现通过命令行对虚拟机进行关机,推荐第一个esxcli vm process kill命令行的办法,因为这个方法比较快捷,而且不要求VM有装VMware Tools.

首先我们假设我们的第一台New Virtual Machine,通过vCenter点击关闭电源无法关机,我们需要用命令行方式对其进行关机。

首先我们SSH进去ESXi,或者通过服务器的远程控制台,如iDRAC或者iLO进入ESXi的橙黑DCUI console

ESXi命令关闭虚拟机的办法一:esxcli vm process kill

我们可以用以下两个命令组合:

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

第一个esxcli vm process list命令用来列出所有开机状态的VM,我们要找到需要关机的VM名字,记录下该VM的World ID:

第一个esxcli vm process list命令用来列出所有开机状态的VM,我们要找到需要关机的VM名字,记录下该VM的World ID:
我们看到这个虚拟机的World ID为2103991

接着esxcli vm process kill的命令,对它进行关机:esxcli vm process kill –type=soft –world-id=2103991

接着esxcli vm process kill的命令,对它进行关机,

没有返回错误或者输出,证明VM关机成功。同时我们再用esxcli vm process list也看不到之前的VM了,返回vCenter, 确认VM已经关机。

我们可以看到–type有三种关闭虚拟机的方式可以尝试:[soft, hard, force]:

  • esxcli vm process kill –type=soft
  • esxcli vm process kill –type=hard
  • esxcli vm process kill –type=force

这三种的关机类型的区别是

  1. 必须先尝试 ‘soft’ 关机,这种关机可以给到VMX 进程一个干净关闭的机会(类似于 kill 或 kill -SIGTERM)。
  2. 如果soft kill不起作用,可以尝试 ‘hard’ 关闭,它将立即关闭进程(类似于 kill -9 或 kill -SIGKILL)。’
  3. ‘force’ 仅应作为最后的手段来关闭虚拟机。如果这三种方式都失败,则需要重新启动。

ESXi命令关闭虚拟机的办法二:vim-cmd vmsvc

我们可以用以下两个命令组合:

vim-cmd vmsvc/getallvms
vim-cmd vmsvc/power.getstate VMID
vim-cmd vmsvc/power.shutdown VMID

注意:这个命令要求VM有装VMware Tools, 如果没有装的话,这个命令就不起作用,并会有以下的错误:

(vim.fault.ToolsUnavailable) {
faultCause = (vmodl.MethodFault) null,
faultMessage =
msg = "Received SOAP response fault from []: shutdownGuest
Cannot complete operation because VMware Tools is not running in this virtual machine."
}

第一个命令vim-cmd vmsvc/getallvms用来获取注册在该ESXi主机上的所有VM(包括关机状态的VM),记录下需要关机的虚拟机的vmid

接着我们用vim-cmd vmsvc/power.getstate VMID来看看这两台虚拟机的状态

接着我们用vim-cmd vmsvc/power.getstate VMID来看看这两台虚拟机的状态
可以看到第一台vmid为1的VM是开机状态Powered On, 另一台VM是关机状态

我们用vim-cmd vmsvc/power.shutdown 1来关闭vmid 1这台名为New Virtual Machine的虚拟机,没有输出证明已经关机成功。

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

免费试下我们的VMware技术助理(已接Deepseek)!即时解答VM难题 → 🤖VM技术助理


########

扫码加入VM资源共享交流微信群(请备注加群

需要协助?或者只是想技术交流一下,直接联系我们!

推荐更多

VMware Workstation:如何解决打开虚拟机出现“此平台不支持虚拟化的Intel VT-x/EPT”的报错问题
疑难杂症

VMware Workstation:如何解决打开虚拟机出现“此平台不支持虚拟化的Intel VT-x/EPT”的报错问题

本文介绍了在 Windows 11 上使用 VMware Workstation 时,遇到“此平台不支持虚拟化的 Intel VT‑x/EPT”报错的成因与解决方案。通过运行 msinfo32.exe 确认 VBS(基于虚拟化的安全)状态后,利用一键 BAT 脚本或 dism /Online /Disable-Feature 命令批量禁用 Hyper‑V、Virtual Machine Platform 等安全功能,并结合 SecConfig.efi 调试工具,在 BIOS 中正确开启 Intel VT‑x、VT‑d 与 Memory Integrity 选项。重启后即能彻底关闭 VBS,恢复 Nested VT‑x/EPT 功能,从而成功启动嵌套虚拟机。此方法同样适用于嵌套 ESXi、GNS3 实验环境,全面优化 Windows 11 虚拟化性能和兼容性。

怎么分析ESXi主机日志vm-support?| VMware日志解读分析全攻略
疑难杂症

怎么分析ESXi主机日志vm-support?| VMware日志解读分析全攻略

本文介绍了如何获取并逐层解压 ESXi 主机的 vm‑support 日志包,重点关注 /commands 和 /var/run/log 等关键目录,以便提取 vmkernel.log、hostd.log 等核心日志文件。文章从虚拟机、主机、网络和存储四个维度,详细说明了日志路径、常见关键字及排查思路,如通过 vmware.log 定位 VM 重启原因、通过 NIC 信息及 vobd.log 分析网络链路问题、通过 SCSI 日志及 multipath 配置诊断存储故障。每一部分均给出对应的命令输出文件和日志搜索关键词,帮助运维人员快速定位各类故障。读者可依此流程,高效完成 ESXi 日志的故障排查与诊断。

机房巡检报告6大必备要素 | 附送3个最典型的机房巡检报告模板
运维必备

机房巡检报告6大必备要素 | 附送3个最典型的机房巡检报告模板

本文首先阐述机房巡检报告的定义与价值,强调通过对环境、设备、安全及运行状态的定期检查,为数据中心稳定运行提供决策支持与趋势洞察;接着详细解读报告的六大必备要素:基本信息、环境状况、硬件与软件清单、电力与制冷系统、网络与安全设施,以及检查发现与优化建议;随后附送三套典型模板,分别适用于季度深度巡检、月度例行巡检和服务器专项巡检,可满足不同规模与场景需求;最后通过这些范本与要素指导,帮助运维人员优化巡检流程,提高报告质量和效率。

VMware Workstation:如何让虚拟机仅连接宿主机的WiFi网络
VMware快速入门

VMware Workstation:如何让虚拟机仅连接宿主机的WiFi网络

本文详解如何在 VMware Workstation 中将虚拟机网络设置为仅桥接宿主机的 WiFi 网卡,避免连接有线或其他网络。通过虚拟网络编辑器精准选择无线网卡,实现网络隔离与灵活测试环境。适用于有 WiFi 网络测试需求的虚拟化用户和开发者。

//madurird.com/4/9119499