ZFS 压缩和文件重复数据删除文件系统

ZFS 压缩和文件重复数据删除文件系统

我可以用这种方式创建squashed文件系统:mksquashfs

mksquashfs dir-1 dir-2 ... dir-n filesystem-on-file.squash -comp xz -Xbcj x86 -Xdict-size 1048576 -b 1024k

mksquashfs提供数据压缩和重复数据删除功能,但为只读。现在我想创建几个启用ZFS重复数据删除和压缩功能的测试文件系统。

等效命令是什么?

答案1

这将在 /tmp 上创建一个 100 MB 的文件,然后在其上创建一个 zpool 和 zfs 文件系统,并启用压缩和重复数据删除:

cd /tmp
dd if=/dev/zero of=zfile bs=1024k count=100
zpool create -O dedup=on -O compress=on filepool /tmp/zfile

该文件系统安装在 /filepool 上,并且与 squashfs 不同,它是可写的。

只需将您的文件和目录复制到其中并用于zpool list filepool获取使用情况(ALLOC/FREE/CAP)和重复数据删除率(DEDUP)。

例如。

# zpool list filepool
NAME       SIZE  ALLOC   FREE    CAP  DEDUP  HEALTH  ALTROOT
filepool  95,5M  1,50M  94,0M     1%  2.99x  ONLINE  -

要查看压缩率,请使用以下zfs get compressratio命令:

# zfs get compressratio filepool   
NAME      PROPERTY       VALUE  SOURCE
filepool  compressratio  1.37x  -

您可以在创建池时指定非默认算法来尝试各种压缩算法,例如:

zpool create -O dedup=on -O compress=gzip-9 filepool /tmp/zfile

相关内容