Compressed ZFS Stream sizes in various compressing programs and OVF
By natiku on Apr 15, 2009
This entry is part of Virtual Appliances & OVF Workshop
ZFS filesystems use spread writes against all disk drive, it also use compressed metadata and finally it uses 'copy-on-write', so ZFS Root file systems is not easy compressable.
I take ZFS stream instead of virtual disk image, because streaming serialize ZFS data so it represent best possible achievement.
cat size.lst 1 349 109 704 (1287M) stream.zfs 157 661 607 ( 150M) stream.zfs.7z 7zip 224 619 877 ( 215M) stream.zfs.bz2 bzip2 -9 245 367 494 ( 235M) stream.zfs.gz gzip -9 245 367 616 ( 235M) stream.zfs.zip zip -9 365 863 485 ( 350M) stream.zfs.Z compress
- Best possible compression tunable options are used on each compression
- Most OVF bundles use as disk format VMSk#streamOptimized format (gzip, 64k block level), on ZFS root it get a little worth results then "gzip -9"
- Upcoming OpenSolaris 200906 will deliver only one Live-CD media with LZMZ compression , because there are significant improvements in compressed ISO access performance
- Best results can be achieved with this 7zip Ultra setup (LZMZ type compression)
Or 7z in CMD line version
zfs send -R rpool@stream | 7z a -si -bd -t7z -m0=lzma -ms=on -mx=9 -mfb=64 -md=64m /opt/stream.zfs.7z On 4 cores machine you can also use -mmt=4 (To use 4 cores/cpus)ToDo: Dig OVF if we can support 7z (LZMZ) in some not "visible" OVF standard coliding manner