ZFS
ZFS | |
---|---|
開発者 | Oracle Corporation |
正式名 | ZFS |
導入 | 2005年11月OpenSolaris) | (
構造 | |
ディレクトリ | ハッシュテーブル |
限度 | |
最大ファイル サイズ | 16 EiB (264 バイト) |
最大ファイル数 | 248 |
最大ファイル名長 | 255 バイト |
最大ボリューム サイズ | 256 ZiB (278 バイト) |
特徴 | |
フォーク | 有り |
属性 | POSIX |
パーミッション | POSIX, NFSv4 ACL |
透過的圧縮 | 有り |
透過的暗号化 | 有り |
重複排除 | 有り |
対応OS | Solaris, OpenSolaris, illumos, OpenIndiana, FreeBSD, Mac OS X Server 10.5, NetBSD, Linux(サードパーティ カーネル・モジュール、または FUSE) |
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領域を複製と置換を容易にする機能)
- 再帰的スナップショットコマンドの簡素化オプション
以下に記載されていない機能追加として、Oracle Solaris Solaris SRU 11.2.8.4.0 などより、Persistant L2ARC (ブートをまたがるL2ARC の内容の再利用)が追加されている。 ([他の環境での実装状況を記載する必要あり])
以降の追加機能は下記のバージョン番号を参照。
バージョン番号[編集]
利用可能な形式と特徴を指定するために、新機能が導入されるに従って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]
- 34 Sharing with inheritance [Supported by Oracle Solaris 11 Update 1 or later]
- 35 Sequential resilver [Supported by Oracle Solaris 11 Update 1 or later]
今、自分のシステムでどのバージョンまでサポートしているか知りたい場合は 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
- x64の9.0-RELEASEでZFS v28をサポートしている。IA-32でも一応動作するが、実用的に使うのは難しい(カーネルが多量のメモリを必要とするが、32ビット空間の限界がある、等)。
2011/2/28時点ではカーネル側の未サポートが理由でiSCSIを経由した共有ZVOLs機能 (zfs set shareiscsi) は実現されていない。また10.x以降はAFT(4KB/セクタ)を自動的に認識してZFS poolを作成するようになった。 - NetBSD
- 2007年の Google Summer of Code で開発が始められたが、2016年時点でメンテナンスされていない[3]。
- Mac OS X
- 10.5 Leopard より搭載されているが、初期リリースの10.5.0では読み込みのみの対応にとどまる。10.6 Snow Leopard では、サーバ版で標準対応することが発表されていたものの 10.6.1 リリースでも実現せず、結局アップルは ZFS プロジェクトを停止した[4]。Btrfsを開発中のオラクルによるサン・マイクロシステムズ買収に伴いZFSの将来が不透明になったためと報じられている。ただしアップルの援助が止まっただけであり、プロジェクト自体は 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 準拠である。
- また ZFS on Linux と呼ばれるプロジェクトも進行しており[5]、Debian / CentOS / Ubuntu / Fedora などといったディストビューションで ZFS を用いることができる。
- Ubuntu 16.04にてZFSを正式採用することが発表された。[6]
脚注[編集]
- ^ You say zeta, I say zetta (Jeff Bonwick's Blog)
- ^ ZFS FAQ (Community Group zfs.faq) - XWiki
- ^ “クレア工房 / NetBSD / ZFS”. 2017年3月26日閲覧。
- ^ Thom Holwerda (2009年10月23日). “Apple Shuts Down Mac OS X ZFS Project”. 2009年10月26日閲覧。[1]
- ^ http://zfsonlinux.org/
- ^ http://blog.dustinkirkland.com/2016/02/zfs-is-fs-for-containers-in-ubuntu-1604.html
外部リンク[編集]
- OpenSolaris Community Group zfs Pages
- Solaris 10ファイルシステムZFS誕生エピソード『心を解き放て!』
- ZFS - FreeBSD Wiki
- Native ZFS for Linux
- OpenZFS
|