2014年3月25日火曜日

ZFS on Mac (5) OpenZFS on OS X、リリース

ZFS on Macが大きなマイルストーンに到達しました。
開発中だったMacZFSのalpha版OpenZFS on OS Xとして3/13にリリースされました。
ZFS on Linux 0.6.2ベースのバリバリの最新版、Snow LeopardからMavericksまで対応と非の打ち所のないZFSです。

じゃあちょっと経緯書くわ。

前回、といっても半年以上前の記事で「MacZFS alpha版の開発がかなり進んでいる」と書いてから色々なことがありました。

まず、昨年11月くらいにZEVOが公式に死亡しました。前回更新時点で死んだも同然でしたが、ZEVOユーザー向けのフォーラムで公式に開発終了が宣言され、Mavericks対応の望みは完全に絶たれました。
もしかしたら、自分が書いたZEVOの紹介を読んだ結果、ZEVOを導入し現在困っている方もいるかもしれません。このように突然未来が無くなる可能性を持つクローズドな、不自由なソフトウェアをある程度好意的に紹介してしまったことをお詫びいたします。

ZEVOの死亡はZEVOユーザーにとってかなりの死活問題でした。なにせこのままではMavericksにアップデートできません。実際自分も未だにMountain Lion使いです。
しかも、ZEVOで作成されるのはv28のプールであるために従来のMacZFSではインポートできません。
つまりZEVOから脱却するにはHFS+ボリュームへの古典的なファイルコピーしかないという悲惨な状況でした。

そこでZFS on Linux(以下ZoL)ベースの新MacZFSの開発への期待が集まることになりました。いえ、自分が期待してただけですが集まっていたと勝手に思ってます。当時はMacZFS alphaとかosx.zfsとかZFS-OSXとか色々な名前で呼ばれていました。

そんな折、昨年9月にOpenZFSプロジェクトが発表されました。これはSolarisのZFSがクローズドソースになった後の、オープンソース版ZFSを利用する各OSのコミュニティが集まって発足したものでした。
現在オープン版のZFSはSolaris系OSであるillumosのソースが大元となり、FreeBSDへの移植、Linuxへの移植(ZoL)、OS Xへの移植(ZoLベース)が進んでいます。
これら同一のコードベースを元にZFSを開発しているコミュニティが合同してZFSコア部分の開発を進めていく、という趣旨なんだと思います。
ちなみに、なぜZFS on MacがZoLの移植、つまり移植の移植なのかというと、ZoLはCCDLとGPL間のライセンス問題からカーネル周り=Linux固有部分=Solaris Porting Layer=SPLと、ファイルシステム本体部分=ZFSのコードが慎重に分離されているため、大げさに言えばSPL相当部分を書くだけでMacに移植できる!ということらしいです。
実際ZoLベースとなってからの驚異的な開発速度を考えるとなるほどと思います。MacでZFSを動かしたいという超ニッチなコミュニティからすれば、LinuxでZFSを動かしたいというかなり需要(=開発者数)の大きそうなコミュニティの成果物を利用できるのは開発速度の加速に貢献していそうだし。

ともかく、OpenZFSの発足により、移植の移植という傍流?だったZFS on MacがOpenZFSという大きなコミュニティの一部として存在感を出せることはかなりプラスになったことでしょう。
当然の帰結として?ZoLをベースとする新MacZFSの名称はOpenZFS on OS X(通称O3X)となりました。

そしてMavericksリリース後も開発が続いていましたが、今月13日になってO3Xのウェブサイトと共にOpenZFS on OS Xの正式版がリリースされました。
それまでの開発版はkextの手動のロードor手動インストールが要求されたので敷居が高かったのですが、ついにインストーラーとして提供されたので簡単に利用できるものになっています。
ZEVOで作成したプールのインポートも謳われています!

ZEVOのような起動時の自動マウントには対応していませんが、wikiの方でautoimport用launchdスクリプトが公開されているので特に問題はありません。
(少なくともVM環境でkextのロードがスクリプトのロードに間に合わなかったので、別途sleepを挟むスクリプトを用意する必要はありましたが)
また、fsバンドルが無いためディスク末尾(diskXs9)に作成されるSolaris Reserved領域を認識できずインポートの度に初期化ダイアログが出るという問題がありますが、実用上問題はありませんし遠くないうちに対策されると思います。
(また、FATでフォーマットしてfstabにマウントしないよう記述することで対策できるとwikiに書かれている。仕様上確保されてるだけの不使用パーティションなのでそれで大丈夫らしいが、いいのかね?)

というわけで、Snow Leopard搭載見送りから始まった苦難のZFS on Macの歴史は、久しぶりにポジティブな意味で新しい時代に突入したみたいです。
実機ではまだZoLで作成してnetatalk用に設定したプールのインポートくらいしか試していませんが、取り急ぎビッグニュースということで。リリース後2週間近く経ってるのでタイムリーでも無いですが、それでも全然日本語圏で話題になってないあたりニッチさを痛感させられますw

今後はVMや実機で例によってnormalizationやcasesensitivity、拡張属性やリソースフォークについて検証して、母艦に投入したいと思います。
早くMavericksにしたい!

0 件のコメント:

コメントを投稿