20个常用虚拟机的核心指令

6 阅读4分钟

20 个常用虚拟机核心指令(KVM/Virsh 为主,附 VMware/VirtualBox)

以下指令覆盖虚拟机生命周期、磁盘 / 网络、快照、资源管理、监控五大核心场景,以 KVM(virsh)为主,同步标注 VMware(vmrun)、VirtualBox(VBoxManage)等效命令,满足日常运维与开发需求。

一、虚拟机生命周期管理(6 个)

1. 查看所有虚拟机(含状态)

  • KVMvirsh list --all
  • VMwarevmrun list
  • VirtualBoxVBoxManage list vms
  • 说明:列出所有虚拟机,含运行 / 关闭 / 挂起状态,是管理入口指令。

2. 启动虚拟机

  • KVMvirsh start <虚拟机名/ID>
  • VMwarevmrun start "路径/xxx.vmx"
  • VirtualBoxVBoxManage startvm <虚拟机名> --type headless
  • 说明:启动已定义的虚拟机,headless 为无界面启动。

3. 优雅关闭虚拟机

  • KVMvirsh shutdown <虚拟机名/ID>
  • VMwarevmrun stop "路径/xxx.vmx"
  • VirtualBoxVBoxManage controlvm <虚拟机名> acpipowerbutton
  • 说明:发送 ACPI 关机信号,系统正常退出,避免数据丢失。

4. 强制断电(紧急关闭)

  • KVMvirsh destroy <虚拟机名/ID>
  • VMwarevmrun reset "路径/xxx.vmx"
  • VirtualBoxVBoxManage controlvm <虚拟机名> poweroff
  • 说明:类似拔电源,用于系统无响应场景,可能导致数据损坏。

5. 重启虚拟机

  • KVMvirsh reboot <虚拟机名/ID>
  • VMwarevmrun restart "路径/xxx.vmx"
  • VirtualBoxVBoxManage controlvm <虚拟机名> reset
  • 说明:先关闭再启动,等效shutdown + start

6. 挂起 / 恢复虚拟机

  • 挂起(KVM)virsh suspend <虚拟机名>
  • 恢复(KVM)virsh resume <虚拟机名>
  • VirtualBoxVBoxManage controlvm <虚拟机名> pause/resume
  • 说明:挂起保存当前状态到内存,恢复后继续运行,适合临时暂停。

二、磁盘与存储管理(4 个)

7. 创建虚拟磁盘(QEMU)

  • 指令:qemu-img create -f qcow2 /var/lib/libvirt/images/xxx.qcow2 20G
  • 说明:-f指定格式(qcow2 为推荐格式,支持快照 / 压缩),20G 为磁盘大小。

8. 查看磁盘信息

  • 指令:qemu-img info /var/lib/libvirt/images/xxx.qcow2
  • 说明:查看磁盘格式、大小、已用空间、快照数量等关键信息。

9. 创建存储卷(KVM 存储池)

  • 指令:virsh vol-create-as default xxx.qcow2 10G --format qcow2
  • 说明:在 default 存储池创建 10G qcow2 格式卷,用于虚拟机挂载。

10. 挂载 / 卸载磁盘

  • 挂载(KVM)virsh attach-disk <虚拟机名> /路径/xxx.qcow2 vdb --cache none
  • 卸载(KVM)virsh detach-disk <虚拟机名> vdb
  • 说明:vdb为磁盘设备名,--cache none关闭缓存提升稳定性。

三、快照管理(3 个)

11. 创建虚拟机快照

  • KVMvirsh snapshot-create-as <虚拟机名> --name 快照名 --description "备注"
  • VMwarevmrun snapshot "路径/xxx.vmx" "快照名"
  • 说明:保存当前系统状态,用于快速回滚,生产环境建议定期创建。

12. 恢复到指定快照

  • KVMvirsh snapshot-revert <虚拟机名> --snapshotname 快照名
  • VMwarevmrun revertToSnapshot "路径/xxx.vmx" "快照名"
  • 说明:虚拟机将恢复到快照创建时的状态,当前未保存数据会丢失。

13. 删除快照

  • KVMvirsh snapshot-delete <虚拟机名> --snapshotname 快照名
  • VMwarevmrun deleteSnapshot "路径/xxx.vmx" "快照名"
  • 说明:删除无用快照,释放磁盘空间,避免快照链过长影响性能。

四、网络与配置管理(4 个)

14. 查看虚拟网络

  • KVMvirsh net-list --all
  • 说明:列出所有虚拟网络(如 default、NAT、桥接)及状态。

15. 启动 / 停止虚拟网络

  • 启动virsh net-start default
  • 停止virsh net-destroy default
  • 说明:管理虚拟机网络连通性,default 为默认 NAT 网络。

16. 编辑虚拟机配置(XML)

  • KVMvirsh edit <虚拟机名>
  • 说明:修改 CPU、内存、磁盘、网络等配置,修改后需重启生效。

17. 连接虚拟机控制台

  • KVMvirsh console <虚拟机名>
  • 说明:进入虚拟机字符界面,用于无图形化场景下的系统操作。

五、资源监控与调整(3 个)

18. 查看虚拟机性能数据

  • KVMvirsh domstats <虚拟机名>
  • 说明:实时监控 CPU、内存、磁盘 I/O、网络流量等性能指标。

19. 调整虚拟机 CPU 核心数

  • 指令:virsh setvcpus <虚拟机名> 4 --config
  • 说明:--config表示重启生效,--live为在线热调整(需系统支持)。

20. 调整虚拟机内存大小

  • 指令:virsh setmem <虚拟机名> 8388608 --config
  • 说明:单位为 KB(8388608KB=8GB),--config持久化修改,重启生效。

指令速查表(按平台)

表格

功能KVM (virsh)VMware (vmrun)VirtualBox (VBoxManage)
查看所有 VMvirsh list --allvmrun listVBoxManage list vms
启动 VMvirsh start <name>vmrun start "xxx.vmx"VBoxManage startvm <name>
优雅关机virsh shutdown <name>vmrun stop "xxx.vmx"VBoxManage controlvm <name> acpipowerbutton
强制关机virsh destroy <name>vmrun reset "xxx.vmx"VBoxManage controlvm <name> poweroff
创建快照virsh snapshot-create-as <name> --name snapvmrun snapshot "xxx.vmx" snapVBoxManage snapshot <name> take snap