pve-qm
PVE 虚拟机 QM 管理命令大全
补充说明
Proxmox VE 原生基于 KVM 架构运行虚拟机,所有虚拟机管理操作均依靠 qm 命令执行。命令行相比网页端更适合批量运维、脚本自动化与精细化配置调整,适配 PVE 7.x / 8.x。
一、基础信息查看
# 查看全部虚拟机列表
qm list
# 查看指定虚拟机运行状态
qm status 100
# 查看虚拟机完整配置
qm config 100
# 查看虚拟机资源使用概况
pvesh get /cluster/resources --type vm
二、生命周期启停管理
# 启动虚拟机
qm start 100
# 正常关闭虚拟机(发送 ACPI 关机信号)
qm stop 100
# 重启虚拟机
qm reboot 100
# 挂起虚拟机(保存状态到磁盘)
qm suspend 100
# 恢复挂起虚拟机
qm resume 100
强制应急操作
# 强制关机(相当于断电)
qm stop 100 --forceStop
# 彻底删除虚拟机并清空数据
qm destroy 100 --purge
三、硬件资源配置修改
qm set 修改参数即时生效,无需重启服务。
# 设置内存大小(MB)
qm set 100 -memory 2048
# 设置 CPU 核心数
qm set 100 -cores 2
# 设置 CPU 类型(默认 kvm64)
qm set 100 -cpu host
# 新增磁盘,指定存储与容量(GB)
qm set 100 -scsi0 local-lvm:32
# 附加现有磁盘
qm set 100 -scsi1 local-lvm:vm-100-disk-1
# 配置桥接网卡
qm set 100 -net0 virtio,bridge=vmbr0
# 移除网卡
qm set 100 -delete net0
# 开启开机自启
qm set 100 -onboot 1
# 设置启动顺序
qm set 100 -boot order=scsi0;ide2;net0
# 启用 KVM 硬件虚拟化
qm set 100 -kvm 1
# 设置 VGA 显示驱动
qm set 100 -vga virtio
四、快照与备份管理
# 创建快照
qm snapshot 100 snap01
# 创建快照并包含内存状态
qm snapshot 100 snap01 --vmstate 1
# 回滚快照
qm rollback 100 snap01
# 删除快照
qm delsnapshot 100 snap01
# 查看所有快照
qm listsnapshot 100
# 整机备份到指定存储
qm backup 100 local
# 整机备份并压缩
qm backup 100 local --compress zstd
# 整机备份并排除特定卷
qm backup 100 local --exclude-path scsi1
# 查看备份任务状态
pvesh get /cluster/backup
五、克隆与节点迁移
# 完整克隆虚拟机
qm clone 100 101 --name new-vm
# 链接克隆(节省空间,依赖原磁盘)
qm clone 100 101 --name linked-vm --linked 1
# 在线迁移至其他节点
qm migrate 100 pve-node2 --online
# 离线迁移
qm migrate 100 pve-node2
# 磁盘迁移至其他存储
qm move-disk 100 scsi0 target-storage --delete 1
# 磁盘迁移(保留原磁盘)
qm move-disk 100 scsi0 target-storage
六、批量运维常用脚本
# 批量启动所有已关闭的虚拟机
for vm in $(qm list | awk '/stopped/ {print $1}'); do qm start $vm; done
# 批量重启所有运行中的虚拟机
qm list | awk '/running/ {print $1}' | xargs -I {} qm reboot {}
# 批量停止所有运行中的虚拟机
qm list | awk '/running/ {print $1}' | xargs -I {} qm stop {}
# 批量设置开机自启
for vm in $(qm list | awk 'NR>1 {print $1}'); do qm set $vm -onboot 1; done
# 批量创建快照
for vm in $(qm list | awk 'NR>1 {print $1}'); do qm snapshot $vm "snap-$(date +%Y%m%d)"; done
七、资源监控与日志排查
# 进入单台虚拟机监视器(类似 VNC 控制台)
qm monitor 100
# 查看集群资源总览
pvesh get /cluster/resources
# 查看节点资源使用
pvesh get /nodes/$(hostname)/status
# 查看任务日志
cat /var/log/pve/tasks/active
# 实时监控 PVE 守护进程日志
journalctl -f -u pvedaemon
# 查看 qm 相关日志
journalctl -f -u pveproxy
# 查看虚拟机 QEMU 进程日志
tail -f /var/log/pve/tasks/index
八、模板与 ISO 管理
# 将虚拟机转换为模板(仅关机状态可用)
qm template 100
# 从模板创建虚拟机
qm clone 100 101 --full 1
# 列出存储上的 ISO 镜像
pvesm list local --content iso
# 下载 ISO 到本地存储
pvesm download local https://example.com/os.iso
九、常用别名优化
echo "alias vmlist='qm list'" >> ~/.bashrc
echo "alias vmstart='qm start'" >> ~/.bashrc
echo "alias vmstop='qm stop'" >> ~/.bashrc
echo "alias vmrestart='qm reboot'" >> ~/.bashrc
echo "alias vmstatus='qm status'" >> ~/.bashrc
echo "alias vmconfig='qm config'" >> ~/.bashrc
source ~/.bashrc
注意事项
qm set修改参数即时生效,无需重启服务- 生产环境删除、迁移、快照回滚前务必做好备份
- 强制停止(
--forceStop)与销毁(--purge)属于高危操作,仅用于故障处理 - 快照适合临时还原,重要数据请使用整机备份
- 模板转换前须确保虚拟机关机
- 在线迁移要求集群共享存储或已配置复制
适用版本:Proxmox VE 7.x / 8.x