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