I had read about the transparent compression that zfs offers. I wanted to verify it so I did, and sent my results off.
As we all know no experiment is valid unless verifiable. I wanted be sure that the transparent compression was actually working so I set up a sample zfs volume and purposefully made some files that i knew would compress really well. I grabbed their sizes, transferred them to another machine without zfs, and compared the size. It works.
1. Create the zfs filesystem
root@machine1:~# zfs create rpool/ztest
root@machine1:~# zfs set mountpoint=/ztest rpool/ztest
as soon as you do this /ztest shows up in the filesystem
root@machine1:~# ls /ztest/
2. enable compression and set it use gzip at level 6 (default)
root@machine1:/ztest# zfs set compression=gzip rpool/ztest
3. create some files you know will compress well
time for i in $(seq 1 3); do echo -n “file${i} “; echo $(seq 1 10000000) >> file${i} 2>&1; done
4. check the compression ratio
root@machine1:/ztest# zfs get compressratio rpool/ztest
NAME PROPERTY VALUE SOURCE
rpool/ztest compressratio 3.69x –
5. verify the compression is working by transferring the file to a machine without such an awesome FS, and checking the filesize there
root@machine1:/ztest# du -sh file1
23M file1
scp -rvp /ztest/file1 root@machine2:/root/file1
root@machine2]# du -sh file1
83M file1
Conclusion: transparent compression is working, and working rather well on a file I made to be easily compressed.