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的虚拟机,没有输出证明已经关机成功。

有VM问题需要协助?

免费试用VMware技术助理(已接Deepseek)!即时解答VM难题

→ 🤖VM技术助理

解析和诊断各类vCenter错误,ESXi日志,虚拟机vmware.log

→ 📕VMware日志分析器

图书推介 - 京东自营

24小时热门

还有更多VMware问题?

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

试试 📕VMware日志分析器 免费诊断各类vCenter错误,ESXi日志,虚拟机vmware.log等等

########

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

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

推荐更多

在 vCenter Server Appliance (VCSA) 中修改 Photon OS root 用户密码复杂度要求
运维必备

在 vCenter Server Appliance (VCSA) 中修改 Photon OS root 用户密码复杂度要求

在 vCenter Server Appliance (VCSA) 中修改 Photon OS root 用户密码复杂度要求。详细解析如何在 vCenter Server Appliance (VCSA) 的 Photon OS 中修改 root 用户密码复杂度要求,包括配置文件修改步骤、参数说明和验证方法,帮助管理员符合公司安全策略。 本文针对该问题提供了深度剖析与实测解决方案。

vCenter替换/删除 SMS 证书后 IOFilters 脱机问题
运维必备

vCenter替换/删除 SMS 证书后 IOFilters 脱机问题

替换/删除 SMS 证书后 IOFilters 脱机问题。详细解析替换或删除 SMS 证书后 IOFilters 脱机的问题,重点说明证书信任关系的变化,提供完整的 PowerCLI 脚本解决方案,帮助管理员快速恢复存储提供商的在线状态。 本文针对该问题提供了深度剖析与实测解决方案。

Dell PowerProtect Data Manager 无法连接 vCenter 的凭据验证问题
运维必备

Dell PowerProtect Data Manager 无法连接 vCenter 的凭据验证问题

Dell PowerProtect Data Manager 无法连接 vCenter 的凭据验证问题。详细解析 Dell PowerProtect Data Manager (PPDM) 无法连接到 vCenter 的问题,重点说明无效凭据导致的身份验证失败,提供完整的故障排查步骤,帮助管理员快速恢复连接。 本文针对该问题提供了深度剖析与实测解决方案。

VMware Tools 升级失败 - VMXNet3 驱动安装超时问题
运维必备

VMware Tools 升级失败 – VMXNet3 驱动安装超时问题

VMware Tools 升级失败 – VMXNet3 驱动安装超时问题。详细解析 VMware Tools 从 12.3.0 升级到 12.5.2 时出现的 VMXNet3 驱动安装超时问题,重点说明 Windows 系统映像损坏的原因,提供故障排查方法,帮助管理员快速解决升级失败问题。 本文针对该问题提供了深度剖析与实测解决方案。

//omg10.com/4/9119499