ZFS
ZFSは、主にオラクルのOracle Solaris上で実装されている128ビット・アドレッシングを特徴とするファイルシステム。今まで Solaris (SunOS) で用いられてきた Unix File System (UFS) の次世代ファイルシステムと位置づけられている。名称は Zettabyte File System に由来する[1]が、現在は何の略称でもないとされる[2]。
目次 |
概要 [編集]
2004年9月にアナウンスがあり、2005年11月リリースのOpenSolaris build 27で実装が公開された。 "Common Development and Distribution License" (CDDL) のもと、オープンソースで開発されている。
特徴として以下の項目が挙げられる。
- チェックサムが64ビット化された
- コピーオンライトの実装
- ボリュームマネージャが必要なく、ボリュームの構成が容易にできるようになった
- ディスクの違い(容量、種類)を吸収する仮想ボリューム(ストレージプールと呼称)をサポート
- ストレージプールの作成・フォーマット・マウントがコマンド一行ですむ
- ファイルシステム自身がRAID機能を持つ
またSolaris10 11/06版より以下の機能が加わった。
- RAID-Z2(ダブルパリティによるRAID-6相当の機能)
- ホットスペア
- クローンプロモーション(アクティブなZFS領域を複製と置換を容易にする機能)
- 再帰的スナップショットコマンドの簡素化オプション
以降の追加機能は下記のバージョン番号を参照。
バージョン番号 [編集]
利用可能な形式と特徴を指定するために、新機能が導入されるに従ってZPoolとZFSのバージョン番号が増える。バージョン番号の一覧は以下の通り。([]内はサポートしているOS)
- 1 Initial ZFS version [Supported by Solaris 10 06/06]
- 2 Ditto blocks (replicated metadata) [Supported by Solaris 10 06/06 build 09]
- 3 Hot spares and double parity RAID-Z [Supported by Solaris 10 11/06]
- 4 zpool history [Supported by Solaris 10 08/07]
- 5 Compression using the gzip algorithm
- 6 bootfs pool property [Supported by FreeBSD 7.0]
- 7 Separate intent log devices
- 8 Delegated administration [Supported by Solaris 10 10/08]
- 9 refquota and refreservation properties
- 10 Cache devices
- 11 Improved scrub performance
- 12 Snapshot properties
- 13 snapused property [Supported by OpenSolaris 2008.11, FreeBSD 8.0]
- 14 passthrough-x aclinherit [Supported by OpenSolaris 2009.06, FreeBSD 8.1]
- 15 user/group space accounting [Supported by Solaris 10 10/09, FreeBSD 8.2, FreeBSD 8-STABLE]
- 16 stmf property support
- 17 Triple-parity RAID-Z
- 18 Snapshot user holds
- 19 Log device removal
- 20 Compression using zle (zero-length encoding)
- 21 Deduplication
- 22 Received properties [Supported by Solaris 10 9/10]
- 23 Slim ZIL
- 24 System attributes
- 25 Improved scrub stats
- 26 Improved snapshot deletion performance
- 27 Improved snapshot creation performance
- 28 Multiple vdev replacements [Supported by FreeBSD 9-CURRENT]
- 29 RAID-Z/mirror hybrid allocator [Supported by Solaris 10 8/11]
- 30 ZFS data set encryption
- 31 Improved 'zfs list' performance [Supported by Solaris 11 Express b151a]
- 32 One MB blocksize
- 33 Improved share support [Supported by Solaris 11 EA b173]
今、自分のシステムでどのバージョンまでサポートしているか知りたい場合は zpool upgrade -v で確認できる。
訴訟合戦 [編集]
2007年9月、ネットアップがZFSは自社の特許を侵害しているとして、開発したサン・マイクロシステムズを訴えた。10月にサン・マイクロシステムズは特許は無効と反訴。互いの経営者同士が自らのブログで応酬を繰り広げていたが、サンがオラクルに買収された後の2010年9月9日、訴訟取り下げで合意した。
キャパシティ [編集]
128ビット・アドレッシングで主な制限は以下の通り。
プラットホーム [編集]
- Solaris(10 6/06以降)
- 10/08版よりブートパーティションとしても作成可能になった。
- OpenSolaris→OpenIndiana
- SPARC及びx86版のOpenSolaris build 27以降で動作する。2008.05版よりデフォルトファイルシステム。
- OpenIndianaは初期リリースoi_148からデフォルトファイルシステムである。
このほか、SunOS系列(Illumos系統含む)ディストリビューションでもサポートされている。
移植 [編集]
CDDLでライセンスされるオープンソースであり、Solaris系以外のUnix系OSにも移植が進んでいる。
- FreeBSD
- i386とAMD64(Intel 64も同義)9.0-RELEASEでZFS v28をサポートしている。
2011/2/28時点ではカーネル側の未サポートが理由でiSCSIを経由した共有ZVOLs機能 (zfs set shareiscsi) は実現されていない。 - NetBSD
- 2007年の Google Summer Code で開発が始められている。
- Mac OS X
- 10.5 Leopard より搭載されているが、初期リリースの10.5.0では読み込みのみの対応にとどまる。10.6 Snow Leopard では、サーバ版で標準対応することが発表されていたものの 10.6.1 リリースでも実現せず、結局アップルは ZFS プロジェクトを停止した[3]。Btrfsを開発中のオラクルによるサン・マイクロシステムズ買収に伴いZFSの将来が不透明になったためと報じられている(ただし、Btrfs は 2011年夏になっても Fedora 16 でデフォルトファイルシステムに採用予定とされている程度[4]であり、ZFS がすでに5年以上の実績があり、他プラットホームへの移植も進んでおり、後述のようにLinux上でのライセンス問題を克服するための動きもあるのとはかなりの差が開いている)。ただしアップルの援助が止まっただけであり、プロジェクト自体は Google Code にホスティングを移して、細々とではあるが続いている[2]。
- Linux
- CDDLがGPLに抵触するというライセンスの問題のため、FUSEというユーザー空間のファイルシステムドライバを利用する形となっている。このため、一部の機能は制限される。この実装は2006年の Google Summer Code から始まっている。zfs-fuse の名称で、Red Hat Enterprise Linux の EPEL や Ubuntu 10.04 以降など各種 Linux ディストリビューションに含まれている。
- 2010年頃から別個に2本のネイティブポート版開発プロジェクトが動いており、そのうち KQ infotech のパッケージは POSIX 準拠である。
脚注 [編集]
- ^ You say zeta, I say zetta (Jeff Bonwick's Blog)
- ^ ZFS FAQ (Community Group zfs.faq) - XWiki
- ^ Thom Holwerda (2009年10月23日). “Apple Shuts Down Mac OS X ZFS Project”. 2009年10月26日閲覧。[1]
- ^ 実際にはその後Fedora 16ではデフォルトにはならなかった。
外部リンク [編集]
- OpenSolaris Community Group zfs Pages
- Solaris 10ファイルシステムZFS誕生エピソード『心を解き放て!』
- ZFS - FreeBSD Wiki
- Native ZFS for Linux
- ZFS for Linux (ZFS-FUSE)
|
||||||||||||||
|
||||||||||||||||||||||||||||||