V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
CitizenR
V2EX  ›  Linux

再次遭遇 BTRFS 文件系统损坏事件

  •  
  •   CitizenR · 2023-09-15 11:15:34 +08:00 · 5503 次点击
    这是一个创建于 420 天前的主题,其中的信息可能已经有所发展或是发生改变。

    主机系统Fedora 37,安装在一颗固态硬盘上。

    最近某日开机直接进GRUB命令行界面,使用 live 盘进去一看,只剩EFI分区,原BTRFS分区显示unlocated

    相较之下,另一台Fedora主机,使用XFS文件系统,稳定运行数年;一台Ubuntu主机,使用ext4+XFS文件系统,从2004一路升级至2304,也稳定运行数年。

    再早前另一台机器安装的Manjaro使用BTRFS也出现过开机系统直接没了的事情。

    两次独立的文件系统损坏事件想要再让人相信BTRFS稳定可靠已不可能了。

    大家可以分享一下Linux文件系统遭遇过的类似惨剧,如果有的话;或者,BTRFS文件系统稳定运行的个例。

    第 1 条附言  ·  2023-09-15 14:02:10 +08:00

    感谢各位回复。

    Linux系统给我的感觉整体是稳定可靠的,当然GUI除外,GNOME碰上大小问题数次,文件系统还真只有BTRFS遇到过问题。

    @longxk 三星SSD出问题的可能性也有,但是只坏BTRFS分区而存EFI分区概率较小。回头重新安装一下试试。

    @leonshaw 不知有尝鲜的同志使用过bcachefs没,我用过最新的文件系统f2fs,在树莓派SD卡上,与ext4用不出区别。

    不过话说回来,文件系统再稳健,重要资料进行有效备份才是靠谱做法。

    43 条回复    2023-09-18 14:33:34 +08:00
    python35
        1
    python35  
       2023-09-15 11:17:38 +08:00   ❤️ 2
    我的群晖瑟瑟发抖
    anytk
        2
    anytk  
       2023-09-15 11:28:40 +08:00
    btrfs + compress=zstd 跑了 3-4 年了,系统也迁移了几次换了盘,没啥问题
    anytk
        3
    anytk  
       2023-09-15 11:30:29 +08:00
    系统是 debian sid, 一直用最新内核,挂载参数 noatime,compress=zstd
    514146235
        4
    514146235  
       2023-09-15 12:17:28 +08:00   ❤️ 1
    应该是从 kernel 3.x 开始用 btrfs ,全部系统都是 btrfs ,有全 hdd 的,有全 ssd 的。经历过至少十几次的 device add, del ,没有出现过任何问题。几乎都是 7 * 24 小时运行,也没有 ups ,几年可能也会有一两次意外停电。

    包括冷备服务器也是 btrfs ,会开启 compress=zstd ,而且硬盘还是 smr ,除了性能差,稳定性没有问题。

    linux 版本主要是 archlinux ,内核 lts 滚动升级。
    Jirajine
        5
    Jirajine  
       2023-09-15 12:22:49 +08:00 via Android
    以前双系统被 btrfs for Windows 驱动弄坏过一次,不过数据都恢复出来了。
    leonshaw
        6
    leonshaw  
       2023-09-15 12:30:04 +08:00
    bcachefs 咋样了
    longxk
        7
    longxk  
       2023-09-15 12:35:47 +08:00
    这种情况有没有可能是 SSD 出问题了?
    毕竟群晖和 SUSE 都在线上大量使用 BTRFS 了,应该没那么不堪吧。
    libook
        8
    libook  
       2023-09-15 12:38:08 +08:00
    从 Debian11 推出就开始用 Btrfs 了,没有因为这个文件系统出过问题。

    最近一次 NAS 出问题是每天早上掉盘,但数据没坏,持续了大约半个月,一开始我还以为是文件系统问题,但跟文件系统开发者一起 debug 一阵之后没发现问题在哪,后续推测可能是硬件问题,换了新硬盘果然问题不再出现,可能本身就有质量缺陷用了 4 年就提前发作了(厂商检测后确认问题并给我换新了)。

    现在我用了不少 Btrfs 子卷快照增量备份方案对系统盘和重要数据进行备份,用 btrbk 脚本也挺稳的。
    pagxir
        9
    pagxir  
       2023-09-15 13:04:51 +08:00 via Android   ❤️ 1
    @514146235 只能说明你用的不够多,强度不够大。看这些年 btrfs 的 bug 列表就知道了。这东西能用也好用,但是说稳定我不同意
    flyqie
        10
    flyqie  
       2023-09-15 13:53:55 +08:00 via Android
    最稳的还是 ext4 。。
    willamtang
        11
    willamtang  
       2023-09-15 14:07:54 +08:00
    话说,我的程序员同事,用 Fedora ,开始用的 btrfs ,弄崩了,又用 xfs ,又崩了,最后换了 CentOS+xfs 倒是稳住了。
    enihcam
        12
    enihcam  
       2023-09-15 14:09:49 +08:00   ❤️ 1
    有没有一种可能,你使用了一个 btrfs buggy 的 linux 内核,然后还不知道(或不愿意)升级?

    不然,换成最新的 LTS 内核试试?截至 2023/09/15 ,最新的 LTS 内核是 6.1.53 。
    chronos
        13
    chronos  
       2023-09-15 14:13:40 +08:00
    btrfs 崩溃的时候最好检查一下硬盘本身是不是正常的。我以前也崩过几次 btrfs ,其中有两次都是硬盘本身出了问题,还有一次硬盘盒不稳定导致的。
    a632079
        14
    a632079  
       2023-09-15 14:30:19 +08:00
    之前跑 Unraid 缓存盘调用策略 Raid0 用 btrfs ,有些忘记去管 BT 下载进度了,回来一看写满了,btrfs 在内核疯狂报告 corrupted data ,以及盘变成 Readonly……经过官方手册,以及网上(英文)流传的一些抢救方案,没救回来……哪怕 Readonly 的情况,也就抢救回来了百分之四十左右的数据,大概 四百五百 G 的资料丢失了……从此我就不在觉得 BTRFS 可靠了。
    PP.SS 现在 Unraid 官方支持 ZFS 了,重新做缓存盘成 ZFS ,现在稳如老狗了已经。BTRFS 是啥?真不熟( tui )
    a632079
        15
    a632079  
       2023-09-15 14:34:10 +08:00
    @enihcam #12 原文:“有没有一种可能,你使用了一个 btrfs buggy 的 linux 内核,然后还不知道(或不愿意)升级?不然,换成最新的 LTS 内核试试?截至 2023/09/15 ,最新的 LTS 内核是 6.1.53 。”
    ======
    回复:Fedora 默认的更新策略和 ArchLinux 一样,都是直接滚最新的内核。但至少也不应该在 Stability 为 OK 下 BOOM 的吧,要知道,这可是文件系统……

    稳定性参考: https://btrfs.readthedocs.io/en/latest/Status.html
    P.S:让我们假设 UP 使用的都是 Stability 为 OK ,譬如 RAID56 的特性
    cheng6563
        16
    cheng6563  
       2023-09-15 14:34:19 +08:00
    没 ecc 内存没数据校验,说不定你 ext/xfs 文件系统的数据也损坏了部分,但你没有发现而已。
    cheng6563
        17
    cheng6563  
       2023-09-15 14:35:46 +08:00
    btrfs 每次读写都有数据校验,发现校验和不对就会尝试从 raid 中修复,修复不了就会直接 readonly 。
    mark2025
        18
    mark2025  
       2023-09-15 14:55:20 +08:00
    要么陈旧稳定的 ext4 , 要么高效稳定的 xfs ,其它小众文件系统不要放重要资料
    zhixi
        19
    zhixi  
       2023-09-15 14:59:09 +08:00
    在 Archlinux 下用了两年的 Btrfs 了,没出过什么问题,一开始比较担心,后来就没管过。
    楼上说的对,确实有的时候 ext4 坏了都不知道的
    hyperbin
        20
    hyperbin  
       2023-09-15 15:12:56 +08:00 via Android
    我也崩过,不过一看 SSD 的 smart 时发现 0E 变成 2 了
    msg7086
        21
    msg7086  
       2023-09-15 15:54:25 +08:00
    Btrfs 用最新的和老旧的内核都有可能 boom 的。
    这个没办法,就算只有 0.01%的用户遇到文件系统问题,那也是巨大的量级。
    Laysan
        22
    Laysan  
       2023-09-15 16:01:53 +08:00
    Btrfs 跟 ZFS 比咋样?我两块 SSD 组 ZFS 太浪费了
    mokiki
        23
    mokiki  
       2023-09-15 16:06:11 +08:00
    @Laysan 单盘也可以 ZFS
    KimiArthur
        24
    KimiArthur  
       2023-09-15 16:15:11 +08:00 via Android
    F2FS 已知断电会丢数据的,我自己碰到过几次就换了。

    "F2FS has a weak fsck that can lead to data loss in case of a sudden power loss"
    https://wiki.archlinux.org/title/F2FS#:~:text=F2FS%20has%20a%20weak%20fsck%20that%20can%20lead%20to%20data%20loss%20in%20case%20of%20a%20sudden%20power%20loss
    yyysuo
        25
    yyysuo  
       2023-09-15 16:21:31 +08:00
    反正经常看到群晖报硬盘损毁的。
    ruixue
        26
    ruixue  
       2023-09-15 16:28:48 +08:00
    三星 SSD ?检查一下 SMART 有没有 0E ,要有 0E 赶紧售后
    llity
        27
    llity  
       2023-09-15 17:19:06 +08:00
    BTRFS 坏过一次就老实了
    relaxchen
        28
    relaxchen  
       2023-09-15 17:23:36 +08:00
    我之前同一台机子上连续遇到过 BTRFS 损坏,最后定位到内存坏了,这个你可以参考一下
    HarveyLiu
        29
    HarveyLiu  
       2023-09-15 17:29:39 +08:00 via Android
    群辉的 btrfs 版本太低,还有魔改成份,arch 的 btrfs 满分,无任何问题。
    ambition117
        30
    ambition117  
       2023-09-15 17:38:29 +08:00 via iPhone
    linux 文件系统方面一直还不如 ntfs
    busier
        31
    busier  
       2023-09-15 17:45:45 +08:00
    我需要用到 btrfs 的快照和 COW 特性。所以一直坚持更新 linux 内核和使用 btrfs ,并未遇到损毁丢失数据问题。

    当然,保险起见,我的所有有价值数据都是有自动化备份的。这么多年一直等着 btrfs 挂壁一回,可惜没遇到!

    话说就算 ext4 和 xfs 更加稳定你就不备份了么?万一某天硬盘挂壁了,或者被更新型的勒索病毒给全盘加密了怎么办?那如果既然有备份,还怕什么呢,毕竟就算 btrfs 挂壁那也是小概率事件!
    MeteorCat
        32
    MeteorCat  
       2023-09-15 21:10:21 +08:00 via Android
    btrfs 之前 nas 老家断电之后直接找不到引导之后再也不敢用了
    itplanes01
        33
    itplanes01  
       2023-09-15 21:29:44 +08:00 via Android
    我的也是 fedora btrfs 安装没几天坏过两三次,换 ext4 一点事没有,但是 fedora btrfs 系统操作文件啥的是真的快啊
    wizardyhnr
        34
    wizardyhnr  
       2023-09-15 22:17:51 +08:00
    看看硬件呢,我在笔记本和 nas 上用 btrfs 没什么问题,当然用的硬件里没有什么杂牌,也一直放在 UPS 上防断电,使用强度也不大,下载用的是 ramdisk 缓存,重要数据有备份。btrfs 会做数据校验,所以更“挑”硬件,因为硬件问题导致的静默错误就会警报。早年有些硬盘固件导致的 readonly 问题也被归咎于 btrfs bug 。

    关于静默错误个人的例子就是,早年穷学生的时候买个一个水货 psp 玩,用的卡可能是山寨卡,系统倒是运行的一直没问题,但是后来把里面存的 txt 导出来内容会有间歇性乱码,所谓的比特翻转。
    neoblackcap
        35
    neoblackcap  
       2023-09-15 23:04:10 +08:00
    @Laysan zfs 好像对空间利用率还是蛮高的,最大的问题不是空间利用率。zfs 对 CPU 跟内存都有要求,否则性能会降级。
    oldshensheep
        36
    oldshensheep  
       2023-09-15 23:15:24 +08:00
    用 zfs 的都在 diss btrfs https://discourse.practicalzfs.com/t/advantages-of-zfs-on-a-single-disk-vs-btrfs/850
    zfs vs btrfs
    better compression, better replication, better snapshots ……
    AlexaZhou
        37
    AlexaZhou  
       2023-09-16 00:17:42 +08:00
    我的感受也是 xfs 比 btrfs 稳定
    之前有个 linux 机器长期开机,硬盘是镁光 M500 SSD ,之前是 btrfs , 偶尔非正常断电关机的时候就会磁盘自检,和报错。后来换成 xfs 同样的情况就没有出现问题了
    MrKrabs
        38
    MrKrabs  
       2023-09-16 00:56:08 +08:00
    没信过 btrfs
    WizardLeo
        39
    WizardLeo  
       2023-09-16 00:57:35 +08:00
    @oldshensheep 但是 zfs 更依赖内存,更依赖 ecc
    IDAEngine
        40
    IDAEngine  
       2023-09-16 09:53:43 +08:00
    nas 用的 btrfs ,没出过问题,用了 6 年了,企业黑盘
    dd102
        41
    dd102  
       2023-09-16 12:30:54 +08:00
    @wizardyhnr 让我想起以前把项目放在三星 T5 里,文件时间戳没有修改,实际内容不正确,编译死活过不去
    sariya
        42
    sariya  
       2023-09-18 14:17:01 +08:00 via Android
    op 的数据后来有恢复出来吗
    CitizenR
        43
    CitizenR  
    OP
       2023-09-18 14:33:34 +08:00
    @sariya
    并没有,使用搜索到的修复命令都无效,彻底找不到文件系统,再加上平日里有备份重要数据的习惯,也就没有付出更多精力尝试了。

    @ruixue @hyperbin @chronos @longxk
    关于硬盘,SMART 数据显示没有任何问题,重新安装 XFS 文件系统的 MANJARO (临时使用,等 fedora 39 重装)也正常运行。近期应该不会再使用 BTRFS 文件系统了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2837 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 02:06 · PVG 10:06 · LAX 18:06 · JFK 21:06
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.