挂载的 btrfs 不会压缩吗?

挂载的 btrfs 不会压缩吗?

我有一个分区格式化为 btrfs我愿意将那些不经常使用但需要不时快速访问的东西存储在那里(目前是一些我的 PS2 游戏的转储),因为我读到 btrfs 可以很好地动态压缩数据。

问题是,即使使用该compress-force=zlib选项安装此分区,我根本注意到不到任何压缩工作。

目前我的/etc/fstab文件显示有关驱动器的以下信息:

LABEL=Emu /mnt/Emu btrfs compress-force=zlib,nosuid,nodev,nofail,comment=x-gvfs-show 0 0

驱动器安装正常,数据可以写入和读回。但未进行压缩工作,无论是旧文件还是新文件。

到目前为止我已经通过以下方式进行了测试:

$ sudo dd if=/dev/sda6 of='/mnt/Emu/dummy.txt' bs=1M count=1024
$ sudo btrfs fi sync /mnt/Emu
$ sudo du -h '/mnt/Emu/dummy.txt'

这在所述驱动器中生成了一个 1 GB 的文件,并告诉我该文件的大小确实是 1 GB,因此没有任何内容被压缩。

还验证了在所述虚拟文件上使用后的大小,然后通过对其chattr +c使用对文件/驱动器进行碎片整理。btrfs fi defragment

有指点吗?

我的系统规格:

  • 操作系统:Ubuntu 14.04 x86_64
  • 核心:3.13.0-40-通用
  • 文件系统:v3.12

答案1

当启用压缩时,btrfs 会自动压缩现有文件吗?关于使用 btrfs 进行压缩的最佳实践:

  1. 该命令btrfs fi defrag不是btrfs fi sync
  2. 它必须应用于文件,btrfs fi defrag /mnt/Emu/dummy.txt而不是目录
  3. 你究竟如何确定它没有被压缩?df 没有显示正确的大小。

相关内容