如果对 Proxmox VE 全栈管理感兴趣,可以关注“Proxmox VE 全栈管理”专栏,后续文章将围绕该体系,从多个维度深入展开。
摘要:Proxmox VE 基于 QEMU/KVM 的虚拟机管理,可通过命令行高效操作,核心是 qm 命令,涵盖虚拟机全生命周期管理,支持磁盘、ISO 及快照相关操作。备份用 vzdump,恢复靠 qmrestore,迁移有多种方式。网络、存储可分别配置和管理,集群管理借助 pvecm,权限由 pveum 控制。故障排查通过 qm status 等。关键命令能批量操作、访问控制台等。此命令集适用于自动化脚本和紧急维护,生产环境建议优先用 Web UI,CLI 更适合高级用户或批量任务,可参考 man qm 及官方指南。
Proxmox VE(QEMU/KVM)虚拟机管理的完整命令指南,按功能分类整理,涵盖核心操作与高级管理场景:
一、虚拟机生命周期管理
- 创建虚拟机
qm create <VMID> --name <名称> --memory <内存MB> --cores <CPU核心> --net0 virtio,bridge=vmbr0 --scsi0 <存储>:<磁盘大小> --ostype <系统类型>
示例:创建ID为103的虚拟机
qm create 103 --name "DebianVM" --memory 2048 --cores 2 --net0 virtio,bridge=vmbr0 --scsi0 local-lvm:20 --ostype l26
- 启动/停止/重启虚拟机
qm start <VMID> # 启动虚拟机
qm stop <VMID> # 强制停止(异常时使用)
qm shutdown <VMID> # 优雅关机(需安装Guest Agent)
qm reboot <VMID> # 重启虚拟机
qm reset <VMID> # 强制重置(类似物理机断电)
- 删除虚拟机
qm destroy <VMID> --purge # 删除并清除备份/HA配置
二、虚拟机配置管理
-
查看与修改配置
qm config <VMID> # 查看完整配置 qm set <VMID> --memory 4096 # 修改内存为4GB qm set <VMID> --cores 4 # 增加CPU核心数 qm set <VMID> --net1 virtio,bridge=vmbr1 # 添加第二网卡
-
磁盘管理
qm disk resize <VMID> <设备名> +10G # 扩展磁盘(如scsi0) qm move-disk <VMID> scsi0 <目标存储> # 迁移磁盘到其他存储 qm importdisk <VMID> <镜像路径> <存储> # 导入外部磁盘镜像
-
挂载ISO/CD-ROM
qm set <VMID> --cdrom local:iso/ubuntu.iso # 挂载ISO qm unlink <VMID> --cdrom # 卸载ISO
三、克隆与快照
-
克隆虚拟机
qm clone <源VMID> <新VMID> --name <新名称> --full # 完整克隆(含磁盘) qm clone 100 101 --name "CloneVM" --storage local-lvm # 指定目标存储
-
快照管理
qm snapshot <VMID> <快照名称> # 创建快照 qm listsnapshot <VMID> # 列出快照 qm rollback <VMID> <快照名称> # 回滚至快照 qm delsnapshot <VMID> <快照名称> # 删除快照
四、备份与恢复
-
使用
vzdump
备份vzdump <VMID> --mode snapshot --compress zstd --storage <备份存储> # 在线快照备份 vzdump --all --exclude 101,102 # 备份所有虚拟机(排除指定ID)
-
恢复备份
qmrestore <备份文件路径> <目标VMID> --storage <存储>
五、迁移与高级操作
-
在线迁移
qm migrate <VMID> <目标节点> --online # 要求共享存储
-
导入外部虚拟机
qm importovf <VMID> <OVF文件路径> <存储> # 导入OVF模板
六、网络与存储管理
-
网络配置(虚拟机级别)
qm set <VMID> --net0 model=virtio,bridge=vmbr0,vlan=10 # 指定VLAN qm set <VMID> --ipconfig0 ip=192.168.1.10/24,gw=192.168.1.1 # 静态IP(需Cloud-Init)
-
存储管理(集群级别)
pvesm add nfs <存储名称> --server <NFS地址> --export /path # 添加NFS存储 pvesm list # 列出所有存储池 pvesm alloc <存储> <VMID> <卷名> 10G # 分配新磁盘卷
七、集群与权限管理
-
集群操作
pvecm create <集群名称> # 创建新集群 pvecm add <现有集群节点IP> # 加入现有集群 pvecm status # 查看集群状态
-
用户权限
pveum useradd user1@realm --password <密码> # 创建用户 pveum acl modify /vms/<VMID> --role Operator --users user1@realm # 分配权限
八、故障排查
-
日志与状态检查
qm status <VMID> # 查看实时状态 tail -f /var/log/pve/qemu-server/<VMID>.log # 跟踪虚拟机日志 pvesh get /nodes/<节点名>/qemu/<VMID>/status # 通过API获取状态
-
强制解锁
qm unlock <VMID> # 清除迁移/备份导致的锁定
附:常用命令速查表
功能 | 命令示例 |
---|---|
列出所有虚拟机 | qm list |
进入虚拟机控制台 | qm terminal <VMID> (退出:Ctrl+O ) |
强制关机 | qm stop <VMID> -overrule-shutdown 1 |
查看启动参数 | qm showcmd <VMID> |
批量启动所有虚拟机 | qm startall |
以上命令覆盖了Proxmox VE虚拟机的全生命周期管理,建议结合man qm
和官方文档进一步探索高级参数。对于生产环境,建议优先通过Web UI操作,CLI更适合自动化脚本或紧急维护场景。