V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
dangyuluo
V2EX  ›  ZFS

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

  •  
  •   dangyuluo · Sep 22, 2022 · 2574 views
    This topic created in 1327 days ago, the information mentioned may be changed or developed.

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

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

    zfs 是好,但是单盘绝对不是适合使用它的时候。
    dangyuluo
        4
    dangyuluo  
    OP
       Sep 22, 2022
    @ryd994
    @eason1874
    用的是 32G 的非 ECC 内存


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

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

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

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

    memtest 查不出来的内存问题也有可能。那就替换法一个个查,和另一台机器交换硬件。
    dangyuluo
        9
    dangyuluo  
    OP
       Sep 23, 2022
    @ryd994 用 Proxmox 自带的内存暴力测试跑了一个小时,全部通过。我昨天也意识到了 M.2 插槽确实有可能是原因,之前的 NVMe 硬盘插到了 M2P 插槽上,直接接到南桥上的,同时南桥也负责其他周边设备,比如一条 PCIe 3.0 Bus ,我把这条 PCIe BUS 直通给一台虚拟机了,不知道会不会是造成了干扰。今天把 NVMe 换到 M2A 接口上,12 小时后暂未发现错误。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   6186 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 02:37 · PVG 10:37 · LAX 19:37 · JFK 22:37
    ♥ Do have faith in what you're doing.