V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要把任何和邀请码有关的内容发到 NAS 节点。

邀请码相关的内容请使用 /go/in 节点。

如果没有发送到 /go/in,那么会被移动到 /go/pointless 同时账号会被降权。如果持续触发这样的移动,会导致账号被禁用。
0x663
V2EX  ›  NAS

消费级非 ecc 内存使用 zfs 文件系统需要定时重启吗

  •  
  •   0x663 · 21 小时 43 分钟前 via Android · 937 次点击
    1
    12 条回复    2025-04-19 18:17:56 +08:00
    Devifish
        1
    Devifish  
       20 小时 0 分钟前
    不用去重功能基本不影响。 除非你一个月一直没读写,ARC 缓存不更新导致比特翻转可能发生, 从而读取异常数据
    kk2syc
        2
    kk2syc  
       19 小时 58 分钟前
    2 周重启一次比较稳妥
    bao3
        3
    bao3  
       19 小时 25 分钟前
    如一楼所说,dup 不开,你这一生估计都不会用到 ecc ,不要焦虑。
    我的 zfs 跑一年都重启不到一次,既然是 NAS 肯定会不停读写,下几个电影,这时候你的内存的缓存区会不断被汰换,所以里面的数据出错的概率极低;如果你的内存中会有大量驻留数据,这时候你才会要考虑重启。
    之所以说 dup 不开就不要紧,因为 dup 需要做前后比对,所以只有占用内存,而且是长期占用。这时候你就要重启了。
    busier
        4
    busier  
       12 小时 58 分钟前
    @kk2syc 如果内存运行 2 周就因为没有 ECC 而出错,那么这个内存基本可以说报废了!
    totoro625
        5
    totoro625  
       12 小时 33 分钟前
    raidz2 ,非 ecc ,上次重启是 70 天前 /t/979429
    个人用途随便重启无所谓的,我习惯人在机器旁边手动重启,因为曾经 apt upgrade 升级了 zfs 版本导致 pve reboot 挂了

    PS:如果你用的是 DDR5 消费级内存不管商家是否标注 ECC ,不建议搭配 ZFS 使用,极其容易嗝屁
    因为 DDR5 本身特性就是数据存储非常不稳定,黑心商家标注的 ECC 不是你认为的那个 ECC
    0x663
        6
    0x663  
    OP
       10 小时 59 分钟前
    @bao3 @totoro625 @Devifish @kk2syc @busier
    感谢各位的回复。
    @totoro625 ddr4 消费级内存
    @bao3 @Devifish 明白了,我应该是用不到这个功能。
    dilidilid
        7
    dilidilid  
       9 小时 9 分钟前 via iPhone
    不需要,你的手机、笔记本、台式机也没哪个是 ecc 的,而且内存压力和频率都比家用 nas 大多了,如果内存这么脆弱你的终端设备应该不断的在写入错误数据而且每天都在死机重启。第一步需要把他们全换成 ecc 设备
    dilidilid
        8
    dilidilid  
       9 小时 8 分钟前 via iPhone
    ecc 在服务器的价值是快速定位坏掉的内存,没有 ecc 根本没法确定上万台设备组成的集群里什么玩意儿坏了。家用的话……死机两次你自己跑个 memtest ,内存坏了直接全换掉完事
    Pteromyini
        9
    Pteromyini  
       7 小时 17 分钟前
    家用 zfs 是否需要使用 ecc 前几年在 truenas (以前是 freenas)那吵的火热,反正绝大多数的观点和论证都表明家用环境 ecc 意义不大...,认为需要的观点主要也集中在大规模存储上
    msg7086
        10
    msg7086  
       6 小时 44 分钟前
    ECC 和重启时间本身也没很大关系啊。
    laminux29
        11
    laminux29  
       2 小时 58 分钟前
    不用重启,因为重启并不会解决普通内存条的问题。但你要明白,当你选择非 ECC 内存,你就默认了上面的数据不重要。
    kuanat
        12
    kuanat  
       2 小时 56 分钟前
    假如你很关心 bit rot ,然而硬件上又没有 ecc 内存,还有一个替代方案。

    这个方案是利用 intel/amd cpu 自带的内存加密技术,intel 这边叫 Total Memory Encryption TME ,amd 叫作 Transparent Secure Memory Encryption TSME 。大概 intel 是在 11 代消费级 cpu 上开始支持,amd 大概 3000 系就有了,但是具体还要看主板 bios 是否有对应开启选项。

    这个功能的原理是 cpu 内部在每次启动后自动生成一个 aes 密钥,对内存数据进行透明加密,单个加密块的大小为 512bits/64Bytes 。

    当发生 bit rot 的时候,1 bit 的变化最多会造成 512bit 的数据变化,极大概率会造成 crash 或者用户可见的数据异常。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2667 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 13:13 · PVG 21:13 · LAX 06:13 · JFK 09:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.