替换已有系统PVE盘(PVE单独盘安装,去掉系统盘,则PVE没了)
重新安装PVE系统,操作参考 VMware 安装PVE/Proxmox
重要提醒:
安装PVE磁盘一定要选择刚插入的新硬盘
新装PVE后可以看到ZFS下面是没有存储阵列池的
同时在磁盘下可以看到三个阵列硬盘和分区都还在
切换到shell命令
zpool import
执行后可以看到有一个可以导入的阵列,名称为:r5,id为:8378060703946153175
根据上一步的输出,使用池名或 ID 导入:
zpool import r5
执行可能报错:
cannot import 'r5': pool was previously in use from another system.
Last accessed by pve (hostid=87f5c968) at Fri Oct 10 11:40:58 2025
The pool can be imported, use 'zpool import -f' to import the pool.
问题不大,这里提示该存储池已经被其他系统使用。强行导入即可
zpool import -f r5
导入ZFS磁盘阵列存储池搞定
ZFS 会自动挂载之前配置的文件系统(dataset),挂载点通常在 /r5或 /var/lib/vz 等位置。
登录 PVE Web 管理界面(https://<pve-ip>:8006
):
此时,你的 ZFS 存储池就会出现在 PVE 的存储列表中,你可以正常使用它来创建虚拟机、容器或上传 ISO。
如果没有备份,你需要手动创建 .conf 文件。这是最繁琐但可行的方式。
假设你要恢复 VMID 为 100 的虚拟机,原配置为:
创建配置文件:
nano /etc/pve/qemu-server/100.conf
写入以下内容(根据实际情况调整):
# 虚拟机 100 配置文件
cores: 2
memory: 4096
name: my-vm-100
onboot: 1
ostype: l26
sockets: 1
# 磁盘配置(ZFS 原生)
virtio0: r5:vm-100-disk-0,size=32G
# 或者如果使用的是 qcow2 文件(存储类型为 Directory)
# ide0: local:100/vm-100-disk-0.qcow2,size=32GG
# 网卡
net0: virtio=AA:BB:CC:DD:EE:FF,bridge=vmbr0
# BIOS 类型(可选)
bios: seabios
📌 关键参数说明:
💡 提示:你可以使用 qm config 100 查看现有 VM 的配置模板。
如果你有以下任一备份,直接恢复即可:
恢复命令示例:
# 假设你有一个备份文件 backup.tar.zst
tar -xf backup.tar.zst -C /etc/pve/
然后重启 PVE 服务:
systemctl restart pvedaemon pveproxy
刷新 Web 界面,虚拟机应已出现。
创建好 .conf
文件后,PVE 通常会自动识别。
如果没有,可以手动触发:
# 重新扫描存储(可选)
pvesm scan
# 重启 PVE 守护进程
systemctl restart pvedaemon
然后刷新 Web 界面(https://<pve-ip>:8006
),你应该能看到虚拟机出现在列表中。
修改选项里面的引导为刚才导入的磁盘
开机
验证虚拟机里面数据
https://blog.xqlee.com/article/2510101223276865.html