「ZFS」の版間の差分
m Bot作業依頼: Apple関連記事の改名に伴うリンク修正依頼 (iOS (Apple)) - log |
m Bot作業依頼: Apple関連記事の改名に伴うリンク修正依頼(2) (iOS (Apple)) - log |
||
128行目: | 128行目: | ||
: 2007年の [[Google Summer of Code]] で開発が始められたが、2016年時点でメンテナンスされていない<ref>{{cite web|url=https://www.clarestudio.org/netbsd/zfs.html|title=クレア工房 / NetBSD / ZFS|accessdate=2017年3月26日}}</ref>。 |
: 2007年の [[Google Summer of Code]] で開発が始められたが、2016年時点でメンテナンスされていない<ref>{{cite web|url=https://www.clarestudio.org/netbsd/zfs.html|title=クレア工房 / NetBSD / ZFS|accessdate=2017年3月26日}}</ref>。 |
||
; [[macOS|macOS(旧Mac OS X)]] |
; [[macOS|macOS(旧Mac OS X)]] |
||
: [[Mac OS X v10.5|10.5 Leopard]]より搭載されている<ref>{{Cite web|title=Sun、NetApp逆提訴へ--LeopardのZFSに影響は?|url=https://japan.zdnet.com/article/20359577/|website=ZDNet Japan|date=2007-10-25|accessdate=2021-02-14|language=ja}}</ref>が、初期リリースの10.5.0では読み込みのみの対応にとどまる。[[Mac OS X v10.6|10.6 Snow Leopard]] では、サーバ版で標準対応することが発表されていたものの10.6.1 リリースでも実現せず、結局[[Apple]]はZFSプロジェクトを停止した<ref>{{Cite web|title=Mac OS Forgeの「ZFS移植プロジェクト」が終了--AppleがZFSサポートを打ち切った理由|url=https://builder.japan.zdnet.com/os-admin/sp_snow-leopard-09/20402279/|website=builder by ZDNet Japan|accessdate=2021-02-14|language=ja}}</ref><ref>{{cite web|url=http://www.osnews.com/story/22388/Apple_Shuts_Down_Mac_OS_X_ZFS_Project|author=Thom Holwerda|title=Apple Shuts Down Mac OS X ZFS Project|date=2009-10-23|accessdate=2009年10月26日}}[http://www.osnews.com/story/22388/Apple_Shuts_Down_Mac_OS_X_ZFS_Project ]</ref>。[[Btrfs]]を開発中のオラクルによるサン・マイクロシステムズ買収に伴いZFSの将来が不透明になったためと報じられている<ref>{{Cite web|title=Apple dumps Sun's ZFS|url=https://www.theregister.com/2009/10/25/apple_drops_zfs/|website=www.theregister.com|accessdate=2021-02-14|language=en|first=Chris|last=Mellor}}</ref>。その後、'''MacZFS'''プロジェクトがGoogle Codeのホスティングで続いていたが2013年に終了した[http://code.google.com/p/maczfs/]。アップルは別途、[[Apple File System]]を開発、2017年に [[ |
: [[Mac OS X v10.5|10.5 Leopard]]より搭載されている<ref>{{Cite web|title=Sun、NetApp逆提訴へ--LeopardのZFSに影響は?|url=https://japan.zdnet.com/article/20359577/|website=ZDNet Japan|date=2007-10-25|accessdate=2021-02-14|language=ja}}</ref>が、初期リリースの10.5.0では読み込みのみの対応にとどまる。[[Mac OS X v10.6|10.6 Snow Leopard]] では、サーバ版で標準対応することが発表されていたものの10.6.1 リリースでも実現せず、結局[[Apple]]はZFSプロジェクトを停止した<ref>{{Cite web|title=Mac OS Forgeの「ZFS移植プロジェクト」が終了--AppleがZFSサポートを打ち切った理由|url=https://builder.japan.zdnet.com/os-admin/sp_snow-leopard-09/20402279/|website=builder by ZDNet Japan|accessdate=2021-02-14|language=ja}}</ref><ref>{{cite web|url=http://www.osnews.com/story/22388/Apple_Shuts_Down_Mac_OS_X_ZFS_Project|author=Thom Holwerda|title=Apple Shuts Down Mac OS X ZFS Project|date=2009-10-23|accessdate=2009年10月26日}}[http://www.osnews.com/story/22388/Apple_Shuts_Down_Mac_OS_X_ZFS_Project ]</ref>。[[Btrfs]]を開発中のオラクルによるサン・マイクロシステムズ買収に伴いZFSの将来が不透明になったためと報じられている<ref>{{Cite web|title=Apple dumps Sun's ZFS|url=https://www.theregister.com/2009/10/25/apple_drops_zfs/|website=www.theregister.com|accessdate=2021-02-14|language=en|first=Chris|last=Mellor}}</ref>。その後、'''MacZFS'''プロジェクトがGoogle Codeのホスティングで続いていたが2013年に終了した[http://code.google.com/p/maczfs/]。アップルは別途、[[Apple File System]]を開発、2017年に [[iOS (Apple)|iOS 10.3]]と[[macOS High Sierra]]でリリースした<ref>{{Cite web|title=今度のアップデート「iOS 10.3」は慎重に、ってどういうこと? - いまさら聞けないiPhoneのなぜ|url=https://news.mynavi.jp/article/20170328-iphone_why/|website=マイナビニュース|date=2017-03-28|accessdate=2021-02-14|language=ja}}</ref><ref>{{Cite web|title=アップル、次期macOS「High Sierra」を9月26日にリリースへ|url=https://japan.zdnet.com/article/35107173/|website=ZDNet Japan|date=2017-09-13|accessdate=2021-02-14|language=ja}}</ref>。 |
||
:2020年11月30日に[[MacOS Big Sur]], [[MacOS Catalina|Catalina]], [[MacOS Mojave|Mojave]]に対応した'''OpenZFS on OS X''' 2.0がリリースされた<ref>{{Cite web|title=OpenZFS on OS X • View topic - OpenZFS-2.0-release|url=https://openzfsonosx.org/forum/viewtopic.php?f=20&t=3478|website=openzfsonosx.org|accessdate=2021-02-14}}</ref>。 |
:2020年11月30日に[[MacOS Big Sur]], [[MacOS Catalina|Catalina]], [[MacOS Mojave|Mojave]]に対応した'''OpenZFS on OS X''' 2.0がリリースされた<ref>{{Cite web|title=OpenZFS on OS X • View topic - OpenZFS-2.0-release|url=https://openzfsonosx.org/forum/viewtopic.php?f=20&t=3478|website=openzfsonosx.org|accessdate=2021-02-14}}</ref>。 |
||
; [[Linux]] |
; [[Linux]] |
2021年5月23日 (日) 03:21時点における版
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は、主にオラクルの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のバージョン番号が増える。バージョン番号の一覧は以下の通り[3]。([]内はサポートしているオペレーティングシステム)
- Initial ZFS version [Supported by Solaris 10 06/06]
- Ditto blocks (replicated metadata) [Supported by Solaris 10 06/06 build 09]
- Hot spares and double parity RAID-Z [Supported by Solaris 10 11/06]
- zpool history [Supported by Solaris 10 08/07]
- Compression using the gzip algorithm
- bootfs pool property [Supported by FreeBSD 7.0]
- Separate intent log devices
- Delegated administration [Supported by Solaris 10 10/08]
- refquota and refreservation properties
- Cache devices
- Improved scrub performance
- Snapshot properties
- snapused property [Supported by OpenSolaris 2008.11, FreeBSD 8.0]
- passthrough-x aclinherit [Supported by OpenSolaris 2009.06, FreeBSD 8.1]
- user/group space accounting [Supported by Solaris 10 10/09, FreeBSD 8.2, FreeBSD 8-STABLE]
- stmf property support
- Triple-parity RAID-Z
- Snapshot user holds
- Log device removal
- Compression using zle (zero-length encoding)
- Deduplication
- Received properties [Supported by Solaris 10 9/10]
- Slim ZIL
- System attributes
- Improved scrub stats
- Improved snapshot deletion performance
- Improved snapshot creation performance
- Multiple vdev replacements [Supported by FreeBSD 9-CURRENT]
- RAID-Z/mirror hybrid allocator [Supported by Solaris 10 8/11]
- ZFS data set encryption
- Improved 'zfs list' performance [Supported by Solaris 11 Express b151a]
- One MB blocksize
- Improved share support [Supported by Solaris 11 EA b173]
- Sharing with inheritance [Oracle Solaris 11.1 or later]
- Sequential resilver [Oracle Solaris 11.2 or later]
- Efficient log block allocation [Oracle Solaris 11.3 or later]
- lz4 compression
- xcopy with encryption [Oracle Solaris 11.4 or later]
- reduce resilver restart
- Deduplication 2
- Asynchronous dataset destroy
- Support for reguid
- RAID-Z enhancements and cloud device support
- Device Removal
今、自分のシステムでどのバージョンまでサポートしているか知りたい場合は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系オペレーティングシステムにも移植が進んでいる。
- 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年時点でメンテナンスされていない[4]。
- macOS(旧Mac OS X)
- 10.5 Leopardより搭載されている[5]が、初期リリースの10.5.0では読み込みのみの対応にとどまる。10.6 Snow Leopard では、サーバ版で標準対応することが発表されていたものの10.6.1 リリースでも実現せず、結局AppleはZFSプロジェクトを停止した[6][7]。Btrfsを開発中のオラクルによるサン・マイクロシステムズ買収に伴いZFSの将来が不透明になったためと報じられている[8]。その後、MacZFSプロジェクトがGoogle Codeのホスティングで続いていたが2013年に終了した[2]。アップルは別途、Apple File Systemを開発、2017年に iOS 10.3とmacOS High Sierraでリリースした[9][10]。
- 2020年11月30日にMacOS Big Sur, Catalina, Mojaveに対応したOpenZFS on OS X 2.0がリリースされた[11]。
- Linux
- CDDLがGPLに抵触するというライセンスの問題があり、また、ZFSの権利を保有するオラクルの姿勢を踏まえ、Linuxの生みの親リーナス・トーバルズがカーネルへマージしない姿勢を表明している為[12]、Linuxではカーネル空間に統合された手法での利用は出来ない。
- FUSEというユーザー空間のファイルシステムドライバを利用する形での実装例は存在しているが、ユーザー空間の実装であるため、一部の機能は制限される。この実装は2006年のGoogle Summer Codeから始まっている。zfs-fuseの名称で、Red Hat Enterprise LinuxのEPELやUbuntu 10.04以降など各種Linuxディストリビューションに含まれている。
- 2010年頃から別個に2本のネイティブポート版開発プロジェクトが動いており、そのうちKQ infotechのパッケージはPOSIX準拠である。
- またZFS on Linuxと呼ばれるプロジェクトも進行しており[13]、Debian / CentOS / Ubuntu / FedoraなどといったLinuxディストビューションでZFSを用いることができる。
- Ubuntu 16.04にてZFSを正式採用することが発表された[14]。
脚注
- ^ You say zeta, I say zetta (Jeff Bonwick's Blog)
- ^ ZFS FAQ (Community Group zfs.faq) - XWiki
- ^ “Managing ZFS File Systems in Oracle Solaris 11.4” (PDF). 2019年6月10日閲覧。
- ^ “クレア工房 / NetBSD / ZFS”. 2017年3月26日閲覧。
- ^ “Sun、NetApp逆提訴へ--LeopardのZFSに影響は?”. ZDNet Japan (2007年10月25日). 2021年2月14日閲覧。
- ^ “Mac OS Forgeの「ZFS移植プロジェクト」が終了--AppleがZFSサポートを打ち切った理由”. builder by ZDNet Japan. 2021年2月14日閲覧。
- ^ Thom Holwerda (2009年10月23日). “Apple Shuts Down Mac OS X ZFS Project”. 2009年10月26日閲覧。[1]
- ^ Mellor, Chris. “Apple dumps Sun's ZFS” (英語). www.theregister.com. 2021年2月14日閲覧。
- ^ “今度のアップデート「iOS 10.3」は慎重に、ってどういうこと? - いまさら聞けないiPhoneのなぜ”. マイナビニュース (2017年3月28日). 2021年2月14日閲覧。
- ^ “アップル、次期macOS「High Sierra」を9月26日にリリースへ”. ZDNet Japan (2017年9月13日). 2021年2月14日閲覧。
- ^ “OpenZFS on OS X • View topic - OpenZFS-2.0-release”. openzfsonosx.org. 2021年2月14日閲覧。
- ^ Don't use ZFS ―Linus,ZFSをマージしない姿勢をあらためて強調
- ^ http://zfsonlinux.org/
- ^ http://blog.dustinkirkland.com/2016/02/zfs-is-fs-for-containers-in-ubuntu-1604.html