虚拟机命令大全有哪些常用命令?

虚拟机命令是管理和操作虚拟化环境的核心工具,涵盖从创建、配置、启动到监控、维护等全生命周期操作,不同虚拟化平台(如 VMware、VirtualBox、KVM、Hyper-V)的命令存在差异,以下以 VMware vSphere(ESXi/vCenter)和 VirtualBox 为例,结合常用命令场景进行详细说明,并辅以表格归纳关键操作。

虚拟机命令大全
(图片来源网络,侵删)

VMware vSphere 命令(基于 ESXi Shell/vSphere CLI)

VMware ESXi 是企业级虚拟化平台,其命令主要通过 ESXi Shell(直接连接主机)或 vSphere CLI(远程管理)执行,核心命令围绕虚拟机生命周期、资源管理、网络存储展开。

虚拟机生命周期管理

  • 创建虚拟机
    通过 vmkfstools 创建虚拟磁盘,再使用 vim-cmdgovc 命令创建虚拟机配置文件。
    示例(创建 50GB 虚拟磁盘):

    vmkfstools -c 50G -a lsilogic -d thin /vmfs/volumes/datastore1/vm_disk.vmdk

    通过 vCenter 创建虚拟机时,可使用 govc 命令行工具:

    govc vm.create -name "test-vm" -disk-size 50G -net "VM Network" -guest-id "ubuntu64Guest"
  • 启动/关闭/重启虚拟机

    虚拟机命令大全
    (图片来源网络,侵删)
    vim-cmd solo/registervm /vmfs/volumes/datastore1/test-vm/test-vm.vmx  # 注册虚拟机
    vim-cmd/vmsvc/power.on <vmid>  # 启动(vmid 通过 vim-cmd/vmsvc/getallvms 获取)
    vim-cmd/vmsvc/power.off <vmid> # 关闭
    vim-cmd/vmsvc/power.reset <vmid> # 重启
  • 强制关闭/挂起

    vim-cmd/vmsvc/power.off <vmid>  # 正常关闭,若无响应则强制关闭
    vim-cmd/vmsvc/power.suspend <vmid> # 挂起

虚拟机配置管理

  • 修改虚拟机配置
    使用 govc 修改 CPU、内存、磁盘等:

    govc vm.change -vm "test-vm" -c 4 -m 8192  # 设置 4 核 CPU、8GB 内存
    govc vm.disk.change -vm "test-vm" -disk.name "hard-disk-1" -size 100G  # 扩展磁盘
  • 添加/移除硬件

    govc device.add -vm "test-vm" -type pciPassthrough  # 添加直通设备
    govc device.remove -vm "test-vm" -device "pci-0"  # 移除设备

网络与存储管理

  • 虚拟机网络配置

    虚拟机命令大全
    (图片来源网络,侵删)
    govc vm.network.add -vm "test-vm" -net "VM Network"  # 添加网络适配器
    govc vm.network.change -vm "test-vm" -net "new-network" -device "vmxnet3"  # 修改网络
  • 存储操作

    vmkfstools -i /vmfs/volumes/datastore1/old_disk.vmdk -d thin /vmfs/volumes/datastore2/new_disk.vmdk  # 克隆磁盘
    vmkfstools -U /vmfs/volumes/datastore1/disk.vmdk  # 删除磁盘

快照与迁移

  • 快照管理

    vim-cmd/vmsvc/snapshot.create <vmid> "snapshot-name" "description"  # 创建快照
    vim-cmd/vmsvc/snapshot.revert <vmid> <snapshotid>  # 回滚快照
    vim-cmd/vmsvc/snapshot.remove <vmid> <snapshotid>  # 删除快照
  • 虚拟机迁移(vMotion)

    govc vm.migrate -vm "test-vm" -host "esxi-host2"  # 迁移主机
    govc vm.migrate -vm "test-vm" -ds "datastore2"  # 迁移存储

VirtualBox 命令(基于 VBoxManage)

VirtualBox 是开源桌面虚拟化平台,通过 VBoxManage.exe(Windows)或 VBoxManage(Linux/macOS)管理虚拟机。

虚拟机创建与配置

  • 创建虚拟机

    VBoxManage createvm --name "ubuntu-vm" --ostype "Ubuntu_64" --register  # 创建并注册虚拟机
    VBoxManage modifyvm "ubuntu-vm" --memory 4096 --vram 128 --cpus 2  # 配置硬件
    VBoxManage storagectl "ubuntu-vm" --name "SATA" --add sata  # 添加存储控制器
    VBoxManage storageattach "ubuntu-vm" --storagectl "SATA" --port 0 --device 0 --type hdd --medium "/path/to/disk.vdi"  # 挂载磁盘
  • 创建虚拟磁盘

    VBoxManage createhd --filename "disk.vdi" --size 50000 --format VDI --variant Standard  # 创建 50GB VDI 磁盘

虚拟机生命周期控制

  • 启动/关闭/暂停
    VBoxManage startvm "ubuntu-vm" --type headless  # 后台启动
    VBoxManage controlvm "ubuntu-vm" poweroff  # 关闭
    VBoxManage controlvm "ubuntu-vm" pause  # 暂停
    VBoxManage controlvm "ubuntu-vm" resume  # 恢复

网络与共享文件夹

  • 网络配置

    VBoxManage modifyvm "ubuntu-vm" --nic1 nat  # 设置 NAT 网络
    VBoxManage modifyvm "ubuntu-vm" --nic2 bridged --bridgeadapter1 "en0"  # 设置桥接网络
  • 共享文件夹

    VBoxManage sharedfolder add "ubuntu-vm" --name "host-share" --hostpath "/host/path" --automount  # 添加共享文件夹

导出与导入

  • 导出虚拟机(OVF 格式)

    VBoxManage export "ubuntu-vm" --output "ubuntu-vm.ovf"  # 导出为 OVF
  • 导入虚拟机

    VBoxManage import "ubuntu-vm.ovf"  # 导入 OVF

关键命令对比表格

以下表格归纳 VMware ESXi 和 VirtualBox 的核心命令差异:

操作场景VMware ESXi/vSphere CLIVirtualBox VBoxManage
创建虚拟机govc vm.create -name "vm" -disk-size 50GVBoxManage createvm --name "vm" --ostype "Linux64"
启动虚拟机vim-cmd/vmsvc/power.on <vmid>VBoxManage startvm "vm"
修改内存govc vm.change -vm "vm" -m 8192VBoxManage modifyvm "vm" --memory 8192
添加网络适配器govc vm.network.add -vm "vm" -net "VM Network"VBoxManage modifyvm "vm" --nic1 NAT
创建快照vim-cmd/vmsvc/snapshot.create <vmid> "snap1"VBoxManage snapshot "vm" take "snap1"
导出虚拟机govc vm.export -vm "vm" -o "vm.ova"VBoxManage export "vm" -o "vm.ova"
克隆虚拟机govc vm.clone -vm "vm" -name "vm-clone"VBoxManage clonevm "vm" --name "vm-clone"

相关问答 FAQs

问题1:如何通过命令行检查虚拟机的实时资源使用情况?
解答

  • VMware ESXi:使用 esxtop 命令(需在 ESXi Shell 中执行),可实时查看 CPU、内存、磁盘、网络使用情况;或通过 govc metrics 获取指定虚拟机的性能数据:
    govc metrics.get -vm "test-vm" cpu.usage disk.latency
  • VirtualBox:使用 VBoxManage metrics query "ubuntu-vm" 查询虚拟机指标,或通过 VBoxManage list systemproperties 查看系统状态。

问题2:虚拟机磁盘空间不足时,如何通过命令扩展磁盘?
解答

  • VMware ESXi:
    1. 使用 govc vm.disk.change 扩展磁盘容量(需虚拟机处于关闭状态):
      govc vm.disk.change -vm "test-vm" -disk.name "hard-disk-1" -size 100G
    2. 在虚拟机内部(如 Linux),使用 fdiskparted 调整分区,并扩展文件系统(如 resize2fs)。
  • VirtualBox:
    1. 使用 VBoxManage modifyhd 扩展磁盘文件:
      VBoxManage modifyhd "disk.vdi" --resize 102400  # 单位为 MB
    2. 在虚拟机内部使用磁盘管理工具(如 Windows 磁盘管理或 Linux growpart)调整分区和文件系统。

通过以上命令和操作,可高效完成虚拟机的创建、配置、维护及优化,满足不同场景下的虚拟化需求。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/467521.html<

(0)
运维的头像运维
上一篇2025-11-14 18:57
下一篇 2025-11-14 19:00

相关推荐

  • 如何用命令精准关闭鼠标加速?

    在计算机使用中,鼠标加速功能是一个常见但容易引发操作困扰的特性,所谓鼠标加速,是指操作系统根据鼠标移动速度动态调整指针移动距离的功能,即当用户快速移动鼠标时,指针移动的距离会超过按比例计算的理论值,反之缓慢移动时则距离较短,这种设计初衷是为了适应不同用户的操作习惯,但对于需要精准定位的场景(如设计、游戏、编程等……

    2025-11-18
    0
  • C盘启动命令有哪些?

    在Windows操作系统中,C盘作为系统盘,包含了启动操作系统所需的核心文件和配置信息,通过特定的启动命令,用户可以进入高级启动选项、修复系统问题或进行系统维护,这些命令通常在系统无法正常启动时通过Windows恢复环境(WinRE)或启动菜单执行,部分命令也可在系统运行时通过命令提示符(管理员权限)调用,以下……

    2025-11-16
    0
  • 64位系统注册命令有哪些?

    在64位系统中,注册命令的执行是系统管理、软件安装或故障排查中的常见操作,尤其是在处理需要手动注册系统组件、ActiveX控件或DLL文件时,64位系统的注册机制与32位系统存在差异,主要体现在注册表结构、命令语法及权限管理上,因此需结合系统特性正确操作,以下从注册命令的基本原理、操作步骤、注意事项及常见场景展……

    2025-11-16
    0
  • 配置VLAN IP地址命令如何正确操作?

    配置VLAN IP地址是网络管理中的基础操作,通过为不同VLAN分配独立的IP地址段,可实现VLAN间的逻辑隔离与三层通信,以下以华为、思科主流厂商设备为例,详细说明VLAN IP地址的配置命令、步骤及注意事项,VLAN IP地址概述VLAN(虚拟局域网)是将物理网络划分为多个逻辑子网的技术,每个VLAN相当于……

    2025-11-16
    0
  • 3dmax楼梯命令怎么用?参数怎么设置?

    在3ds Max中,楼梯建模是建筑和室内设计场景中的常见需求,软件提供了专门的“楼梯”命令(位于“创建”面板下的“几何体”类别中,扩展几何体选项下),能够快速生成多种类型的楼梯模型,并支持参数化调整,极大提高了建模效率,以下将详细介绍3ds Max楼梯命令的使用方法、参数设置及实用技巧,楼梯命令的入口与基本类型……

    2025-11-15
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注