您的位置:首页 > 文章资讯 > 网络技术
vsphere如何使用命令在ESXI中强制重启或关机
作者: | 更新时间:2024-03-16 16:05:18 | 来源:本站整理 | 阅读次数:
在vsphere虚拟化维护过程中有时会遇到,虚拟机在执行任务的时候无法结束,并且卡死的状态,特别是在重启或者启动虚拟机的时候。但是情况比较紧急的时候可以使用命令来尝试解决此类问题。
    在vsphere虚拟化维护过程中有时会遇到,虚拟机在执行任务的时候无法结束,并且卡死的状态,特别是在重启或者启动虚拟机的时候。但是情况比较紧急的时候可以使用命令来尝试解决此类问题。一台虚拟机在vSphere下现实任务正在执行。。。。。过了N min之后,执行依旧!!!
1、开启VMware的SSH

a.选中虚拟机

b.配置选项卡

c.里头分硬件和软件两部分,选择软件中的安全配置文件

d.然后有半部分会显示服务和防火墙还有其他的东西,其他东西就不说了,咱们用到的只有开启服务和通过防火墙

e.服务标题的右边有熟悉,单击属性

f.找到ESXi Shell,点击选项,点击启动,启动的上边还有些服务的启动选项,按需选择!

g.找到SSH,和shell一样启用

h.然后返回安全配置文件

i.单击防火墙右边的属性,然后在属性中勾选SSH服务器就可以用SSH连到ESXi宿主机了!


2.强制杀掉虚拟机

~ # esxcli vm process list //列出虚拟机
Con1_win3k%2fdba.206
   World ID: 3587
   Process ID: 0
   VMX Cartel ID: 3584
   UUID: 56 4d b3 ae be b2 18 aa-8b a4 1d 1e e1 18 72 68
   Display Name: Con1_win3k%2fdba.206
   Config File: /vmfs/volumes/510793f0-9702ec9a-f401-782bcb07267f/Con1_win3k%2fdba.206/bj_tw_vm_003_001_win_2003_dba_11.vmx

~ # esxcli vm process kill --type=force --world-id=3587       //强制杀掉虚拟机
~ #
3.其他方法

如果你的机房只有linux,而没发用vSphere的时候可以用DNAT解决,无需在线上的机房特意安装windows

或者当你的vSphere win故障时需要连接ESXi的时候,来不及安装windows可以用DNAT

iptables -t NAT -A PREROUTING -d 可以访问的外网ip -p tcp -m tcp --dport 可以访问的外网ip上的端口(最好443) -j DNAT --to-destination ESXi宿主机的ip:443

例子:

iptables -t filter -A FORWARD -j ACCEPT
iptables -t NAT -A PREROUTING -d 211.155.85.176 -p tcp -m tcp --dport 443 -j DNAT --to-destination 192.168.119.103:443
注意:前提是必须开启IP_FORWARD

开启IP_FORWARD

echo 1 > /proc/sys/net/ipv4/ip_forward

这个问题是可以用nginx反向代理实现,虽然没试过,向来是可以的,有时间的同鞋可以试试!!!

一、使用ESXi 5.0 主机的esxcli 命令来关闭虚拟机
esxcli 命令能够在本地或远程来关闭运行在ESXi 5.0主机上的虚拟机。
1. 打开ESXi Shell、vSphere Management Assistant (vMA)或vSphere Command-Line Interface (vCLI) 客户端,只要esxcli工具能够运行即可。
2. 使用如下命令获取正在运行的虚拟机清单,该清单由World ID、UUID、Display Name和 .vmx 配置文件所在路径构成:
esxcli vm process list  #显示在此ESXI服务器中所有运行的虚拟机列表
3.  用如下命令关闭一台虚拟机:
esxcli vm process kill --type=[soft,hard,force] --world-id=WorldNumber
注意:有三种关闭虚拟机的方法,Soft 程度最低,hard 为立即执行,如果依然不能关闭,则可以使用force 模式。
4.  执行步骤2来检查虚拟机是否已不再运行。

二、使用 ESXi 命令行工具 vim-cmd 来关闭虚拟机
1.  在 ESXi 控制台,进入技术支持模式,用root用户登录。
2.  使用如下命令获取虚拟机清单,该清单由VMID、Display Name和 .vmx 配置文件所在路径构成:
vim-cmd vmsvc/getallvms  #获取ESXI服务器中所有的虚拟机清单
3.  获取虚拟机的当前状态:
vim-cmd vmsvc/power.getstate VMID  #获取虚拟机电源状态
4.  使用第2步获取的VMID 来关闭虚拟机:
vim-cmd vmsvc/power.shutdown VMID     #相当于关闭客户机操作系统
Note: 如果虚拟机还是不能关闭,请尝试以下命令:
vim-cmd vmsvc/power.off VMID  #相当于关闭虚拟机电源

建议首先使用vim-cmd指令关闭虚拟机,它可以通过关闭客户机操作系统的方式进行虚拟机正常关机。