PVE 系统崩溃重装 ZFS阵列挂载

玩机教程 > Proxmox VE/PVE (32) 2025-10-10 14:10:59

1.模拟PVE系统挂了

替换已有系统PVE盘(PVE单独盘安装,去掉系统盘,则PVE没了)

2.安装PVE

重新安装PVE系统,操作参考 VMware 安装PVE/Proxmox

PVE 系统重装 ZFS阵列挂载_图示-222c625952fe405f9c5f98d21a3781a4.png

重要提醒:

安装PVE磁盘一定要选择刚插入的新硬盘

PVE 系统重装 ZFS阵列挂载_图示-9ea5bced8c6f4ccda78c803544642ffe.png

3.挂载ZFS存储阵列池

重装PVE后信息查看

新装PVE后可以看到ZFS下面是没有存储阵列池的

PVE 系统重装 ZFS阵列挂载_图示-fd1a3133e73c4fcfb13901f0cc877686.png

同时在磁盘下可以看到三个阵列硬盘和分区都还在

PVE 系统重装 ZFS阵列挂载_图示-44586af4e7794b2d9d14b4d297711e28.png

 

扫描并查看可用的 ZFS 存储池

切换到shell命令

zpool import
PVE 系统重装 ZFS阵列挂载_图示-68b5de78839f45c7ba2ca1d77ca82445.png

执行后可以看到有一个可以导入的阵列,名称为:r5,id为:8378060703946153175

导入 ZFS 存储池

根据上一步的输出,使用池名或 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
PVE 系统重装 ZFS阵列挂载_图示-474c890c283d4a40b463f24bf597e988.png

导入ZFS磁盘阵列存储池搞定

挂载点查看

PVE 系统重装 ZFS阵列挂载_图示-76b93025a35345109102496fb314d13a.png

ZFS 会自动挂载之前配置的文件系统(dataset),挂载点通常在 /r5或 /var/lib/vz 等位置。

在 PVE Web 界面中添加存储

登录 PVE Web 管理界面(https://<pve-ip>:8006):

  1. 进入 数据中心 → 存储。
  2. 点击 添加 → ZFS。
  3. 在下拉菜单中选择你刚刚导入的 ZFS 存储池(如 tank)。
  4. 填写存储 ID(如 local-zfs),并根据需要启用内容类型(如 disk images, containers, ISO images 等)。
  5. 点击 添加。

此时,你的 ZFS 存储池就会出现在 PVE 的存储列表中,你可以正常使用它来创建虚拟机、容器或上传 ISO。

PVE 系统重装 ZFS阵列挂载_图示-b4d287e4e79a4278b6c1a21a2ef5b44c.png

 

PVE 系统重装 ZFS阵列挂载_图示-3fc34211556041dfbc6b9e3e2a36cc97.png
PVE 系统重装 ZFS阵列挂载_图示-09e3c29d3fc24a37adf52c9c455d60e9.png

 

4.恢复磁盘上虚拟机

4.1 恢复流程概览

  1. 确认数据完整:检查 ZFS 上的虚拟机磁盘文件是否存在。
  2. 恢复配置文件:从备份或手动重建 .conf 文件。
  3. 重新注册虚拟机:让 PVE 识别并管理这些 VM/CT。
  4. 验证并启动。

4.2 确认虚拟磁盘文件存在

image

4.3 恢复虚拟机配置文件(.conf)

方法 1:手动重建 .conf 文件(无备份时)

如果没有备份,你需要手动创建 .conf 文件。这是最繁琐但可行的方式。

示例:重建一个 VM 的 .conf 文件

假设你要恢复 VMID 为 100 的虚拟机,原配置为:

  • 2 vCPU
  • 4GB 内存
  • 使用 ZFS 存储上的磁盘
  • 网卡为 virtio

创建配置文件:

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

📌 关键参数说明:

  • virtio0: <storage-id>:vm-<VMID>-disk-0,size=<size>:storage-id 是你在 PVE 中添加的 ZFS 存储名称(如:r5)。
  • size 参数可以略大于实际磁盘,PVE 会自动读取真实大小。
  • 如果你不确定原配置,可以先创建一个临时 VM,参考其 .conf 文件结构。

💡 提示:你可以使用 qm config 100 查看现有 VM 的配置模板。

 

方法 2:从备份恢复(推荐)

如果你有以下任一备份,直接恢复即可:

  • PVE 配置备份(.tar.zst 文件,可通过 Web 界面或 vzdump 创建)
  • /etc/pve/ 目录的完整备份
  • 使用 pve-export 导出的配置

恢复命令示例:

# 假设你有一个备份文件 backup.tar.zst
tar -xf backup.tar.zst -C /etc/pve/

然后重启 PVE 服务:

systemctl restart pvedaemon pveproxy

刷新 Web 界面,虚拟机应已出现。

 

4.4 重新注册虚拟机(可选)

创建好 .conf 文件后,PVE 通常会自动识别。

如果没有,可以手动触发:

# 重新扫描存储(可选)
pvesm scan

# 重启 PVE 守护进程
systemctl restart pvedaemon

然后刷新 Web 界面(https://<pve-ip>:8006),你应该能看到虚拟机出现在列表中。

PVE 系统重装 ZFS阵列挂载_图示-67bb8cc2138849ce87f37aa9e4496b59.png

 

验证并启动虚拟机

修改选项里面的引导为刚才导入的磁盘

PVE 系统重装 ZFS阵列挂载_图示-5d15917273794f98a82c23a639e8d31e.png
PVE 系统重装 ZFS阵列挂载_图示-9e52b175ba644178aff12cb1dd6403a7.png

 

开机

PVE 系统重装 ZFS阵列挂载_图示-98801385c61446c5beb7bc98f4f3bd58.png

验证虚拟机里面数据

PVE 系统重装 ZFS阵列挂载_图示-b19c795675174587b172f73e28c0f260.png

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
1.模拟PVE系统挂了替换已有系统PVE盘(PVE单独盘安装,去掉系统盘,则PVE没了)2.安装PVE重新安装PVE系统,操作参考 VMware 安装PVE/P
概述pve自身是没有提供直接创建raid整列的方式,是通过ZFS来实现的raid0/raid5/raid6/raid1 PVE通过ZFS创建磁盘阵列
1.添加硬盘添加3块级以上大小相同的硬盘 2.创建ZFS RAIDZPVE没有自带RAID实现,但是通过ZFS整列可以实现类似RAID5效果。 选pve-&gtl;磁盘
not a valid block device/错误很多人觉得 PVE 复杂的原因主要就是因为 PVE 有很多操作需要用命令去完成,就比如上面这个删除失效存储
1.模拟磁盘故障接着上一篇《》,将安装完成的raidz其中一块硬盘去掉去掉一块硬盘发现健康状态已经变为DEGRADED了,并且提示了其中一块硬盘UNAVAIL虽
Linux系统分区Linux系统挂载硬盘Linux系统Linux系统增加交换分区swap1.分区介绍 Linux系统分区不同于windows,Linux下[IE
概述模拟pve系统盘挂了,恢复数据盘环境说明pve 版本8.4.1测试环境为VMware虚拟机内部虚拟机配置:CPU 4核内存 8GB硬盘1:100G (系统盘
PVE 添加新硬盘-PVE将新硬盘添加为存储首先登录pve控制台,选中pve设备下面的磁盘磁盘查看磁盘点击后可以在右侧看到目前链接刀pve的硬盘数量。
前言这里扩容的情况分为两种第一是:PVE系统之前安装到U盘,后面想安装到硬盘通过克隆将U盘上面的信息克隆到了硬盘,这导致硬盘大于U盘外的容量无法使用
1.重启pve连接pve主机键盘和显示器 2.进入PVE GRUB界面 3.编辑启动项选择GRUB的第一个,一般默认就是第一个。按键盘的E进入编辑界面,调整光标
显示参考参考1参考1其中nvme就是nvme硬盘温度环境准备已经安装好的pve7.x (博主具体版本为7.2.7实战|最新实测7.3.3支持)改变界面的脚本pve-detai.sh (访问密码:...
PVE 7显示CPU温度工具准备xshell 或者其他ssh工具xftp 或者其他ftp工具notepad++或者其他文本编辑工具 需要修改以下两个文件/usr/share/pve-manage...
pve升级9 sr-iov GG了参考前一篇文章PVE8升级到PVE9-XQLEE'Blog正常升级后,重启开机pve发现igpu拆分无法识别了。资源映射全红,
概述PVE 有两个存储 A / B将硬盘存放于A的虚拟机磁盘移动到B存储。 移动虚拟机硬盘1.关闭虚拟机2.选择需要移动的硬盘
PVE 7.x更换国内源备份之前的cp /etc/apt/sources.list.d/pve-install-repo.list /root删除企业源rm /etc/apt/sources.l...