测试了一下 btrfs 和 zfs

2021-05-09 20:49:29 +08:00
 sherlock1122
测试环境,最新的 Fedora 34,结论:
Btrfs:
btrfs 的 compression 形同虚设,一点都没有压缩率。
btrfs 的 dedup 没找到怎么打开,有些资料说要单独装一个 binary, 然后周期性运行???太 low 了。

ZFS:
compression,dedup 都是实打实的。
zfs 选择 lz4 在性能以及压缩率上,对比 zstd,gzip9,是综合最优的。
7336 次点击
所在节点    Linux
25 条回复
sherlock1122
2021-05-10 14:17:01 +08:00
前天,仅仅拷贝了一个虚拟机镜像。
今天更新一下的 btrfs 测试(粗略测试,没有按照严格的性能测试方法):

btrfs 采用 zstd 压缩方式:mount -o compress=zstd /dev/sdd1 /tmp/bdata

xfs 文件系统迁移到 btrfs 和 zfs + dedup + lz4 的最终空间占用如下:

21-05-10 13:54:12 root@192.168.64.217:~ df -h
zdata/lz4 302G 111G 191G 37% /root
/dev/sdd1 301G 100G 202G 34% /tmp/bdata
/dev/mapper/myroot-root 300G 187G 114G 63% /tmp/root

从空间看,xfs 占用 187G,zfs 占用 111G,btrfs 100G 。
我之前测试单个文件,看来是样本的问题。

cp 结果看:
21-05-10 14:08:40 root@192.168.64.217:~ time cp /tmp/root/fedora33-2.img.bak /tank/lz4/a/
cp /tmp/root/fedora33-2.img.bak a/ 0.04s user 4.11s system 46% cpu 8.861 total
21-05-10 14:09:09 root@192.168.64.217:~ time cp /tmp/root/fedora33-2.img.bak /tmp/bdata/a/
cp /tmp/root/fedora33-2.img.bak /tmp/bdata/a/ 0.06s user 4.67s system 51% cpu 9.224 total

btrfs & zfs 时间差不多。

综合:
1. 压缩率:btrfs 的使用 zstd 后,比 zfs + dedup + lz4 压缩率要高一些。
2. 性能:从实际的编译大型 C++ 任务来看,每组测试 5 次,zfs + dedup + lz4 需要 30s 左右,btrfs 只需要 20s,btrfs 更占优。

我的开发机器平时编译任务较多,所以还是选择 btrfs 在时间上是比较划算的。
JamesRuan
2021-05-10 15:00:14 +08:00
@love 我有用,相关工具用起来感觉很不可靠的样子,掉电有丢数据的风险。好在我的重要数据都在 git 上,大部分都 push 到 remote repo 了,万一完蛋了损失也不大。
ljiaming19
2021-05-10 22:55:22 +08:00
话说现在 opensuse 的 btrfs 怎么样 是不是还是很不稳定
wwhc
2021-07-17 02:36:25 +08:00
@vk42 已经试过多次意外断电在不同的服务器上,完全没有问题
vk42
2021-07-17 06:45:47 +08:00
@wwhc 有隐患又不代表次次必挂啊,等到出问题再说吧……

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

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

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

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

© 2021 V2EX