有在生产环境使用 btrfs 的请进

2016-06-30 19:39:19 +08:00
 redsonic

看中了 btrfs 的 COW 特性,有部署过的说一下这个文件系统实际中有哪些坑。我知道的好像软 raid6 有问题,但这个不用提,我也不用软 raid 。

12129 次点击
所在节点    Linux
30 条回复
cnxh
2016-06-30 19:56:11 +08:00
carmark
2016-06-30 20:02:03 +08:00
pubby
2016-06-30 20:16:10 +08:00
全部 zfs mirror 或者 raidz1
likuku
2016-06-30 20:25:59 +08:00
3 年前就放弃再踩 btrfs 这个坑,安心继续用 zfs (freebsd)
msg7086
2016-06-30 21:03:07 +08:00
btrfs 似乎并不是一个可以完全免维护的文件系统。
JamesRuan
2016-06-30 21:11:02 +08:00
软 RAID 没问题,有问题的是 BTRFS 自带的文件系统层面的 RAID 。
JamesRuan
2016-06-30 21:12:31 +08:00
踩过一个坑,就是把 EXT4 转 BTRFS ,结果删除 EXT4subvolum 后系统挂了……
后来才看到有报道说,某几个内核版本的 btrfs-convert 有问题。
zeac
2016-06-30 22:04:28 +08:00
忘记是多久以前了 曾经折腾 ArchLinux 的时候 在 VirtualBox 里面安装 Arch 选的 btrfs 最后一步安装 grub 就是装不上 回去换别的 fs 就能安装了 也不知道是不是 btrfs 的问题 反正从此不选这个 fs 还是 ext4 好
chareice
2016-06-30 22:10:04 +08:00
其实不太懂,就是觉得扩容太方便了。。
ryd994
2016-06-30 22:35:12 +08:00
@carmark LVM 不是最高,我有点惊讶
fool
2016-06-30 23:00:29 +08:00
我在我笔记本上是 btrfs 根分区,后来一次误操作删除了 /home
发现以前经常用的 extundelete 不支持,只有用 btrfs rescue
发现 quota 只能用 btrfs quota
发现速度确实是没有 ext4 快
有一次恢复快照后多次启动会内核崩溃(具体的原因不清楚,快照用的很少)

可能没有什么帮助。。
mko0okmko0
2016-07-01 00:01:47 +08:00
快照是神器,
压缩是福利.
不要遇到断电和当机,修复麻烦.我说的是真实结构毁损连带快照都挂的.
就算能修复的问题也需要手动确认.麻烦.
btrfs 内预设延迟写入是 30 秒.
怕问题,改成 1 秒.变慢但不怕故障.而且这才是真实性能.30 秒测出的读写速度根本骗自己.
预设 30 秒是大部分异常之后出问题的原因.因为 30 秒内有太多关键资料没写入.

suse 预设有用 btrfs 了.
不过预设值和使用方法超低能的.

我是手动分割 /挂载 /格式化.
redsonic
2016-07-01 01:20:28 +08:00
@mko0okmko0 开 COW 写入延迟 30 秒内当机原文件还完整吧?
xuan880
2016-07-01 05:55:21 +08:00
不如 lvm 开启 thin 功能,然后使用 ext 分区。
ladyv2
2016-07-01 06:36:59 +08:00
只用 FB+ZFS 的飘过。。。
dudesun
2016-07-01 09:19:59 +08:00
笔记本上用在 nvme 的 ssd 上面。出现几次只读。然后重启就好。但是还是不敢用了
mko0okmko0
2016-07-01 09:26:15 +08:00
@redsonic 写入延迟 30 秒是说最久 30 秒要写入至少一次.
其实不一定都到 30 秒这样久.
原子性的档案读写都是要求档案系统"确实"写入完成后返回 TRUE 这样的模式.
所以原子性的读写通常损失都很小.但需要等待,而且一般人可能没注意到自己是否用了原子写入.

如果执行的程式用的代码不是原子性的,比较容易发生问题,因为真实写入时间就由 BTRFS 控制了.
COW 的优点应该是
A 有快照功能
B 就算不使用快照也有大量历史版本可修复,但修复失败你就全死了,珍惜生命,要有 2 备,最好 3 备.
C 除非明确使用 NOCOW 参数,这样就跟 EXT3/4 差不多了,如果跟 EXT3/4 差不多干嘛要换 BTRFS,当机后修复要手动很累.
D 好吧 NOCOW 之后的优点是透明压缩,尤其程式码这种零碎小文字档读写很厉害的.BT 这种碎流档案写入也很优.但为什么主流资料库高负载读写性能很低很好笑?法克.
mko0okmko0
2016-07-01 09:31:41 +08:00
另外,几乎所有的档案系统都有延迟写入的参数,但多少人知道?
zfs 很好很强大,但其实他也是延迟写入大户.只是他用的主要是 RAM,SSD 快取.
所以限制 ZFS 的可用 RAM,拿掉 SSD 快取区,他的表现还能高大上吗?
大概只剩 lz4 这个我超想要但 BTRFS 没有的透明压缩选项了.
kelvin0431
2016-07-01 09:52:02 +08:00
没用过 BTFS ,曾经被 ZFS on linux 折磨了半年多...
aivier
2016-07-01 10:42:02 +08:00
记得 BTRFS 的官方文档用很显眼的方式标明:"使用 BTRFS 一定要尽可能的使用新的内核", 例如 4.6....服务器上敢随便升级么

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/289440

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX