最近學到一個在VMware ESXi 下面強制關閉一個沒有反應的VM的方法, 一般正常都是使用vSphere Client 去控制VM電源, 但是有時會發生即使用裡面的Power Off 按鈕但是還是無法關閉我的VM, 而且最終會出現一串錯誤訊息「An unexpected error was received from the ESX host while powering off VM ..」這時要解決問題的方法是讓ESXi host整個重開機一次, 但是如果不想整台伺服器重新開機時要怎麼樣呢...

透過Google大神的搜尋下, 找到可以透過Shell的命令來對系統進行一些操作, 我找到一頁對於開關VM有幫助的網頁 "Forcibly Stopping Virtual Machines with EXCLI"

只要使用esxcli 命令打入相關的參數就可以了, 要做遠端shell command的操作首先要在ESXi 打開「Shell Service 和 SSH Service」

esxcli <conn_options> vm process kill --type <kill_type> --world-id <ID>

接下來利用putty連入後打入「esxcli vm process list 」命令去獲取現在系統裡的動作中的VM資訊, 會得到類似下面的訊息...

~ # esxcli vm process list

WinXP CHT (netComputer)
World ID: 4171
Process ID: 0
VMX Cartel ID: 4170
UUID: 56 4d 8b 2a 9c 6c fa b4-b3 77 19 21 69 05 09 25
Display Name: WinXP CHT (netComputer)
Config File: /vmfs/volumes/4ef37e4a-50fb6d27-df84-001018185495/WinXP CHT (netComputer)/WinXP CHT (netComputer).vmx

Windows 7 Eng
World ID: 196949
Process ID: 0
VMX Cartel ID: 196948
UUID: 42 3b 85 7b 89 ee 38 bc-61 c2 70 b9 4b 29 26 62
Display Name: Windows 7 Eng
Config File: /vmfs/volumes/4ef37e4a-50fb6d27-df84-001018185495/Windows 7 Eng/Windows 7 Eng.vmx

接下來你要找尋無法控制開關機的VM, 找到它的「World ID」, 比如說接「Windows 7 Home x64 」失去連線且透過vSphere Client完全無法控制, 我只要輸入以下命令就可以強制將VM關閉, 然後再啟動

esxcli vm process kill --type hard --world-id 211699

如果還是不行可能就要試試用 --type force, 再不行也只能重新開伺服器了。

詳細命令用法可以參考 http://pubs.vmware.com/vsphere-51/topic/com.vmware.vcli.examples.doc/cli...

在ESXi使用esxcli命令強制关闭VM的更多相关文章

  1. esxi主机用命令行强行关闭通过前端界面无法关闭的ESXI虚拟机

    环境:esxi5.1-esxi6.5 背景:如果esxi下面某一台vm死机了,并且esxi的控制台卡死不能用,为了不影响同一个esx下其他的vm正常使用,那么我们只能用命令行来单独重启此vm,保证一定 ...

  2. esxi命令行强行关闭虚拟机

    目的:强行关闭通过前端界面无法关闭的ESXI虚拟机 环境:esxi5.1-esxi6.5 背景:如果esxi下面某一台vm死机了,并且esxi的控制台卡死不能用,为了不影响同一个esx下其他的vm正常 ...

  3. 批处理脚本命令行方式关闭Windows服务

    对于一些不常用的Windows Services,可以通过设置其启动类型为"禁用"而将其关闭.这种关闭方式是长期性的,电脑重启之后仍然起作用. 有时候希望在批处理脚本里通过命令行方 ...

  4. 在CMD命令行下关闭进程的命令

    转载: [重要]在CMD命令行下关闭进程的命令━━━━━━━━━━━━━━━━━━━━━━━━━━ 方法一: 在"运行"中输入:ntsd -c q -pn 程序名字(在MS-Dos ...

  5. 用SQL*Plus命令启动和关闭数据库

    用SQL*Plus命令启动和关闭数据库 1.启动方式 starup或startup open startup nomount startup mount startup read only [x] s ...

  6. 导入一些常用命令比如(rz),关闭防火墙外面可以访问

     yum -y install lrzsz-----------导入常用命令 我在虚拟机上面启动了一个项目 这个原因是防火墙造成的,关闭防火墙  iptables -L 查看下 service ipt ...

  7. 【linux命令】打开关闭防火墙iptables

    防火墙关闭 关闭防火墙(linux) 经过自己的实验,发现在ubuntu中service iptables 无法使用. 同时,在init.d中并没有iptables的程序,iptables程序在/sb ...

  8. 使用Windows命令行启动关闭服务(net,sc用法)

    下面两个命令最好以管理员方式启动cmd窗口,否则出现权限问题. 1.net用于打开没有被禁用的服务, NET命令是功能强大的以命令行方式执行的工具. 它包含了管理网络环境.服务.用户.登陆大部分重要的 ...

  9. Mac命令行启动关闭Tomcat

    在Tomcat目录的bin目录下执行sh startup.sh或./startup.sh命名启动Tomcat,执行sh shutdown.sh或./shutdown.sh命令关闭Tomcat 浏览器输 ...

随机推荐

  1. java数组之二分法查找

    认识: 猜字游戏 步数 所猜的数 结果 可能值的范围 0     1~100 1 50 太高 1~49 2 25 太低 26~49 3 37 太高 26~36 4 31 太低 32~36 5 34 太 ...

  2. redis操作帮助类

    RedisHelper.java import redis.clients.jedis.*; import java.util.*; public class RedisHelper { privat ...

  3. html基础之遗忘篇

    a链接: ①a的href指向压缩文件可以下载压缩文件. ②a链接的打开方式可以在head内使用<base target="_blank">来整体控制打开方式. 字符实体 ...

  4. PHP常用的自定义函数

    PHP常用的自定义函数 目录 php常用自定义函数类下载 php 设置字符编码为utf-8 路径格式化(替换双斜线为单斜线) 转码 打印输出 api返回信息 字符串截取 方法一: 方法二: 数组 字符 ...

  5. B1005 继续(3n+1)猜想 (25分)

    B1005 继续(3n+1)猜想 (25分) 卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程 ...

  6. Highest Tower 18中南多校第一场H题

    一.题意 给出N个方块,要求给出一个方案,使得1. 所有方块都被使用到(题目数据保证这点) 2.所有方块垒成一个塔,且上面的方块宽度小于下面的方块 3.每个方块只能用一次,可以横着或者竖着. n范围5 ...

  7. python基础之函数参数、嵌套、返回值、对象、命名空间和作用域

    函数的使用原则 函数的使用必须遵循:先定义后使用的原则 函数的定义,与变量的定义是相似的,如果没有事先定义函数而直接引用就相当于在引用一个不存在变量名 定义阶段:只检测语法,不执行代码,当出现语法错误 ...

  8. Struts2---配置文件讲解及简单登录示例

    bean 用于创建一个JavaBean实例 constant 用于Struts2默认行为标签 <!-- 配置web默认编码集,相当于HttpServletRequest.setChartacte ...

  9. Quartus 11生成pof文件在AS烧写之后,程序无法启动

    1. 首先配置成AS,生成.pof文件,选择上面的图标Device 2. 选择Device and Pin Options... 3. 进入配置界面,选择如下 4. 进入下载界面,烧写.pof文件,开 ...

  10. laravel5.5表单验证

    1. 在第一次验证失败后停止 有时,你希望在某个属性第一次验证失败后停止运行验证规则.为了达到这个目的,附加 bail 规则到该属性: $this->validate($request, [ ' ...