备份核心配置文件 这个命令可以作为 pve 日常安全备份脚本定期执行
# 备份PVE集群配置与虚拟机配置
加 -P 参数保留绝对路径,-v 显示备份进度(可选)
tar -czPf pve_config_$(date +%Y%m%d).tar.gz /etc/pve/ /etc/network/interfaces /etc/hosts /etc/resolv.conf
挂载点 需要查询一下
记录关键信息
存储类型(LVM/ZFS/EXT4)、卷组名 / 池名、挂载点
网络配置(IP、网关、DNS)、硬件直通设置
虚拟机 ID、名称、硬件配置
挂载原有数据盘
识别数据盘:fdisk -l或lsblk
挂载 EXT4/XFS:
mkdir /mnt/sda1 # 假设数据盘为sda1
mount -t ext4 /dev/sda1 /mnt/sda1
激活 LVM 卷组:
vgscan # 扫描卷组
vgchange -ay old_vg # 激活卷组(old_vg为原卷组名) 这里的 pve 就是你的原卷组名,而不是示例里的old_vg。
lvscan # 查看逻辑卷
mount /dev/old_vg/vm-100-disk-0 /mnt/old-vm # 挂载虚拟机磁盘
导入 ZFS 存储池:
zpoolimport# 列出可导入的池zpoolimport-f-mdata# 导入名为data的池(-f强制,-m挂载)
恢复虚拟机配置与数据
复制原配置文件:
运行
cp/mnt/old-data/etc/pve/qemu-server/100.conf /etc/pve/qemu-server/
重新添加存储:Web UI→数据中心→存储→添加→选择对应存储类型(LVM/ZFS/ 目录),指向挂载点
刷新虚拟机:
bash
运行
qm disk rescan# 扫描磁盘,虚拟机应自动显示
若未显示:创建相同 VM ID 的空虚拟机,然后重新扫描或手动添加磁盘
通过备份文件恢复 PVE 容器(数据存于独立数据盘)完整指南
一、重装 PVE 系统(关键前提)
- 安装介质:使用与原系统版本一致或兼容的 PVE ISO。
- 磁盘选择:仅选择系统盘进行安装,绝对不要格式化独立数据盘。
- 网络配置:重装时设置与原系统相同的 IP、网关、主机名,避免后续网络与集群问题。
- 完成安装:重启后,确保 PVE 能正常启动,Web UI 可访问。
二、恢复 PVE 核心配置
1. 上传备份文件
# 上传配置备份到 /root 目录
scp pve_config_20260211.tar.gz root@新PVE_IP:/root/
# 上传容器备份到默认备份目录 这个我没有
scp vzdump-lxc-200-2026_02_11.tar.zst root@新PVE_IP:/var/lib/vz/dump/
2. 恢复系统配置
# 解压配置备份到根目录,还原 /etc/pve 等关键配置
tar -xzvf /root/pve_config_20260211.tar.gz -C /
# 重启集群服务使配置生效
systemctl restart pve-cluster pvedaemon pveproxy
验证:执行ls /etc/pve/lxc/,应能看到原容器的.conf配置文件(如200.conf)。
三、激活并挂载独立数据盘存储
根据你的数据盘存储类型(LVM/ZFS/ 目录),执行对应操作:
情况 :数据盘为普通目录(EXT4/XFS)
-
挂载数据盘:
# 查看数据盘设备名(如 /dev/sdb1) lsblk # 创建挂载点 mkdir -p /mnt/pve-data # 挂载 mount /dev/sdb1 /mnt/pve-data # 写入 fstab 确保开机自动挂载 echo '/dev/sdb1 /mnt/pve-data ext4 defaults 0 0' >> /etc/fstab
- 在 PVE 中添加目录存储:
-
Web UI:数据中心 → 存储 → 添加 → 目录 → 路径填写/mnt/pve-data,ID 与原存储名一致。
这个ID 可以在 conf中查到

-
关键:存储 ID 必须与原系统一致,否则容器配置文件中的磁盘路径会失效。
![]()
四、恢复容器
将旧 PVE 8.1 的/etc/pve/qemu-server/下的.conf文件(如100.conf、101.conf)复制到新 PVE 9.1 的对应目录
位置:
pve_config_20260211new\etc\pve\nodes\pve\qemu-server
| 不兼容参数(8.1) | 适配为(9.1) | 说明 |
|---|---|---|
| cpu: host | cpu: x86-64-v2-AES或保留host | PVE9.1 对 CPU 类型校验更严格,host需确保宿主机 CPU 支持,否则改为通用类型 |
| machine: pc-i440fx-7.1 | machine: pc-i440fx-8.0或q35-8.0 | QEMU 版本升级,机器类型需匹配 9.1 的 QEMU 版本 |
| net0: virtio=XX:XX:XX,bridge=vmbr0 | 保留,但检查bridge=vmbr0是否存在 | PVE9.1 的网桥名称若变化需同步修改 |
| bios: seabios | 保留(兼容),若需 UEFI 需重新配置 OVMF | 无强制修改,但 UEFI 虚拟机需确保 OVMF 文件存在 |
四:扫描磁盘并启动虚拟机
# 1. 扫描存储中的虚拟机磁盘 qm disk rescan
# 1. 扫描存储中的虚拟机磁盘 qm disk rescan
五、恢复后验证与优化
-
容器内部验证:bash运行
# 进入容器 pct enter 200 # 检查数据完整性 ls /data # 查看业务数据目录 # 测试服务 systemctl status nginx # 示例:检查 Web 服务
-
网络与权限检查:
- 确认容器 IP、端口映射与原系统一致。
- 检查挂载点权限(如/data目录的属主 / 权限)。
-
优化设置:
- 重新配置定时备份任务(计划任务 → 添加任务 → 备份容器)。
- 验证硬件直通(如 GPU、PCI 设备)是否正常。
六、常见问题排查
-
容器启动失败:
- 检查/etc/pve/lxc/200.conf中的磁盘路径是否与存储名匹配。
- 执行pct start 200 --debug查看详细错误日志。
-
存储未识别:
- 确认卷组 / 池已激活(vgs/zpool list)。
- 检查 PVE 存储配置(/etc/pve/storage.cfg)是否正确。
-
数据丢失:
- 若从备份恢复,确认备份文件未损坏(tar -tzf 备份文件查看内容)。
- 若直接挂载数据盘,检查磁盘是否有坏道(smartctl -H /dev/sdb)。