ESXI 命令行注册、管理虚拟机
1、查看正在运行的虚拟机
esxcli vm process list
2、关闭虚拟机
esxcli vm process kill --type= [soft,hard,force] --world-id= WorldNumber
esxcli vm process kill -t [ soft,hard,force] -w WorldNumber soft:执行正常关机,调用vmwaretools工具 hard: 断开电源 force: 强制关机
3、通过vim-cmd 来管理虚拟机
vim-cmd vmsvc/getallvms (获取所有虚拟机的vmid信息)
关闭虚拟机:vim-cmd vmsvc/power.off 3
打开虚拟机:vim-cmd vmsvc/power.on 3 、
重启虚拟机:vim-cmd vmsvc/power.reset 3
获取虚拟机的当前状态:vim-cmd vmsvc/power.getstate 3
4、通过kill 强制关闭虚拟机
要知道esxi下面有没有虚拟机在运行可以使用下面的命令:
ps | grep vmx (分别是pid,父进程,调用的服务)
关闭虚拟机
终止虚拟机的父进程: kill 247107
强制终止:kill -9 247107
5、重新注册虚拟机
vim-cmd solo/registervm /vmfs/volumes/datastore_name/VM_directory/VM_name.vmx
ESXI修复状态为“无效”的虚拟机
vim-cmd vmsvc/getallvms
1、对出问题的虚拟机重新注册,新建虚拟机时选择“注册现有虚拟机”,选择出问题的.vmx文件,此时会报错“无法注册虚拟机 [ssd] vm_tyj/vm_tyj.vmx。指定的项、名称或标识符“1”已经存在”
vim-cmd solo/registervm /vmfs/volumes/datastore_name/VM_directory/VM_name.vmx
2、取消注册出问题的虚拟机,使用xshell工具ssh登录上esxi主机去,使用以下命令取消注册虚拟机
vim-cmd vmsvc/unregister 1
这里的“1”是上面报错中的标识符,根据自己的实际情况更改
3、重新注册虚拟机:此时在esxi界面里出问题的虚拟机已经不见,重复步骤1对虚拟机重新注册即可,完成。