安装 Linux 时如何使用 Btrfs 压缩选项?

Phi*_*ent 2 linux compression filesystems btrfs installation

我一直在尝试带有 SSD 驱动器的 Btrfs,并且喜欢在 fstab 中设置的压缩选项。

但是,这仅适用于在我安装操作系统并修改 fstab 文件后创建的文件。

我想要的是将压缩应用于系统上的所有文件,看看它是否可以改善启动时间和应用程序启动时间。

有谁知道我可以将更改应用于安装前或安装后的所有文件的方法吗?

Dav*_*hop 5

安装时,您可以发出:

mount -o remount,compress=lzo
Run Code Online (Sandbox Code Playgroud)

通常,您将不得不在安装程序开始安装内容时执行此操作(也许您会错过一个或 2 个文件。但没什么大不了的)。您可以检查安装程序是否已经在安装阶段之前安装了文件系统。

还要确保更新已安装系统上的 /etc/fstab。我使用以下选项提供了一些其他改进:

compress=lzo,ssd,relatime,space_cache,inode_cache,autodefrag
Run Code Online (Sandbox Code Playgroud)

您也可以尝试使用compress-force=lzo进行安装而不是compress=lzo,它确保即使文件没有压缩得那么好也仍然被压缩。这会使写入速度变慢,但由于它是一次性安装,可能值得。但我不确定它是否会提高阅读量。

我看到了另一种方法,涉及重命名 mount.btrfs 二进制文件并用脚本替换它,但是当我在 Ubuntu 下这样做时,它搞砸了,因为它通常安装到子卷 @ 和 @home 但一切都被转储到文件系统的根目录.

或者,您可以安装然后使用碎片整理,但您必须单独对每个文件进行碎片整理,因为该命令不是递归的。这对于升级到可能出现在较新版本的 btrfs、snappy 和 lz4 中的新压缩方法可能会派上用场。从 / 目录运行以下命令。

find -xdev -type f -exec btrfs fi defrag '{}' \;
Run Code Online (Sandbox Code Playgroud)