ZFS Compression

当たり前かもしれないけど、ZFS で compress してる場合、ls は圧縮「前」のファイルのサイズを返すけど、du は圧縮「後」の使用量を表示する (du も zfs list も圧縮「後」の値)
% zfs list -o name,mountpoint,used,avail,refer,compression,exec,setuid zroot/root/home
NAME MOUNTPOINT USED AVAIL REFER COMPRESS EXEC SETUID
zroot/root/home /home 34.0G 156G 34.0G gzip on on
% cd /home
% dd if=/dev/zero of=10G.bin bs=1m count=10000
10000+0 records in
10000+0 records out
10485760000 bytes transferred in 13.024897 secs (805055127 bytes/sec)
% ls -lh
total 1
-rw-r--r-- 1 say say 9.8G Jul 21 04:15 10G.bin
% zfs list -o name,mountpoint,used,avail,refer,compression,exec,setuid zroot/root/home
NAME MOUNTPOINT USED AVAIL REFER COMPRESS EXEC SETUID
zroot/root/home /home 34.0G 156G 34.0G gzip on on (変化無し)
% du -sh
2.0k .
%
ちなみに IMAP(maildir) と Mew のフォルダが置いてある home ディレクトリを gzip で圧縮したら、23GB→8.4GB (-14.6GB 37%) と 44GB→15GB (-29GB 34%) という感じに圧縮できた。テキストファイルだけだから圧縮が効きやすいんだけど、44GB も節約できたのはディスク容量に制約のあるVPS上では嬉しい。