btrfs
重複排除機能
ファイルサーバの用途として利用しているときに、同じファイルがコピーされて別のフォルダに置かれたり、たまたま同じファイルを別の人が個々の個人フォルダに持っていたりということが多々あります。
そのようなときに、btrfsの重複排除機能を利用すると、重複したファイルがあっても利用するディスク領域を1つ分にでき、ディスクスペースを節約できます。 特に不特定多数のユーザが大量にデータを保存する共有サーバなどで効果的です。
btrfsで重複排除を利用するには、bedupというツールを利用します。
bedupのインストール
# apt-get install python-pip build-essential libffi-dev python-dev # pip install --user cffi # git clone https://github.com/g2p/bedup # cd bedup # python setup.py install --user
以上で、~/.local/binにbedupがインストールされます。重複排除を実行するには、
# ~/.local/bin/bedup dedup
を実行します。例えば、test1.img、test2.img、test3.imgと同じファイルがある場合、 下記のように実行されます。
# .local/bin/bedup dedup Not scanning /mnt, generation is still 89 Deduplicating filesystem {d8c2f01b-be6d-4262-8a4e-6f4bd6130b12} Deduplicated: - u'/mnt/lv/test1.img' - u'/mnt/lv/test2.img' Deduplicated: - u'/mnt/lv/test1.img' - u'/mnt/lv/test3.img' 00.79 Size group 1/1 sampled 3 hashed 3 freed 104857600 00.01 Committing tracking state