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

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

  •  
  •   CitizenR · 225 天前 · 4626 次点击
    这是一个创建于 225 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    第 1 条附言  ·  225 天前

    感谢各位回复。

    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  
       225 天前   ❤️ 2
    我的群晖瑟瑟发抖
    anytk
        2
    anytk  
       225 天前
    btrfs + compress=zstd 跑了 3-4 年了,系统也迁移了几次换了盘,没啥问题
    anytk
        3
    anytk  
       225 天前
    系统是 debian sid, 一直用最新内核,挂载参数 noatime,compress=zstd
    514146235
        4
    514146235  
       225 天前   ❤️ 1
    应该是从 kernel 3.x 开始用 btrfs ,全部系统都是 btrfs ,有全 hdd 的,有全 ssd 的。经历过至少十几次的 device add, del ,没有出现过任何问题。几乎都是 7 * 24 小时运行,也没有 ups ,几年可能也会有一两次意外停电。

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

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

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

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

    不然,换成最新的 LTS 内核试试?截至 2023/09/15 ,最新的 LTS 内核是 6.1.53 。
    chronos
        13
    chronos  
       225 天前
    btrfs 崩溃的时候最好检查一下硬盘本身是不是正常的。我以前也崩过几次 btrfs ,其中有两次都是硬盘本身出了问题,还有一次硬盘盒不稳定导致的。
    a632079
        14
    a632079  
       225 天前
    之前跑 Unraid 缓存盘调用策略 Raid0 用 btrfs ,有些忘记去管 BT 下载进度了,回来一看写满了,btrfs 在内核疯狂报告 corrupted data ,以及盘变成 Readonly……经过官方手册,以及网上(英文)流传的一些抢救方案,没救回来……哪怕 Readonly 的情况,也就抢救回来了百分之四十左右的数据,大概 四百五百 G 的资料丢失了……从此我就不在觉得 BTRFS 可靠了。
    PP.SS 现在 Unraid 官方支持 ZFS 了,重新做缓存盘成 ZFS ,现在稳如老狗了已经。BTRFS 是啥?真不熟( tui )
    a632079
        15
    a632079  
       225 天前
    @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  
       225 天前
    没 ecc 内存没数据校验,说不定你 ext/xfs 文件系统的数据也损坏了部分,但你没有发现而已。
    cheng6563
        17
    cheng6563  
       225 天前
    btrfs 每次读写都有数据校验,发现校验和不对就会尝试从 raid 中修复,修复不了就会直接 readonly 。
    mark2025
        18
    mark2025  
       225 天前
    要么陈旧稳定的 ext4 , 要么高效稳定的 xfs ,其它小众文件系统不要放重要资料
    zhixi
        19
    zhixi  
       225 天前
    在 Archlinux 下用了两年的 Btrfs 了,没出过什么问题,一开始比较担心,后来就没管过。
    楼上说的对,确实有的时候 ext4 坏了都不知道的
    hyperbin
        20
    hyperbin  
       225 天前 via Android
    我也崩过,不过一看 SSD 的 smart 时发现 0E 变成 2 了
    msg7086
        21
    msg7086  
       225 天前
    Btrfs 用最新的和老旧的内核都有可能 boom 的。
    这个没办法,就算只有 0.01%的用户遇到文件系统问题,那也是巨大的量级。
    Laysan
        22
    Laysan  
       225 天前
    Btrfs 跟 ZFS 比咋样?我两块 SSD 组 ZFS 太浪费了
    mokiki
        23
    mokiki  
       225 天前
    @Laysan 单盘也可以 ZFS
    KimiArthur
        24
    KimiArthur  
       225 天前 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  
       225 天前
    反正经常看到群晖报硬盘损毁的。
    ruixue
        26
    ruixue  
       225 天前
    三星 SSD ?检查一下 SMART 有没有 0E ,要有 0E 赶紧售后
    llity
        27
    llity  
       225 天前
    BTRFS 坏过一次就老实了
    relaxchen
        28
    relaxchen  
       225 天前
    我之前同一台机子上连续遇到过 BTRFS 损坏,最后定位到内存坏了,这个你可以参考一下
    HarveyLiu
        29
    HarveyLiu  
       225 天前 via Android
    群辉的 btrfs 版本太低,还有魔改成份,arch 的 btrfs 满分,无任何问题。
    ambition117
        30
    ambition117  
       225 天前 via iPhone
    linux 文件系统方面一直还不如 ntfs
    busier
        31
    busier  
       225 天前
    我需要用到 btrfs 的快照和 COW 特性。所以一直坚持更新 linux 内核和使用 btrfs ,并未遇到损毁丢失数据问题。

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

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

    关于静默错误个人的例子就是,早年穷学生的时候买个一个水货 psp 玩,用的卡可能是山寨卡,系统倒是运行的一直没问题,但是后来把里面存的 txt 导出来内容会有间歇性乱码,所谓的比特翻转。
    neoblackcap
        35
    neoblackcap  
       224 天前
    @Laysan zfs 好像对空间利用率还是蛮高的,最大的问题不是空间利用率。zfs 对 CPU 跟内存都有要求,否则性能会降级。
    oldshensheep
        36
    oldshensheep  
       224 天前
    用 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  
       224 天前
    我的感受也是 xfs 比 btrfs 稳定
    之前有个 linux 机器长期开机,硬盘是镁光 M500 SSD ,之前是 btrfs , 偶尔非正常断电关机的时候就会磁盘自检,和报错。后来换成 xfs 同样的情况就没有出现问题了
    MrKrabs
        38
    MrKrabs  
       224 天前
    没信过 btrfs
    WizardLeo
        39
    WizardLeo  
       224 天前
    @oldshensheep 但是 zfs 更依赖内存,更依赖 ecc
    IDAEngine
        40
    IDAEngine  
       224 天前
    nas 用的 btrfs ,没出过问题,用了 6 年了,企业黑盘
    dd102
        41
    dd102  
       224 天前
    @wizardyhnr 让我想起以前把项目放在三星 T5 里,文件时间戳没有修改,实际内容不正确,编译死活过不去
    sariya
        42
    sariya  
       222 天前 via Android
    op 的数据后来有恢复出来吗
    CitizenR
        43
    CitizenR  
    OP
       222 天前
    @sariya
    并没有,使用搜索到的修复命令都无效,彻底找不到文件系统,再加上平日里有备份重要数据的习惯,也就没有付出更多精力尝试了。

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