有一台主机,安装了 Proxmox 来跑几个虚拟机,文件系统选择的是 ZFS ,仅有一块 NVMe 硬盘。一周之前发生了一次无法启动的问题,具体错误显示为 rpool (也就是根目录的 pool )有太多的文件错误无法挂载。我一开始怀疑是硬盘的问题,就换上了另外一块硬盘,但是 12 小时以后又出现了文件错误,主要是发生在 log 文件内。可以理解因为 log 文件变动更加频繁。请问还有别可能原因么?
root@pve:~# zpool status -v pool: rpool state: DEGRADED status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: https://openzfs.github.io/openzfs-docs/msg/ZFS-8000-8A scan: scrub repaired 0B in 00:00:23 with 94 errors on Wed Sep 21 10:36:12 2022 config: NAME STATE READ WRITE CKSUM rpool DEGRADED 0 0 0 nvme-eui.002538b6115042e7-part3 DEGRADED 0 0 321 too many errors
![]() | 1 ryd994 2022-09-22 04:03:48 +08:00 via Android 比较可能是内存有问题 所以 zfs 特别推荐 ecc 内存。否则每次 resilver 都会损坏数据 |
![]() | 2 eason1874 2022-09-22 04:23:16 +08:00 我也觉得可能是内存问题,PVE 官网建议使用至少 8GB 的高质量 ECC 内存 我经常手动清理内存,所以我不敢用 ZFS |
3 ruidoBlanco 2022-09-22 06:12:42 +08:00 单盘又没有 ECC 内存就别为了「体验一下」而使用 zfs 。单盘性能不好不说,还容易各种出错。 zfs 是好,但是单盘绝对不是适合使用它的时候。 |
![]() | 4 dangyuluo OP @ryd994 @eason1874 用的是 32G 的非 ECC 内存 @ruidoBlanco 不是为了体验,而是要对 Proxmox 系统做比较大的改动,万一搞坏了用 ZFS 的快照功能很方便。如果再加一块硬盘组 RAIDZ1 会不会消除非 ECC 内存的影响? |
![]() | 5 dangyuluo OP @ruidoBlanco 我猜还是会发生类似的错误 |
![]() | 6 dangyuluo OP 奇怪了,发我的 pfSense 路由器也是 zfs ,好好运行了十几个月了也没有一个 checksum error ,同样也不是 ECC 内存 |
7 ruidoBlanco 2022-09-22 09:09:59 +08:00 @dangyuluo 猜的就是猜的。为什么我说 zfs 单盘+非 ECC 容易出错?为什么我不喜欢用 xfs 、reiserfs 、jfs 之类?这些都是我以前踩过的坑。 zfs 单盘运行十几个月没问题,是的,还没有,突然断电一次,以后麻烦就不断。 LVM thin + ext4 稳如狗,性能也强过单盘 zfs ,快照也没问题。 |