快捷搜索:  汽车  科技

深度系统访问本地磁盘只读(Btrfs文件系统开启透明压缩节省硬盘空间)

深度系统访问本地磁盘只读(Btrfs文件系统开启透明压缩节省硬盘空间)zstd: zstd支持包括多达15个级别。整数值越大越慢,压缩效果越好;值越小越快,压缩效果越小。级别0映射到默认值。zlib:支持9个级别,默认值为Level 3,它提供了高的压缩比,并且速度仍然相当快。级别越高,所需时间越长。可以将级别指定为挂载选项,如“compress=zlib:1”。要在新的 Btrfs 分区上安装Linux时就启用压缩功能 ,在mount文件系统时使用 compress 选项:mount -o compress=zstd /dev/sda1 /mnt/。在配置过程中,请在 fstab 中把 compress=zstd 添加到根目录文件系统的挂载选项里,zstd也可替换成lzo或zlib。只有在加入挂载选项后创建或修改的文件才会被压缩。fstab如果想压缩已经存在Btrfs上的未压缩文件,可用 Btrfs filesystem defragment -r -v

Btrfs介绍

深度系统访问本地磁盘只读(Btrfs文件系统开启透明压缩节省硬盘空间)(1)

文件系统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,通常使用更快的压缩算法,比如 zstdlzo 可以获得更好的性能。

深度系统访问本地磁盘只读(Btrfs文件系统开启透明压缩节省硬盘空间)(2)

如何启用压缩?

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

深度系统访问本地磁盘只读(Btrfs文件系统开启透明压缩节省硬盘空间)(3)

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 文件系统),并测量出它们使用的压缩类型和其有效压缩比。

深度系统访问本地磁盘只读(Btrfs文件系统开启透明压缩节省硬盘空间)(4)

猜您喜欢: