ESXI命令行启动虚拟机

ESXI命令行启动虚拟机

一.环境和背景

环境:esxi5.1-esxi6.5 (甚至4.0也是可以用的)

 

背景:如果某一台虚拟机死机了,并且esxi的控制台卡死了不能用,为了不影响同一个esxi下面其他虚拟机的使用则只能使用命令行来单独重启此虚拟机,下面我会介绍通过四种方法来修复虚拟机。

 

二.登录esxi母机

登入esxi母机的方法:

1)打开ssh服务,然后ssh上去(我们的服务器默认都是打开的,所以可以直接ssh

2)通过控制口上去然后按alt+f1 输入密码也可以进去。

三.重启虚拟机:

1.通过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

 

2.使用esxi主机的esxcli命令来关闭虚拟机

 esxcli vm process list (获取正在运行的虚拟机的信息)

 

关闭虚拟机: vm process kill --type=hard --world-id=245735

注意有三种关闭虚拟机的模式:soft程度最低,hard为立即执行,如果依然不能关机那么就只能用force模式。

查看虚拟机有没有被关闭:esxcli vm process list (这条命令显示,如果没有在列表里面的则表示已经关闭了)

 

3.在ESXi上面发送信号来关闭虚拟机

 说明:主要是虚拟机能够在命令行下停止相关的进程从而关闭

 警告:这个操作对esxi母机有潜在的危险,如果你不能正确的辨别进程的ID,而误杀了其他的进程,就会导致不可预期的后果,所以一般尽量不要去用这种方法。

 

1)要知道esxi下面有没有虚拟机在运行可以使用下面的命令:

 ps | grep vmx (分别是pid,父进程,调用的服务)

 

2)从上面可以看出我的tw08c011s2这台虚拟机的父进程是247107,那么我只要把它kill掉就ok了 。即:

 终止虚拟机的父进程: kill 247107

 强制终止:kill -9 247107  

3)用上面的命令进行检测,应该是ok了。

 

4.可以使用esxtop中的k命令来终止一个正在运行的虚拟机的进程

1)使用esxtop

 

2)按c选择cpu资源利用界面

3)按f选择信息列表

 

4)按c添加LWID列

 

5)通过LWID来确认我们要修复的虚拟机

 

6)按k

7)在world to kill 提醒后面输入LWID然后按回车

8)过10秒再次确认虚拟机是不是已经被关闭了

 

总结:通过上面的四种方法都可以在esx控制台卡死,并且不用动其他虚拟机的情况下,来修复我们所需要管理的虚拟机。建议用第一种方法,便捷而且风险小,如果实在不行则用后面的3,4的方法

转载于:https://my.oschina.net/u/1986074/blog/893022

### 虚拟机 VM 常用执行命令及权限设置 #### 一、虚拟机 VM 的基本执行命令 在 VMware 或其他虚拟化平台中,常用的虚拟机管理命令可以帮助用户更高效地管理和控制虚拟机实例。以下是几个常见的命令: 1. **启动虚拟机** 使用 `vmrun` 工具可以远程启动虚拟机。该工具通常随 VMware 提供。 ```bash vmrun start /path/to/vm.vmx nogui ``` 这里的 `/path/to/vm.vmx` 是虚拟机配置文件的路径,而参数 `nogui` 表示不显示图形界面。 2. **关闭虚拟机** 关闭正在运行的虚拟机可以通过以下命令实现: ```bash vmrun stop /path/to/vm.vmx soft ``` 参数 `soft` 表示通过发送 ACPI shutdown 请求来优雅地关闭虚拟机[^1]。 3. **暂停和恢复虚拟机** 如果需要临时停止虚拟机而不完全关闭它,可以使用以下命令将其挂起: ```bash vmrun suspend /path/to/vm.vmx ``` 当需要重新激活虚拟机时,则可使用以下命令: ```bash vmrun unpause /path/to/vm.vmx ``` 4. **查看当前运行状态** 若要了解某个特定虚拟机的状态,可以运行如下命令: ```bash vmrun list ``` 此外,还可以针对单个虚拟机查询其具体状态: ```bash vmrun getGuestIPAddress /path/to/vm.vmx ``` 5. **克隆或复制虚拟机** 对于快速部署多个相同环境的情况,可以利用克隆功能完成这一目标: ```bash vmrun clone /source/path/to/vm.vmx /destination/path/new_vm.vmx full ``` 上述命令会创建一份全新的独立副本[^2]。 #### 二、虚拟机权限管理教程 为了保障安全性以及资源分配合理性,在实际应用过程中还需要注意对不同用户的访问权限加以设定。 1. **修改默认目录位置** 将所有虚拟硬盘存储至指定分区下有助于更好地组织数据并减少C盘占用空间。编辑注册表项HKEY_LOCAL_MACHINE\SOFTWARE\VMware, Inc.\VMware Workstation 下新增字符串值 "DefaultPaths" 并赋值为目标地址即可生效。 2. **调整共享文件夹选项** 设置好主机与客户操作系统之间的资源共享机制非常重要。进入虚拟设备设置页面后找到“Options -> Shared Folders”,勾选启用永久性映射并将所需同步的目标加入列表之中。 3. **实施细粒度ACL策略** 高级场景下可能涉及到多组人员协作开发项目需求,此时就需要借助Linux ACL扩展属性来进行更为精确细致化的授权操作了。例如给定某目录读写删除三项权利授予特定UID成员账户: ```bash setfacl -m u:username:rwx /shared/folder/ ``` 4. **定期审计日志记录** 启动相关服务确保每次重要变动都被妥善保存下来以便后续追踪溯源分析之需。对于基于RedHat系列发行版而言可通过journalctl指令检索最近一段时间内的活动详情;而对于Debian家族则依赖syslog-ng框架处理此类事务。 ```python import subprocess def check_vm_status(vm_path): result = subprocess.run(['vmrun', 'list'], stdout=subprocess.PIPE) if vm_path in str(result.stdout): return True else: return False ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值