squeezeにzfs-fuseを入れて重複を排除ってみた。
HDDが買えないならZFSを使えばいいのに
http://itpro.nikkeibp.co.jp/article/Watcher/20120208/380453/?top_rcmd
なる記事がうpされて、Linux界隈の有識者TLがザワつくと言う事件が起きましたw
でも、こんな記事が出るくらいzfs-fuseが安定して来てるなら、WORMなファイル置き場に使えるんじゃね?
とか、色々面白そうだったので、Debian squeezeで重複排除対応の最新版(0.7.0)をコンパイルしてみました。
# よく調べたらリポジトリ0.6.9-1でも重複排除対応してた。。。
# 取り敢えずdebianディレクトリのあるソースからdeb作る手順として備忘。
最新版のダウンロード
# wget http://zfs-fuse.net/releases/0.7.0/zfs-fuse-0.7.0.tar.bz2
必要なパッケージのインストール
# apt-get install libaio-dev # apt-get install openssl-dev # apt-get install libfuse-dev # apt-get install libattr1-dev # apt-get install scons
パッケージのビルド
# tar xvjf zfs-fuse-0.7.0.tar.bz2 # cd zfs-fuse-0.7.0 # dpkg-buildpackage -b -uc -us
パッケージのインストール
# cd ../ # dpkg -i zfs-fuse_0.7.0-1_amd64.deb
zfsプールの作成
記事の内容とおんなじ。
# zpool create pool /dev/sdb # zfs create pool/archive # zfs dedup=verify pool/archive
これで/pool/archiveに重複排除な領域ができました。
効果の確認
まずは出来立ての領域のdf。
root@Atora:/pool/archive# df -h Filesystem Size Used Avail Use% マウント位置 pool 914G 22K 914G 1% /pool pool/archive 914G 21K 914G 1% /pool/archive
ddで0埋めファイルを作ってみる。
(VirtualBox4.1.8、Windows7 Pro(64bit)、Core i3 2100T(割当1個)、メモリ8GB(割当512MB)。ちなみにpoolは物理ディスク。)
root@Atora:/pool/archive# dd if=/dev/zero of=test.img bs=8192 count=`expr 1024 \* 1024` 1048576+0 records in 1048576+0 records out 8589934592 bytes (8.6 GB) copied, 134.9 s, 63.7 MB/s
そこそこ速い。
結果を確認。
root@Atora:/pool/archive# df -h Filesystem Size Used Avail Use% マウント位置 pool 914G 22K 914G 1% /pool pool/archive 922G 8.1G 914G 1% /pool/archive
おお、排除された分だけSizeが増えてる。面白い。