btrfs可以同时进行重复数据删除和压缩吗?

btrfs可以同时进行重复数据删除和压缩吗?

我正在考虑使用 btrfs 功能对我的存储进行重复数据删除和压缩......

我的问题是:它有效吗?

我的意思是,它能同时有效地进行重复数据删除和压缩吗?!

我使用的是 Ubuntu 14.04 64 位。此外,我计划在云计算环境中将其与 EBS 优化卷上的 raid0 一起使用...

谢谢!蒂亚戈

答案1

如果您正在使用该bedup实用程序撰写有关重复数据删除的文章,那么答案是:重复数据删除和压缩是完全独立的过程

在重复数据删除过程中,不会重写任何文件内容(仅重写元数据),因此没有机会压缩数据。

并且我 99% 确定,压缩状态是透明的,bedup因为几乎不可能从 btrfs 中获取文件的原始压缩内容。

另一方面,当您对驱动器进行碎片整理时(例如使用btrfs filesystem defragment -r -v -clzo /),会重新压缩旧数据。目前这会破坏文件的重复数据删除功能。

答案2

目前没有在线重复数据删除。计划中有,但尚未实现。如果您想尝试,有一个实验性的补丁集 ( www.mail-archive.com/linux-btrfs%40vger.kernel.org/msg32862.html )。

仅从个人经验来看,在一次写入 ssd 和 3 个 hdd 时,在 hasswell i5 4460 上进行在线压缩不会对性能产生明显影响(其中一个 hdd 用 xfs 格式化,因此没有执行压缩。对 3 个 btrfs 驱动器进行碎片整理/重新压缩会使 CPU 负载达到 50% 左右,但系统仍然感觉流畅。这是使用 lzo 并且未强制压缩(除非您强制执行,否则 btrfs 会停止尝试压缩不可压缩的文件 + lzo 比 zlib 更快)。即使使用 ssd,限制仍然是驱动器速度。

相关内容