ZFSの圧縮機能そこで、このWWWページで紹介されているlz4とgzip-5で圧縮率などを確かめてみました。
http://www.sakashita-net.jp/2016/10/zfs.html
まずlz4に設定します。zkona20というプールを使います。
# zfs get compression zkona20この時点では圧縮率は1.00倍です。ここに約16GBのファイルを書き込みます。
NAME PROPERTY VALUE SOURCE
zkona20 compression off local
# zfs set compression=lz4 zkona20
# zfs get compression zkona20
NAME PROPERTY VALUE SOURCE
zkona20 compression lz4 local
# zfs get compressratio zkona20
NAME PROPERTY VALUE SOURCE
zkona20 compressratio 1.00x -
#
# du -sh /disk/kona/zkona10/ZKONA20圧縮率は1.67倍、4TBのHDDに6TBぐらいのファイルを置くことができそうです。次にgzip-5です。
16G /disk/kona/zkona10/ZKONA20
# time cp -r /disk/kona/zkona10/ZKONA20/00BACKUP .
real 1m18.919s
user 0m0.029s
sys 0m8.482s
# zfs get compressratio zkona20
NAME PROPERTY VALUE SOURCE
zkona20 compressratio 1.67x -
#
# zfs set compression=gzip-5 zkona20こんどの圧縮率は1.92倍でした。別の32GBのファイルを書き込んだ場合の圧縮率は1.82倍だったので、 4TBのHDDに7TBぐらいのファイルを置けそうです。
# zfs get compression zkona20
NAME PROPERTY VALUE SOURCE
zkona20 compression gzip-5 local
# zfs get compressratio zkona20
NAME PROPERTY VALUE SOURCE
zkona20 compressratio 1.00x -
# time cp -r /disk/kona/zkona10/ZKONA20/00BACKUP .
real 1m22.083s
user 0m0.033s
sys 0m4.165s
# zfs get compressratio zkona20
NAME PROPERTY VALUE SOURCE
zkona20 compressratio 1.92x -
#
gzip-5の圧縮を使った場合のCPUへの負荷はロードアベレージで4ほどでした。全部の8スレッドのCPUなので、能力の半分ぐらいというところでしょうか。lz4だと1.1から1.5でgzip-5に比べるとかなり低いです。
ふだんから使うファイルシステムで圧縮機能を使うならlz4、データのバックアップ用のファイルシステムでCPUの負荷に余裕があるならgzip-5というところでしょうか。