V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
dangyuluo
V2EX  ›  ZFS

ZFS 文件系统下总是会出现 Permanent errors

  •  
  •   dangyuluo · 2022-09-22 01:41:38 +08:00 · 1513 次点击
    这是一个创建于 790 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有一台主机,安装了 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
    
    9 条回复    2022-09-23 00:59:56 +08:00
    ryd994
        1
    ryd994  
       2022-09-22 04:03:48 +08:00 via Android
    比较可能是内存有问题
    所以 zfs 特别推荐 ecc 内存。否则每次 resilver 都会损坏数据
    eason1874
        2
    eason1874  
       2022-09-22 04:23:16 +08:00
    我也觉得可能是内存问题,PVE 官网建议使用至少 8GB 的高质量 ECC 内存

    我经常手动清理内存,所以我不敢用 ZFS
    ruidoBlanco
        3
    ruidoBlanco  
       2022-09-22 06:12:42 +08:00
    单盘又没有 ECC 内存就别为了「体验一下」而使用 zfs 。单盘性能不好不说,还容易各种出错。

    zfs 是好,但是单盘绝对不是适合使用它的时候。
    dangyuluo
        4
    dangyuluo  
    OP
       2022-09-22 07:30:00 +08:00
    @ryd994
    @eason1874
    用的是 32G 的非 ECC 内存


    @ruidoBlanco 不是为了体验,而是要对 Proxmox 系统做比较大的改动,万一搞坏了用 ZFS 的快照功能很方便。如果再加一块硬盘组 RAIDZ1 会不会消除非 ECC 内存的影响?
    dangyuluo
        5
    dangyuluo  
    OP
       2022-09-22 07:36:30 +08:00
    @ruidoBlanco 我猜还是会发生类似的错误
    dangyuluo
        6
    dangyuluo  
    OP
       2022-09-22 08:25:53 +08:00
    奇怪了,发现我的 pfSense 路由器也是 zfs ,好好运行了十几个月了也没有一个 checksum error ,同样也不是 ECC 内存
    ruidoBlanco
        7
    ruidoBlanco  
       2022-09-22 09:09:59 +08:00
    @dangyuluo 猜的就是猜的。为什么我说 zfs 单盘+非 ECC 容易出错?为什么我不喜欢用 xfs 、reiserfs 、jfs 之类?这些都是我以前踩过的坑。

    zfs 单盘运行十几个月没问题,是的,还没有,突然断电一次,以后麻烦就不断。

    LVM thin + ext4 稳如狗,性能也强过单盘 zfs ,快照也没问题。
    ryd994
        8
    ryd994  
       2022-09-22 17:21:55 +08:00 via Android
    @dangyuluo 既然有可能是内存问题,就 memtest 跑一晚上看看。或者只留最低限度的内存试试。

    如果 memtest 没问题,那再考虑 pcie 槽的问题。

    memtest 查不出来的内存问题也有可能。那就替换法一个个查,和另一台机器交换硬件。
    dangyuluo
        9
    dangyuluo  
    OP
       2022-09-23 00:59:56 +08:00
    @ryd994 用 Proxmox 自带的内存暴力测试跑了一个小时,全部通过。我昨天也意识到了 M.2 插槽确实有可能是原因,之前的 NVMe 硬盘插到了 M2P 插槽上,直接接到南桥上的,同时南桥也负责其他周边设备,比如一条 PCIe 3.0 Bus ,我把这条 PCIe BUS 直通给一台虚拟机了,不知道会不会是造成了干扰。今天把 NVMe 换到 M2A 接口上,12 小时后暂未发现错误。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1187 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 19ms · UTC 23:19 · PVG 07:19 · LAX 15:19 · JFK 18:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.