ZFS is a new kind of file system that provides simple administration, transactional semantics, end-to-end data integrity, and immense scalability.

ZFSの開発者であるJeff Bonwick氏が2日(米国時間)、自身のブログZFS DeduplicationにおいてZFSにディデュプリケーション機能を追加したと発表した。ディデュプリケーションは重複するデータを取り除く機能で、スペースの削減とケースによってはパフォーマンスの向上が見込める。ファイルレベル、ブロックレベル、バイトレベルでの実装があり、それぞれ同期処理と非同期処理というやり方がある。

ZFSに追加されたのはブロックレベルで同期的に動作するディデュプリケーション機能。高性能機で大規模なストレージとして活用することを想定して、この設計になっているという。具体的には次のようにdedupプロパティを設定すればいいと、いくつか操作コマンドが紹介されている。

zfs set dedup=on tank

zfs set dedup=off tank/home

zfs set dedup=on tank/vm

zfs set dedup=on tank/src

zfs set dedup=verify tank

zfs set dedup=fletcher4,verify tank

重複するブロックを持っている場合、ディデュプリケーション機能を有効にすることでスペースの削減とパフォーマンスの改善が期待できる。逆に重複していない場合には、ディデュプリケーション機能を有効にすることでパフォーマンスが劣化することになると説明がある。

ZFSはSun Microsystemsで開発されたエンタープライズクラスのファイルシステム。ボリューム管理とファイルシステムの双方の機能を持ち、大規模ストレージで活用されている。SolarisおよびOpenSolarisで利用できるほか、FreeBSDでも採用されている。NetBSDへはまだ開発段階だが移植が実施された。Mac OS Xでの採用も噂されていたが、先日搭載はないことが明かになった。