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