<返回更多

Btrfs文件系统开启透明压缩节省硬盘空间

2022-10-25    ErnestDu
加入收藏

Btrfs介绍

文件系统3d单词文件夹组织历史档案文件,File System 3d words Folders

Btrfs 是一种现代的写时复制(CoW)linux 文件系统,已经并入内核主线。Btrfs 致力于实现一些高级功能,同时着重于容错性、修复性以及易于管理性。它由多家企业共同开发,以 GNU GPL 协议授权,并欢迎任何人的贡献。

Btrfs有很多有趣的特性,本文将介绍Btrfs的透明压缩功能。

压缩

Btrfs支持透明文件压缩。这就减小了文件的大小,通过减少文件写入增幅来显著延长闪存介质(flash-baesd media)的寿命。在某些特定的场景下(比如单线程、重负荷的文件 I/O)还提高了性能。尽管在其他的场景下(比如多线程和/或大文件 I/O 高强度 CPU 任务)还是明显影响了性能。有三种算法可用:zlib, lzo, zstd,通常使用更快的压缩算法,比如 zstd 和 lzo 可以获得更好的性能。

如何启用压缩?

要在新的 Btrfs 分区上安装Linux时就启用压缩功能 ,在mount文件系统时使用 compress 选项:mount -o compress=zstd /dev/sda1 /mnt/。在配置过程中,请在 fstab 中把 compress=zstd 添加到根目录文件系统的挂载选项里,zstd也可替换成lzo或zlib。只有在加入挂载选项后创建或修改的文件才会被压缩。

fstab

如果想压缩已经存在Btrfs上的未压缩文件,可用 Btrfs filesystem defragment -r -v -czstd / ,会使用zstd的压缩方式将整个文件系统重新压缩。

如何设置压缩级别

zlib:支持9个级别,默认值为Level 3,它提供了高的压缩比,并且速度仍然相当快。级别越高,所需时间越长。可以将级别指定为挂载选项,如“compress=zlib:1”。

zstd: zstd支持包括多达15个级别。整数值越大越慢,压缩效果越好;值越小越快,压缩效果越小。级别0映射到默认值。

lzo: 不支持设置压缩级别

压缩方法之间有什么区别?

zlib:更慢,更高的压缩率

lzo:比zlib更快的压缩/解压缩速度,较差的压缩率,旨在快速

zstd:压缩与zlib相当,具有更高的压缩/解压缩速度和不同的比率级别

差异取决于实际数据集,不能用单个数字或建议来表示。对于一般应用,lzo似乎给出了令人满意的结果。

查看压缩类型和压缩比

btrfs-compsize 软件包能获取一个文件列表 (或一整个 Btrfs 文件系统),并测量出它们使用的压缩类型和其有效压缩比。

 

声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多资讯 >>>