入手一台 Xiaomi Book Air 13 ,装 Debian testing 并使用 btrfs 作为文件系统。SSD 为 KIOXIA KBG50ZNV512G 。
短时间内出现了两次 corrupt leaf ,文件系统被挂载为只读。
重启后一切正常,btrfs scrub 或 btrfs check 均检测不到错误,smartctl 显示的 SMART 数据也没有错误。
请教下各位,这种情况该如何排查故障原因?需要换硬盘吗?
|  |      1tangbao      2023-02-20 09:49:21 +08:00  1 没有遇到过,文件系统只读我只在一台树莓派上碰到过,排查后是长时间写入导致卡坏了进入保护了😂 | 
|      2yanqiyu      2023-02-20 10:01:10 +08:00  1 有没有完整的 log ,比如出现错误之前的没有完成的事务。 可能是内存上的数据还没写回去就出错放弃了 | 
|  |      3v2wtf      2023-02-20 10:08:16 +08:00  2 还真有人敢用 btrfs 啊?想要这些高级文件系统特性的,老老实实上 ZFS 吧,性能是差一些,但是那种坚如磐石的感觉是多少性能都换不来的。 | 
|      4feedcode      2023-02-20 10:24:39 +08:00  3 corrupt leaf 后面会跟原因的,如果是 invalid root item size 可以尝试更新下内核,之前有个 false alarm 被修掉了 https://github.com/torvalds/linux/commit/1465af12e254#diff-21b5c65ce5cabfab40b020cac0ef6a62950d31ccc43859879bf7981e3e0135ff | 
|  |      5pagxir      2023-02-20 10:33:24 +08:00 via Android  1 我遇到过,用的上 5.15.29 的 kernel ,原因是磁盘(用了两年的叠瓦盘)问题。不过,btrfs 不稳定是真的,老版本内核遇到过 CPU 100%问题,遇到过数据莫名其妙全盘消失问题(只是执行 remount ),所以数据盘尽量不用 btrfs 。 | 
|      6anytk      2023-02-20 10:43:37 +08:00  1 挂载选项开了 autodefrag 没?开了建议关掉。 我 btrfs 用在 U 盘系统上,也出现过只读挂载,发现跟休眠有关,后来卸载了 tlp 就好了。 autodefrag 建议关掉,这个目前经常出现问题,现象是持续写入。 | 
|      7anytk      2023-02-20 10:44:40 +08:00 U 盘系统上 btrfs 用了两年多了,目前感觉还好,优势还是有的,比如透明压缩 zstd | 
|  |      9PhaSelEza OP | 
|      10ProPh3t      2023-02-20 12:55:13 +08:00 别的不说,“文件系统被挂载为只读后重启”这个操作很不安全,给你挂成只读就是为了让你能够赶紧备份数据,你直接重启了,搞不好直接和数据说拜拜了。 | 
|  |      11wellerman      2023-02-20 14:43:55 +08:00 老实用 EXT4 吧,就算把数据整没了,恢复也方便。 | 
|      12MeteorCat      2023-02-20 14:52:29 +08:00 via Android 别用 btrfs ,家里常常断电之后引导错误再也无法启动,这文件系统就是坑人的 | 
|      13deorth      2023-02-20 15:31:02 +08:00 via Android 我用 btrfs_win 写入几十 g 后分区直接炸了   zfs 虽好,内核没合并啊,有时要用个 liveCD 救引导的时候怎么办 | 
|      14qdk0901      2023-02-20 16:49:27 +08:00 zfs 也给我惹过大麻烦,差点把我公司的代码全干掉,搞了 2 天 2 夜,用尽了所有方法都不能成功挂载也不能恢复到之前的点 最后终于以某种方式只读挂载成功了,幸运的把数据读了回来 zfs 并非坚如磐石,它出问题的时候能帮你的人很少,你能找到的资料也很少,而且 zfs 的代码很少更新,看起来常年没人维护一样 | 
|  |      15darrh00      2023-02-20 17:00:04 +08:00 好久之前用过一段时间的 btrfs ,中间出现过好几次错误,都恢复了。 最后出现了某个错误(忘记具体错误是什么了), 然后在网上找了一圈断断续续搞了一个礼拜没搞定就放弃了, 没有备份,数据全丢,后来就老老实实 ext4 了。 | 
|  |      16ferstar      2023-02-21 08:55:02 +08:00 这题我会啊,前阵子才修了一发,见: https://blog.ferstar.org/post/issue-75/ |