たとえば、従来はディスクユニット(ボリューム)とファイルシステムが密接な関係を持っており、ファイルシステム上のマウントポイントとボリュームが1対1に関連していた。このためファイルシステムの容量を増設しようとしても、さまざまな工夫が必要であった。
これに対してZFSではディスクを「プール」と呼ばれる形で管理し、ファイルシステムにはそこから必要な容量を提供するようになっているので、ディスクを増やしたい場合は新しいディスクユニットをプールに追加すればよい。
また、プールには物理的なディスクユニットだけでなく、ディレクトリ、ファイル、USBメモリ等も追加できる。そのため管理者にはZFS管理の練習を簡単に実行できるメリットもある。
「従来、ファイルシステムの増設にはディスクドライブの増設が必要だったので、練習するのも簡単ではありませんでしたが、ZFSならファイルやディレクトリをディスクに見立てられるので、簡単に練習ができ、管理者のスキル向上に役立っています」(国谷氏)。
大容量への対応だけでなく、耐障害性の確保もZFSの特長だ。ZFSではファイル書き込みの際に「Copy-on-Write」という手法を採用。これは、ファイルの内容を変更(上書き保存)する際、(1)既存のデータを残した状態で変更すべきブロックの内容を空き領域にコピーし、(2)コピーされた領域を更新(書き込み)し、(3)使用ブロックの位置指定を更新したブロックへ変更するという、一連のトランザクションとして実行される。こうすることで、ファイル更新の際、どのシーケンスにおいても既存のデータ消失という危険性が皆無、つまり「データが壊れない」という効果が得られるのだ。ストレージシステムが提供するハードウェア RAID ではこうした書き込み時の事故に対して無力であること事を考えると、データ整合性を考える上で非常に重要な機能と言える。
また、Copy-on-Write によりファイル変更を行うということは、ファイルシステムのスナップショットの作成も容易である。スナップショット作成を指示すると、その時点のファイルシステムの状態を記録し、それ以降の変更に関しては変更履歴が記録される。こうすることで、容量の節約と、任意の時点でのファイルシステムの状態を保存しておけるようになっている。
また、ディスク上でのデータブロックの管理においては、データとそのチェックサムを記録するようになっている。この「End-to-End Checksum」ではファイルのデータリンクを追って完全性をチェックし、ファイルの破損がある場合、すぐに判明するようになっている。この機能を応用することで、ミラーリング環境では、データセットのどちらに障害が発生しデータの破損が起こったのかを自動判断し、補正を実行できるようになっている。
国谷氏は「アプリケーションのデータの完全性は、SIerやプログラマが作り込むことによって確認するものではなく、OSが担保すべきものです」と語り、Solaris 10の優位性を強調する。