zpool status 会误报损坏文件? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
pikashi
V2EX    Linux

zpool status 会误报损坏文件?

 
  •   pikashi 2024-07-23 10:13:02 +08:00 via Android 2785 次点击
    这是一个创建于 513 天前的主题,其中的信息可能已经有所发展或是发生改变。

    话说 zpool status -v 会误报文件损坏吗?

    系统是最新的 TrueNAS Scale 稳定版 Dragonfish

    zpool 扫描后报错,我把里面报告的损坏文件用 sz 下载下来,和本地 Windows 上的副本一对比,winmerge 和 totalcmd 对比功能都报告两个文件一模一样。

    本地的是刚用 bt 下载的,hash 校检过的所以应该是完好的。

    可能是内存问题?

    29 条回复    2024-08-22 12:03:41 +08:00
    pikashi
        1
    pikashi  
    OP
       2024-07-23 10:24:30 +08:00 via Android
    补充:报告错误的文件列表连续试了两个文件,和本地 PC 文件对比都是一模一样完好的
    laminux29
        2
    laminux29  
       2024-07-23 10:55:35 +08:00
    1.ZFS 是 Sun 公司开发的商业 FS ,TrueNAS 以及各种 Linux 发行版用的是其开源版本 OpenZFS ,两者不一样。

    2.OpenZFS 就是有你说的这个问题,我自己按照完整的 OpenZFS 分层存储,包括 RaidZ2 的 HDD 、热备盘、Cache 盘、Write Log Zil Mirror ,都部署了,跑了半个月就是各种校验和错误。我深刻怀疑是 Bug 或者是开发者故意的。

    3.建议有条件还是上分布式存储吧,毕竟 ZFS 是单机,存在单点问题,不适合生产。
    xuan_lengyue
        3
    xuan_lengyue  
       2024-07-23 11:44:29 +08:00
    @laminux29 是不是 SATA/SAS 控制器报的校验错误,检查连线和 EMI
    yb8Qes1Qae01H0xy
        4
    yb8Qes1Qae01H0xy  
       2024-07-23 11:54:08 +08:00
    @laminux29 truenas 的 zfs 还比较稳定,你用的什么版本?
    pagxir
        5
    pagxir  
       2024-07-23 12:48:10 +08:00 via Android
    基本上是硬件问题,除非是 zfs 版本比较老。zfs 对数据完整性比较严格,校验不对就报错。跟 btrfs 这种不太关注完整性的区别是,zfs 的话硬件有问题在文件系统层面就暴露出来了,而 btrfs 则到应用层才会反应出来。
    Pteromyini
        6
    Pteromyini  
       2024-07-23 13:24:52 +08:00
    zfs 很敏感,有一点点异常都会给你反馈出来,跟上面回复不同的是,目前 zfs 在生产环境应用很广泛,错误敏感是原因之一
    xustrive
        7
    xustrive  
       2024-07-23 13:52:32 +08:00
    @laminux29 #2 目前已知开源可以作为高可用的存储是 CEPH 还有没有其他推荐。 或者可以做双机热备的存储也可以。
    wwd179
        8
    wwd179  
       2024-07-23 16:11:38 +08:00
    我直接用 debian+openzfs 。跑 pt 。syncthing 文件同步。稳定运行了一年了,开启每周 scrub ,目前没啥问题。
    hefish
        9
    hefish  
       2024-07-23 19:59:09 +08:00
    我发现 zfs 在硬盘超过 10 多块的时候,在大量小文件读写的时候,挺容易挂起的。 两台服务器,都是 14 个盘做的 zfs , 都有这种情况。 跑的 debian + openzfs 。
    以前曾在 freebsd 上跑过十来个盘的 zfs ,没碰到类似问题。
    laminux29
        10
    laminux29  
       2024-07-23 22:06:56 +08:00
    @xuan_lengyue 不是控制器错误,12 个盘,一半有报错。盘与线在上线前都经过了测试。
    laminux29
        11
    laminux29  
       2024-07-23 22:08:35 +08:00
    @xinmans 没注意版本号,是 debian-12-5-0 使用 apt 安装的默认版本。
    laminux29
        12
    laminux29  
       2024-07-23 22:09:00 +08:00
    @xustrive google 用英文关键字搜 分布式存储。
    laminux29
        13
    laminux29  
       2024-07-23 22:09:37 +08:00
    @Pteromyini

    ZFS 是单机模式,存在单点问题,生产谁用 ZFS 是纯纯的有病。
    pikashi
        14
    pikashi  
    OP
       2024-07-23 23:16:53 +08:00 via Android
    @xuan_lengyue 想试试从 EMI 角度入手,如果在 SATA 线外面贴铜箔胶布能起到抗干扰效果吗?
    https://mobile.yangkeduo.com/goods.html?ps=KaXnhPxTRU
    bluaze
        15
    bluaze  
       2024-07-24 17:13:30 +08:00
    zfs 是自愈合的,如果你的 pool 是有冗余的,那么 zfs 在探测到数据损坏的时候就会即时修复
    xuan_lengyue
        16
    xuan_lengyue  
       2024-07-25 13:55:33 +08:00
    @pikashi 照理 SATA 线本身应该就有相应屏蔽之类,换根线试试?
    pikashi
        17
    pikashi  
    OP
       2024-07-25 20:33:37 +08:00 via Android
    @xuan_lengyue 我的是那种圆形很细的 SATA 线,有没有屏蔽还真不好说
    woyaojizhu8
        18
    woyaojizhu8  
       2024-07-26 21:41:13 +08:00
    @pagxir btrfs 不太关注完整性? btrfs 不是跟 zfs 一样可以有数据校验吗?能不能说说它不太关注完整性的具体表现?
    woyaojizhu8
        19
    woyaojizhu8  
       2024-07-26 21:43:34 +08:00
    @pikashi 那就换正常的 sata 线
    taoky
        20
    taoky  
       2024-08-11 20:13:11 +08:00
    @laminux29 不开玩笑,「跑了半个月就是各种校验和错误」的话,建议跑一下 memtest 。我接触过多个跑了几年的 OpenZFS 阵列从来没遇到过 checksum 报错,如果 checksum 频繁出错的话,几乎可以确定是硬件问题。
    laminux29
        21
    laminux29  
       2024-08-11 23:02:12 +08:00
    @taoky

    上线前不仅内存跑了 memtest ,每个存储介质在上线前还做了三检:寿命检查、全盘坏道检查、性能检查。

    我是在 Debian 上 apt 安装的 OpenZFS ,好几个用 debian 的朋友都遇到这种情况,有人建议在 FreeBSD 上试试,说 OpenZFS 是原生于 FressBSD 的。/div>
    taoky
        22
    taoky  
       2024-08-11 23:41:34 +08:00
    @laminux29 Debian 的话建议从 backports 装 ZFS 。之前遇到过 Debian stable 的 ZFS 会让 kernel oops ,backports 就没问题的情况。
    Emiya1208
        23
    Emiya1208  
       2024-08-19 18:45:15 +08:00
    @laminux29 我就是你说的有病的。
    1. 首先使用 ZFS 应该搭配 ECC 并且监控 ECC 内存。
    2. 应该使用 UPS 。
    3. 如果有任何报错,至少应该有日志。

    至少我的 10 盘 RAIDZ3 存在了 5 年没有遇到过非预期以外的故障(硬件 内存等等的损坏以外的数据故障才叫非预期的)
    Emiya1208
        24
    Emiya1208  
       2024-08-19 18:46:02 +08:00
    @pikashi 应该有日志,没有提供任何日志是无法分析的。
    laminux29
        25
    laminux29  
       2024-08-20 00:28:31 +08:00
    @Emiya1208 我在前面说了,ZFS 存在单点问题。你应该很幸运,5 年来,主板、内存、CPU 、电源、软件等,没出现过故障。如果你是我的员工,你用单机 ZFS 做生产环境,我知道了肯定会批评你的。
    Emiya1208
        26
    Emiya1208  
       2024-08-20 10:36:26 +08:00
    @laminux29 你可能没看仔细。我出现了很多硬件故障,我说的是没有预期以外的故障,我的内存 电源 硬盘都出现过故障。

    在如今,由于固态硬盘的大量使用,比特反转的存在导致硬 RAID 并不能发现,在对硬件做好监控的情况下,ZFS 实际上比硬 RAID 可靠。

    回到你说的最关键的,你说单点故障,任何系统都不能避免单点故障,备份是必须的。Ceph 在扩容和平衡方面的问题更大,更不是什么高枕无忧的东西。哪怕是商业的 netapp 这类产品,没有备份也是不行的。
    Emiya1208
        27
    Emiya1208  
       2024-08-20 13:07:33 +08:00
    @laminux29 此外。你后面「如果,批评」这段就像是我在 2018 的领导,批评我在 ubuntu 上运行 Kubernetes 而不是在 CentOS 6 上面一样。

    非常抱歉,我说的非常不客气,但是事实就是某些刻舟求剑的老人要么应该退居二线,要么应该说服的有理有据,要么应该被时代淘汰。

    这也非常像尤其是第三世界国家的技术人员非常热衷的 CentOS ,祝愿他们在使用 CentOS Stream 9 的路上越走越远。
    laminux29
        28
    laminux29  
       2024-08-20 19:35:28 +08:00
    @Emiya1208

    看来,你还没反省,还不知道你的问题。

    我批评你,是因为你把 ZFS 这种单机系统,在生产环境里使用,这是大忌,并且你自己也说了,内存出现过故障,当时处理这个问题,停机了多久?

    CephFS 虽然有各种功能缺陷,但人家不存在单点问题。你觉得它扩容与平衡存在问题,那些都是可以通过架构与算法进行改进的,不至于导致整个系统停摆。

    无论是我,还是你的领导,批评你,你觉得不对,是因为你的层次,还没到达我和你的领导的层面。

    好好反省下吧。
    wangdk23411
        29
    wangdk23411  
       2024-08-22 12:03:41 +08:00   1
    我有点看的云里雾里,纯探讨啊,生产环境也要分的吧,类云部署、私有化部署、分布式部署应该还都是有区别的吧
    ceph 也不是万能的,开玩笑的说,ceph 对资源的需求就像是无底洞,对存储性能有要求上 ceph 就是找罪受啊
    另外,ceph 也是可以 zfs volume 的
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4478 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 01:07 PVG 09:07 LAX 17:07 JFK 20:07
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86