随机
Enter 搜索 ↑↓ 切换 Esc 清空

pve-qm

命令

PVE 虚拟机 QM 管理命令大全

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

注意事项

适用版本:Proxmox VE 7.x / 8.x