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 ответ

Решение

Это создаст файл размером 100 МБ в /tmp, а затем в нем файловую систему 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
Другие вопросы по тегам