虚拟机如何命令

在计算机技术领域,虚拟机(Virtual Machine,VM)是一种通过软件模拟的计算机系统,它可以在物理主机上运行独立的操作系统和应用程序,虚拟机的管理离不开各种命令的执行,这些命令涵盖了虚拟机的创建、配置、启动、停止、监控等多个方面,本文将详细介绍虚拟机命令的使用方法,涵盖主流虚拟化平台如VMware、VirtualBox、KVM等,帮助读者系统掌握虚拟机命令行的操作技巧。
虚拟机管理命令概述
虚拟机命令通常通过虚拟化平台提供的命令行工具(CLI)或管理接口执行,不同平台的命令语法和功能略有差异,但核心操作逻辑相似,以下是主流虚拟化平台的常用命令工具:
- VMware:
vmware-cmd、govc(vSphere CLI)、esxcli - VirtualBox:
VBoxManage - KVM:
virsh、virsh-edit
掌握这些命令的前提是熟悉虚拟机的基本生命周期管理,包括创建、配置、运行、暂停和删除等操作。
虚拟机创建与配置命令
创建虚拟机
创建虚拟机是第一步,命令需指定虚拟机名称、操作系统类型、硬件配置(如CPU、内存、磁盘)等参数。
VirtualBox示例:
VBoxManage createvm --name "Ubuntu-VM" --ostype "Ubuntu_64" --register VBoxManage storagectl "Ubuntu-VM" --name "SATA-Controller" --add sata VBoxManage storageattach "Ubuntu-VM" --storagectl "SATA-Controller" --port 0 --device 0 --type hdd --disk "ubuntu-disk.vdi" VBoxManage modifyvm "Ubuntu-VM" --memory 2048 --cpus 2
KVM示例(使用virt-install):
virt-install --name "CentOS-VM" --ram 2048 --vcpus 2 --disk path=/var/lib/libvirt/images/centos.img --cdrom /path/to/centos.iso --os-variant centos8
配置虚拟机硬件
创建后可通过命令调整硬件配置,如添加网卡、扩容磁盘或修改内存。
VMware示例(govc):
govc vm.change -vm "Ubuntu-VM" -m 4096 -c 4 govc device.info -vm "Ubuntu-VM" "network adapter 1"
VirtualBox示例:

VBoxManage modifyvm "Ubuntu-VM" --nic1 bridged --bridgeadapter1 en0 VBoxManage modifyhd "ubuntu-disk.vdi" --resize 20480
虚拟机运行控制命令
虚拟机的运行状态管理是日常运维的核心,包括启动、停止、暂停、强制关闭等操作。
启动与停止虚拟机
命令对比表:
| 平台 | 启动虚拟机 | 停止虚拟机(正常关机) | 强制关闭(电源切断) |
|————|————————–|————————–|————————–|
| VMware | govc vm.power -on VM | govc vm.power -off VM | govc vm.power -forceoff VM |
| VirtualBox | VBoxManage startvm "VM" --type headless | VBoxManage controlvm "VM" acpipowerbutton | VBoxManage controlvm "VM" poweroff |
| KVM | virsh start VM | virsh shutdown VM | virsh destroy VM |
暂停与恢复虚拟机
暂停虚拟机会保存当前状态,释放CPU资源,适合临时中断操作。
示例:
# VMware govc vm.power -suspend "Ubuntu-VM" govc vm.power -on "Ubuntu-VM" # KVM virsh suspend "CentOS-VM" virsh resume "CentOS-VM"
虚拟机监控与调试命令
查看虚拟机状态
实时监控虚拟机的运行状态、资源使用情况是保障性能的关键。
命令示例:
# VMware govc vm.info "Ubuntu-VM" govc datastore.info # VirtualBox VBoxManage showvminfo "Ubuntu-VM" # KVM virsh dominfo "CentOS-VM" virsh dommemstat "CentOS-VM"
虚拟机日志与快照管理
日志用于排查问题,快照则用于备份和回滚。
快照操作对比表:
| 操作 | VMware (govc) | VirtualBox (VBoxManage) | KVM (virsh) |
|————|————————–|————————–|————————–|
| 创建快照 | govc snapshot.create -vm "VM" "backup" | VBoxManage snapshot "VM" take "backup" | virsh snapshot-create-as VM "backup" |
| 列出快照 | govc snapshot.tree -vm "VM" | VBoxManage snapshot "VM" list | virsh snapshot-list VM |
| 删除快照 | govc snapshot.remove -vm "VM" "backup" | VBoxManage snapshot "VM" delete "backup" | virsh snapshot-delete VM "backup" |
虚拟机网络与存储命令
网络配置
虚拟机网络模式通常包括NAT、桥接、仅主机等,可通过命令动态调整。

示例:
# VirtualBox修改网络模式 VBoxManage modifyvm "Ubuntu-VM" --nic1 nat VBoxManage modifyvm "Ubuntu-VM" --nic2 bridged --bridgeadapter2 en0 # KVM添加虚拟网络 virsh attach-interface --domain "CentOS-VM" --type network --source default --model virtio
存储管理
存储命令用于挂载磁盘、调整容量或管理ISO镜像。
示例:
# VMware挂载ISO govc vm.disk.attach -vm "Ubuntu-VM" -disk-size 10G -storage "datastore1" govc device.cdrom.insert -vm "Ubuntu-VM" /path/to.iso # KVM扩容磁盘 qemu-img resize /var/lib/libvirt/images/centos.img +20G virsh blockresize "CentOS-VM" /var/lib/libvirt/images/centos.img --size 20G
高级命令与自动化脚本
对于复杂场景,可通过命令组合实现批量操作或自动化管理,使用Shell脚本循环管理多台虚拟机:
#!/bin/bash for vm in VM1 VM2 VM3; do govc vm.power -on "$vm" govc vm.ip "$vm" done
结合Ansible、Terraform等工具,可通过命令行接口实现虚拟机的Infrastructure as Code(IaC)管理。
虚拟机命令是高效管理虚拟化环境的基础技能,本文从创建配置、运行控制、监控调试到网络存储,系统梳理了主流平台的命令使用方法,通过实践这些命令,管理员可以灵活应对虚拟机管理的各类需求,同时为自动化运维和云原生技术奠定基础,掌握命令行操作不仅能提升效率,还能深入理解虚拟化技术的底层逻辑,是IT从业人员必备的核心能力之一。
















