pve常用命令
虚拟机管理
# 查看所有虚拟机列表
qm list
# 查看虚拟机运行状态
qm status 100
# 查看虚拟机配置详情
qm config 100
# 检查某 VM 使用的配置文件
cat /etc/pve/qemu-server/100.conf
# 启动 / 停止 / 重启 VM(以 VMID=100 为例)
qm start 100
qm stop 100
qm reboot 100
# 创建虚拟机(VMID=100,名称为vm1,内存2G,默认网卡桥接)
qm create 100 --name vm1 --memory 2048 --net0 virtio,bridge=vmbr0
# 从 ISO 启动安装
qm set 101 --boot order=cdrom --ide2 local:iso/ubuntu.iso,media=cdrom
# 修改虚拟机配置:内存改为4G,CPU核数为4
qm set 100 --memory 4096 --cores 4
# 删除 VM(危险操作!)(不可恢复)
qm destroy 101
容器管理
# 查看容器列表
pct list
# 查看容器配置
pct config 101
# 查看容器状态
pct status 101
# 启动 / 停止 / 重启 LXC 容器
pct start 100
pct stop 100
pct reboot 100
# 创建容器(从模板创建,rootfs大小为8G,内存1G)
pct create 101 local:vztmpl/debian-11-standard_11.0-1_amd64.tar.gz --rootfs local-lvm:8 --memory 1024
# 修改容器配置:内存改为2G,CPU为2核
pct set 101 --memory 2048 --cores 2
# 删除容器(不可恢复)
pct destroy 101
集群管理
# 创建集群(主节点)
pvecm create my-cluster
# 加入集群(其他节点执行)
pvecm add <主节点IP>
# 查看集群状态
pvecm status
# 查看节点信息
pvecm nodes
# 从集群中删除某节点(在主节点上执行)
pvecm delnode 节点名
存储与磁盘管理
# 查看存储配置
cat /etc/pve/storage.cfg
# 查看挂载情况
df -h
# 查看磁盘情况
lsblk
fdisk -l
# 检查 ZFS 池状态
zpool status
网络相关
# 查看网络接口
ip a
# 查看网桥配置
cat /etc/network/interfaces
# 重启网络服务(谨慎使用,可能中断远程连接)
systemctl restart networking
备份/还原
手动备份
# 手动备份虚拟机(VMID=100,备份到 local 存储)
vzdump 100 --storage local --mode snapshot
# 备份模式说明:
# snapshot —— 支持在线备份(需要支持快照的存储)
# suspend —— 备份时暂停 VM
# stop —— 停止 VM 后备份(最安全但中断服务)
# 手动备份容器(LXC)
vzdump 101 --storage local --mode suspend
# 查看本地备份文件列表
ls /var/lib/vz/dump/
计划任务备份(Web 界面常用)
- 在 PVE Web 界面 → Datacenter → Backup 中设置周期性备份任务。
还原备份
# 恢复 VM
qmrestore /var/lib/vz/dump/vzdump-qemu-100-xxx.vma.zst 105
# 恢复 LXC 容器
pct restore 105 /var/lib/vz/dump/vzdump-lxc-101-xxx.tar.zst
快照
创建快照
# 创建虚拟机快照(含描述)
qm snapshot 100 snap1 --description "测试前的快照"
# 创建 LXC 容器快照
pct snapshot 101 snap1
pct snapshot 101 snap1 --description "容器快照"
查看快照
# 查看 VM 快照
qm listsnapshot 100
# 查看 LXC 快照
pct listsnapshot 101
恢复快照
# 恢复到指定快照
qm rollback 100 snapshot1
# LXC 容器恢复快照
pct rollback 101 snap1
删除快照
# 删除虚拟机(VMID=100)名为 snap1 的快照,释放存储空间。
qm delsnapshot 100 snap1
# 删除 LXC 容器(VMID=101)名为 snap1 的快照。
pct delsnapshot 101 snap1
pveum用户管理常用命令
pveum
是 Proxmox VE 中用于管理用户、组、角色、权限和认证领域的命令行工具。
命令 (Command) | 说明 (Description) | 示例 (Example) |
---|---|---|
用户管理 (User Management) | ||
pveum user list | 列出所有用户 | pveum user list |
pveum user add <userid>@<realm> | 添加一个新用户 (需要设置密码或其他属性) | pveum user add testuser@pve -password 'yourpassword' -groups admin |
pveum user delete <userid>@<realm> | 删除一个用户 | pveum user delete testuser@pve |
pveum user passwd <userid>@<realm> | 修改用户密码 (会提示输入新密码) | pveum user passwd testuser@pve |
pveum user modify <userid>@<realm> | 修改用户属性 (如启用/禁用、邮箱、用户组、过期时间等) | pveum user modify testuser@pve -enable 1 -email 'test@example.com' |
用户组管理 (Group Management) | ||
pveum group list | 列出所有用户组 | pveum group list |
pveum group add <groupid> | 添加一个新用户组 | pveum group add developers -comment '开发人员组' |
pveum group delete <groupid> | 删除一个用户组 | pveum group delete developers |
pveum group modify <groupid> | 修改用户组属性 (主要是备注) | pveum group modify developers -comment '核心开发人员' |
pveum group info <groupid> | 显示用户组信息 (包括成员列表) | pveum group info developers |
角色管理 (Role Management) | ||
pveum role list | 列出所有可用角色 | pveum role list |
pveum role read <roleid> | 查看指定角色的详细权限 | pveum role read Administrator |
权限管理 (ACL Management) | ||
pveum acl list 或 pveum acl dump | 列出所有访问控制列表 (ACL) 规则 | pveum acl list |
pveum acl modify <path> | 修改指定路径的 ACL 规则 | pveum acl modify /vms/100 -users testuser@pve -role PVEVMUser |
pveum acl modify <path> -delete 1 | 删除指定路径上的特定 ACL 规则 (需配合用户/组/角色过滤) | pveum acl modify /vms/100 -delete 1 -users testuser@pve -role PVEVMUser |
认证领域管理 (Realm Management) | ||
pveum realm list | 列出所有认证领域 (如 pve, pam, ad, ldap) | pveum realm list |
pveum realm config <realm> | 查看指定认证领域的配置 | pveum realm config pve |
API 令牌管理 (API Token Management) | ||
pveum user token list <userid>@<realm> | 列出指定用户的 API 令牌 | pveum user token list testuser@pve |
pveum user token add <userid>@<realm> <tokenid> | 为用户创建一个新的 API 令牌 | pveum user token add testuser@pve mytoken -privsep 0 |
pveum user token remove <userid>@<realm> <tokenid> | 删除用户的一个 API 令牌 | pveum user token remove testuser@pve mytoken |
注意:
<userid>
: 用户名。<realm>
: 认证领域,默认为pve
(Proxmox VE 自带认证) 或pam
(Linux PAM)。也可能是你配置的 AD 或 LDAP 领域。用户标识通常是userid@realm
格式。<groupid>
: 用户组名。<roleid>
: 角色名 (如Administrator
,PVEVMUser
等)。<path>
: PVE 中的资源路径 (如/
,/nodes/pve-node1
,/vms/101
,/storage/local-lvm
)。<tokenid>
: API 令牌的名称。- 使用
-password
选项直接在命令行提供密码可能不安全,建议使用pveum user passwd
命令交互式设置。 - 修改 ACL 时,可以使用
-users
,-groups
,-role
,-propagate
等选项来指定规则。 - 管理用户组成员通常通过
pveum user modify <userid>@<realm> -groups <group1>,<group2>,...
来完成。
更详细的用法和选项可以通过 man pveum
或 pveum help <subcommand>
(例如 pveum user help
) 来查看。
其他实用命令
# 重启 PVE 系统
reboot
# 检查 /etc/pve 是否挂载成功(应非空)
ls /etc/pve
# 上传 ISO 到本地存储(示例路径)
## 默认镜像上传路径 /var/lib/vz/template/iso
scp ./ubuntu.iso root@你的PVE:/var/lib/vz/template/iso/