菜鸟科技网

vmware终端命令有哪些常用操作?

核心命令:vmware-cmd

这是最基础、最直接的 VMware 命令行工具,通常安装在 ESXi 主机或 Workstation/Player 的 Linux 虚拟机中。

vmware终端命令有哪些常用操作?-图1
(图片来源网络,侵删)

基本语法

vmware-cmd <vm_config_file_path> <command> [options]
  • <vm_config_file_path>: 虚拟机配置文件的绝对路径,/vmfs/volumes/datastore1/MyVM/MyVM.vmx
  • <command>: 要执行的操作命令。
  • [options]: 可选参数。

常用命令

A. 虚拟机状态查询

# 查看虚拟机电源状态 (on, off, suspended)
vmware-cmd /path/to/vm.vmx getstate
# 检查虚拟机是否正在运行
vmware-cmd /path/to/vm/vmx checkpowerstate on
# 获取虚拟机所有配置信息
vmware-cmd /path/to/vm/vmx getallinfo

B. 虚拟机电源管理

# 开机
vmware-cmd /path/to/vm/vmx start
# 关机 (正常关机)
vmware-cmd /path/to/vm/vmx stop hard
# 强制关机 (等同于拔电源)
vmware-cmd /path/to/vm/vmx stop soft
# 挂起 (保存当前状态到文件)
vmware-cmd /path/to/vm/vmx suspend
# 从挂起状态恢复
vmware-cmd /path/to/vm/vmx resume

C. 虚拟机快照管理

# 创建快照 (需要指定名称)
vmware-cmd /path/to/vm/vmx snapshot create "My Snapshot"
# 列出所有快照
vmware-cmd /path/to/vm/vmx snapshot list
# 删除指定名称的快照
vmware-cmd /path/to/vm/vmx snapshot remove "My Snapshot"
# 回滚到指定名称的快照
vmware-cmd /path/to/vm/vmx snapshot revert "My Snapshot"

D. 其他实用命令

vmware终端命令有哪些常用操作?-图2
(图片来源网络,侵删)
# 重置虚拟机 (相当于强制重启)
vmware-cmd /path/to/vm/vmx reset
# 在虚拟机中执行命令 (需要 VMware Tools 安装并运行)
vmware-cmd /path/to/vm/vmx run "command_in_guest"
# 检查虚拟机是否响应
vmware-cmd /path/to/vm/vmx checktoolsstate

现代命令行工具:govc (强烈推荐)

govc 是 vSphere Management SDK 的一部分,是一个功能更强大、更现代、跨平台的 Go 语言工具,它取代了旧的 vSphere CLI,如果你在使用 vCenter Server 或 ESXi 6.0+,强烈建议使用 govc

安装和配置

首先需要下载并安装 govc,然后需要配置连接信息。

# 设置 ESXi 主机或 vCenter 的 IP/域名
export GOVC_URL=esxi_host_or_vcenter_ip
# 设置用户名和密码
export GOVC_USERNAME=root
export GOVC_PASSWORD=your_password
# (可选) 设置默认的数据中心、数据存储、网络等
export GOVC_DATACENTER=ha-datacenter
export GOVC_DATASTORE=datastore1
export GOVC_NETWORK="VM Network"

常用命令

A. 虚拟机查找和列表

# 列出所有虚拟机
govc ls /ha-datacenter/vm
# 使用通配符查找虚拟机
govc ls /ha-datacenter/vm/*web*
# 查找特定虚拟机
govc find / -type m -name "MyVM"

B. 虚拟机信息

vmware终端命令有哪些常用操作?-图3
(图片来源网络,侵删)
# 获取虚拟机的配置文件路径
govc object.info -L /ha-datacenter/vm/MyVM
# 获取虚拟机的电源状态
govc vm.info MyVM | grep "Power state"
# 获取虚拟机的 IP 地址 (需要 VMware Tools)
govc vm.ip MyVM

C. 虚拟机电源管理

# 开机
govc vm.power -on MyVM
# 关机 (正常关机)
govc vm.power -off MyVM
# 强制关机
govc vm.power -forceoff MyVM
# 重启
govc vm.power -reset MyVM

D. 虚拟机生命周期管理

# 克隆虚拟机 (从模板或现有 VM)
govc vm.clone -template=true -on=false -vm=template-ubuntu my-new-vm
# 部署 OVF/OVA 文件
govc import.ovf my-app.ova my-new-vm-from-ova
# 删除虚拟机 (会弹出确认)
govc vm.destroy MyVM
# 注册虚拟机 (将 .vmx 文件添加到 vCenter)
govc vm.register /path/to/vm/vmx

E. 快照管理

# 创建快照
govc snapshot.create -n "backup-snapshot" -d "Before patching" MyVM
# 列出快照树
govc snapshot.tree MyVM
# 删除快照
govc snapshot.remove MyVM backup-snapshot
# 回滚快照
govc snapshot.revert MyVM backup-snapshot

F. 资源管理

# 虚拟机磁盘操作
govc disk.create -s 100G -a lsilogic -t thin MyVM new_disk.vmdk
# 添加网络适配器
govc device.add -net pcnet32 MyVM
# 移除设备
govc device.remove -vm MyVM disk-2000

vCenter Server 特有命令

如果你使用的是 vCenter,还可以使用 vifs 命令,它专门用于在 vCenter 和 ESXi 主机之间进行文件传输,类似于 scpsftp

vifs 命令示例

# 将本地文件上传到 ESXi 主机的数据存储
vifs --server <esxi_ip> --username root put /local/path/file.txt /vmfs/volumes/datastore1/file.txt
# 从 ESXi 主机下载文件到本地
vifs --server <esxi_ip> --username root get /vmfs/volumes/datastore1/file.txt /local/path/file.txt
# 列出数据存储中的文件
vifs --server <esxi_ip> --username root ls /vmfs/volumes/datastore1/

工作台/玩家版命令 (VMware Workstation/Player)

对于桌面版的 VMware,命令行支持相对较少,但也有一些实用工具。

vmrun

vmrun 是用于自动化 Workstation 和 Player 的核心工具。

基本语法:

vmrun -T <host_type> <command> <vm_path> [args]
  • -T <host_type>: 指定主机类型,如 ws (Workstation), player (Player), esx (ESXi), vcenter (vCenter)。

常用命令:

# 启动虚拟机
vmrun -T ws start "C:\VMs\Win10\Win10.vmx"
# 关闭虚拟机
vmrun -T ws stop "C:\VMs\Win10\Win10.vmx" soft
# 获取虚拟机状态
vmrun -T ws getstate "C:\VMs\Win10\Win10.vmx"
# 在虚拟机中执行命令 (需要安装 VMware Tools)
vmrun -T ws runProgramInGuest "C:\VMs\Win10\Win10.vmx" -interactive "cmd.exe" /c "echo hello > C:\test.txt"

总结与对比

工具名称 主要用途 使用环境 特点
vmware-cmd ESXi 主机级别的虚拟机管理 ESXi Shell, vCenter CLI 基础、直接,功能相对有限
govc vCenter/ESXi 的现代管理工具 任何有 Go 的平台 (Linux, macOS, Windows) 功能强大、跨平台、API 风格、推荐使用
vifs vCenter/ESXi 之间的文件传输 vCenter CLI, ESXi Shell 专为文件操作设计,类似 scp
vmrun Workstation/Player 自动化 Workstation/Player 安装目录 主要用于桌面虚拟化环境

建议:

  • 如果你正在管理 vCenter 或现代 ESXi,请优先学习和使用 govc
  • 如果你需要快速在 ESXi Shell 中执行一个简单操作,vmware-cmd 仍然很方便。
  • 如果你使用的是 VMware Workstation/Playervmrun 是你的不二之选。
分享:
扫描分享到社交APP
上一篇
下一篇