ラベル Mac の投稿を表示しています。 すべての投稿を表示
ラベル Mac の投稿を表示しています。 すべての投稿を表示

2018/04/07

ZFSの新機能?デバイス取り外しを試す

実に2016年以来のZFSネタです。

ZFSといえば私の信奉する最強ファイルシステムということで、特にMacでの利用について思い返せば5年以上前から取り上げていたものです。

何が最強かというと色々あるわけですが、強力なのは論理ボリュームマネージャに相当する機能が組み込まれておりRAID・領域切り出し・スナップショット等々が自由自在というあたりです。

が、自由自在なZFSでも数少ない不自由がスケールアップが簡単でもスケールダウンができないこと。つまり、2台ミラーリングのプールに更に2台ミラーリングを追加して容量拡大するのは容易ですが、容量に空きがあってもそこからディスク本数を減らすことは基本的にできなかったのです。

なんですが、なんとついにこの機能が実装されたらしい。まだあらゆる環境で使えるわけではないですが、意外なことにMacで簡単に試せるので試してみました。

結論から言うとRAID-Zでは使えなかったので過度な期待は禁物ですが、それ以外は期待した動作をしてくれました。

2018/03/28

High Sierra 10.13.3/10.13.4でBrackets/Atom/VS Codeが重い問題を解決する。


お久しぶりです。どうにも継続力が無いんでブログは放置してしまう。

今回はちょっとしたトラブルシューティング。macOS High Sierra 10.13.3の環境で、Brackets / Atom / Visual Studio Code等のElectron系エディタ(あるいはElectron系アプリケーション)の動作が非常に重くなる問題に遭遇したので解決方法をメモっておきます。

結論から言うと、NVIDIA Web Driver利用の環境の場合10.13.2用ドライバにバージョンダウンすることで解決します。なのでもし非Web Driver環境で重い場合は解決しません。

経緯から書いていくので、詳細な対処法だけ確認したい場合は後半まですっ飛ばしてください。

【2018/3/31更新】 
High Sierra 10.13.4アップデートが提供されましたが、10.13.3と同様の症状・解決策でした。末尾に追記しています。

2016/07/18

ZFSミラーのアップグレード


毎回毎回GPD WINのネタばかりでもあれなんで、たまには自作の話でも。

OpenZFS on OS Xを導入しているosx86機でHDDを交換する話を備忘録がてら記録しておこうと思います。

2015/03/10

新MacBookは最高のMacだが、最高のPCではない。

「最高のPCではないが、最高のMacである」とどちらをタイトルにするか迷った。

というわけで出ました、MacBook Air Retina 12インチ改め「新しいMacBook」。
正直「11インチの筐体のベゼル削ってRetina12インチ液晶入れただけでしょ?」くらいに思っていてノーマークだったので、思いの外良いモノが出てきて動揺しました。
なにせ小さいVAIOが出なかった心理的ダメージを抱えていた上、資金的にもVAIO想定予算そのままの15万円前後(16万円)で出てきたので危うくポチりそうになった・・・らポチれなかった(販売開始前)のでよかった。

あまりにも素晴らしいMacだったので飛びつきたくなったものの、一晩経って考えてみると結構微妙な製品の気がしてきます。そのあたりをセグメントが被っているVAIO Proと比較しながら考えてみます。

2014/07/28

OpenZFS on OS X (10) 1.3.0リリース

速報でもなんでもないですが、表題の通りOpen ZFS on OS X(以下O3X)の1.3.0がリリースされました。
7月24日のリリースですが、6月にリリースされた本家ZFS on Linux 0.6.3を早くも取り込んでいます。
詳しいことは公式のchangelogを見るとして、とりあえず導入してみて感じたことをまとめると以下のようになります。

・GUIの通知が出るようになった
・正常シャットダウンができるようになった
・rootじゃなくても色々操作できるようになった(っぽい)
・zpool historyが出てくる
・rc.local無しでホームディレクトリのマウントができるようになった

2014/06/02

壊れたZFSホームディレクトリを復旧する

Open ZFS on OS Xの1.2.7がリリースされました
おいおいちゃんとテストしてんのかよってツッコミたくなるような間隔でRCが乱発されていたので(ここらへん見るととってもヤバイ感じです)、ちょっと尻込みもしましたがまあ別に1.2.0もさして安定してないし入れてみました。

アプデ内容としては、1.2.0で全然使ってなかったメモリをちゃんと使うようになったのが大きいんじゃないかと思います。特に超遅かったzvolやzpool scrubに効果がありそう。「ありそう」なのはまだ試せてないからです。まだ社会人の生活リズムに慣れてないもんで時間が・・・


わかりやすいところだと、snapshotがマウントできるようになりました。1.2.0まではマウントができなかったため、snapshotにアクセスするためには一時的にzfs cloneしてからcloneファイルシステムをマウントし、使い終わったらcloneファイルシステムをdestroy、という煩雑な作業が必要でした。zfs mountだけでマウントできるようになったので、TimeMachine的な使い方がしやすくなりました。

で、今回はそのZFS snapshotを利用したTimeMachineごっこの話。

2014/04/27

OpenZFS on OS X (9) ZFSをホームディレクトリにする

前回の後半でZFSをホームディレクトリにするとマウントが間に合わず自動ログインできない、ということを書いていましたが解決しました。
わかってしまえばどうということはなく、zpool importをlaunchdスクリプトではなくrc.localに記述すればいいというだけの話。rc.localは後方互換性のためだけに残されてて優先順位は低いと思ってたので盲点でした。

以下、細かい注意点など。

2014/04/26

OpenZFS on OS X (8) では、いじってみる。

もはやZFSの話しかしていないこのブログ・・・VAIO Duo以降さしたるガジェットも買ってないし。と思ったらそういえばiPad mini retinaを買っていた。UMPCが本当にジャンルごと死んでしまったので、Ultrathin Keyboard Folio for iPad mini買ってUMPC風に使ってます。便利すぎてPC好きとしては逆に辛かったり。

で、結局OpenZFS on OS X(O3X)の話題です。ある程度ZEVOをリプレースする目処が立ったので、メインマシンの環境をZEVOから移行してMavericksにアップグレードしました。
しかし、現状ではEAやACL周りの挙動が怪しい、zvolがかなり遅い、ARCが小さいので全体的に遅い、などかなり未完成な印象なので、検証用以外のストレージに導入するのはまだオススメできません。
自分はZEVOの時点でメインのストレージ(3TBx2)をZFSにしちゃったんでもう後には引けないですがw 今更AppleRAIDにも戻りたくない。

今回は特にまとまってないZFS on MacあるいはO3X固有の話題についてつらつら書いていこうかと。

2014/04/06

OpenZFS on OS X (7) 拡張属性の互換性

OpenZFS on OS X(O3X)検証の続きということで、拡張属性(Extended Attributes)編です。
特に、ZEVOから利用しているデータセットをO3Xに移行する際の問題についてそれなりに詳細に記しています。

基本的にZEVOについて書いた昔の記事の流れを汲んだものです。


2014/03/31

OpenZFS on OS X (6) ファイル名関連の挙動

「ZFS on Mac」というタイトルで続けてきたこのシリーズですが、OpenZFS on OS Xの正式リリースに対応して改題しました。
本命中の本命ですし、ZFS on Macに「次」は多分無いでしょうから・・・

しかし長い名前ですね。長いのでOpenZFS on OS X=OoO X=O3Xという略称が提唱されています。
MacZFSの後継として名前を継承するか、OpenZFSの一味として名前を付けるかで若干モメたっぽいですが、OpenZFSを採ったようです。
(英語の微妙なニュアンスもわからない上、一番活発なircを見ておらずMLだけ斜め読みした感覚なので完全に余談ですが、旧来のMacZFSを開発してきた人達とZFS on Linuxベースで開発を進めてきた人達はあまり仲良くなさそうな気がします。まあMacZFS側からすると黒船襲来っぽい感じで(違うか)わからないでもないけど・・・)

さて、今回からはOpenZFS on OS X(以下O3X)について検証していきたいと思います。
思いつく範囲だと
・HFS+との差異
・ZEVOとの相互運用性
・ZFS on Linux等他のZFS実装との相互運用性
・netatalk+ZFS環境との相互運用性
こんなところでしょうか。

一番気になるのはZEVOとの相互運用性です。
というか、(一方通行な)ZEVOからの移行問題ですね。移行できればもうZEVOに戻ってくることはないので。

その他の相互運用性は蛇足ですが、トラブル時のデータ復旧などでは他のプラットフォームでマウントできた方が嬉しいことが多いです。
netatalk動いてるサーバーが死んだ際に取り急ぎHDDだけMacに繋いでデータが読めれば便利ですし、本家たるillumosで読める状態で運用できれば安心感が増します。
実際、ZFS on Linuxでresilverが延々繰り返されるトラブルに遭遇した際、OpenIndianaでimportしたら何事もなく完了した、なんてこともあったし。
このあたりについてはillumos・FreeBSD・ZoL・O3Xは共にOpenZFS陣営なのでfeature flagsの対応/非対応だけ注意してれば容易にimportできます。
-o version=28でzpool createしておけばSolaris11でも読めるはずです。

とりあえず今回の話題は(大して問題のなさそうな)ファイル名についてです。

2014/03/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です。

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

2013/09/07

ZFS on Mac (4.1) MacZFS alpha近況

大して内容が無いので5じゃなく4.1。

MacZFS alpha版の開発がかなり進んでいるみたいです。前回は「フォルダコピーでクラッシュ」というのもとうに解決され、今ではちょっと試したくらいでは不具合が見つからない程度まで安定している(ように思えます)。
バリバリの開発途上なので常用できるわけではもちろん無いですが、ビルド済みのバイナリが上がっているので手軽に遊んでみることはできます(貼っていいかはわからないが、登録せずに参照できるMLに貼られているURLだからよしとしよう・・・)。


ZFSといえば、ZFS on Linuxもstableが0.6.2になりましたが、既にMacZFSにも取り込まれているという・・・何やら凄いスピードで開発が進んでます。
OpenSolarisベースではなくZFS on Linuxベースの開発に移行してから、(どうやら)スーパーハカーならぬスーパーデベロッパーが降臨したらしく半年ほどで「とりあえずモジュールがロードできる」から「だいたい動く」まで進んでいるらしい。速すぎてわけがわからない。ファイルシステムですよ?

ZEVOで問題のあったフォルダのカスタムアイコンなんて言うに及ばず、ZEVOでは非対応だったzvolまで既に対応していたり。zvolがあればZFSのプール上にHFS+のボリュームも作れるので、正規化等々HFS+との互換性が問題になるケースでも問題を起こさず運用できる見通しが立ちます。
NAS→ZFS→zvol→iSCSI→Macでようやく動かせたHFS+ on zpoolがいとも簡単にできるようになる(はず)。

そんなわけで、約1年前に書いた動向なんて何の役にも立たないほど状況が激変してます(ZEVOの逝去含め)。

いやーstableなMacZFSの停滞、ZEVO CEがリリースされるまでの牛歩のような日々を考えると、ここまで情報を追いかけるのが大変になるとは思わなかった。
LeopardにZFSが載るという話が出てから今日までの(そしてこれからも続くであろう) 紆余曲折はそれだけでもちょっとした本になりそう(言い過ぎ?)。

ここまでハイペースで開発が進んでいると、Mavericksに本格的に移行するまでにはstable(少なくともrcくらい)は間に合うんじゃないかと期待してしまいますね。

2013/08/04

ZFS on Mac (4) ZEVOの問題点

前回までにMac向けZFSとしてZEVOの紹介や簡単な検証を行ってきたわけですが、何もかもうまくいくわけではなく多少の問題があることもわかってきました。
これまでの記事を読んで「ZEVO使えるかな?」と思って導入したら困った、という人が出ないようにZEVOのダメなところも気付いた範囲でまとめてみようかと思います。

その中でも特に大きかったのが前々回の更新から半年以上浦島太郎していたことによるZEVOを取り巻く状況の変化です。これについては後半に書きます。

2013/07/30

ZFS on Mac (3) ZEVOとHFS+の互換性

前回から長いこと放置してしまったわけですが、そろそろ本格的にZEVOを導入したくなってきたのでちゃんと検証してみようかと。

そんなこんなしてる間にZFS on Linuxもstableになったり長らく休眠してたMacZFSも更新されてたりしますが、ZEVOは相変わらず1.1.1のままなので特に取り巻く状況は前回から変わらず。

本格的に使っていくにあたって、検証しておきたいこととしては
・本家SolarisのZFSv28と比較し各機能(サブコマンド・Snapshot等)はどれだけ実装できているか?
・SolarisやZFS on Linuxとの相互利用はどれだけ可能か?(緊急時のサルベージを考慮して)
・現在使っているオレオレバックアップスクリプトは動くか?
・パフォーマンスは実用レベルか?
・不安定になったり、特定の操作でカーネルパニックになったりしないか?(重要)
・データ消えない?(最重要&しかし完全検証不可)
・リソースフォークや拡張属性、AppleDoubleの動作がどうなっているか
・大文字/小文字の区別やUnicode正規化など、HFS+と同様に扱えるか
といった点が挙げられますが、ZFS独自のメリットを享受する以前にHFS+で動いていたものが動かなくなると大変なので、まずは後ろ2つについて検証してみる。

2012/11/01

ZFS on Mac (2) ZEVOのインストール

前回からだいぶ時間が経ってしまいましたが、ZFS on Macの続きです。

前回はZFSを取り巻く状況について軽く触れ、Mac向けZFSとしてZEVOなるものが存在することを紹介しました。
さて今回はZEVOについて・・・と行きたいところですが、前回「Solaris以外でのZFSについて」なんて書いたばっかりにSolarisとそれ以外のOSにおけるZFSの関係について完全にスルーしてました。まずはそちらにちょっと触れておきたいと思います。
このあたりの歴史的経緯については勘違いが含まれている恐れがあるので、気付いた場合は指摘していただけると幸いです。

今更ですが、元来のZFSはSolaris用に開発されたものです。リアルタイムに追っていた頃では無いので時期は前後するかも知れませんが、Solaris開発がオープン路線に転換し、OpenSolarisがリリースされたのに伴ってZFSのソースコードもオープンになりました。以降、各種OSへの移植が進むことになります。
その結果近年まではOpenSolarisのバージョンアップに伴い順調に更新されてきたZFSですが、Sunの買収など情勢の変化によってOpenSolarisの更新は止まり、Solaris 11からはまたクローズドソースになってしまいました。以後OpenSolaris自体はOpenIndianaにForkして開発が続いていますが、オープンソースなZFSのバージョンはOpenSolaris最終版のv28で止まっており、Solaris 11に搭載されたv33とはバージョンが離れてしまっています。
このような経緯によって、現在の(本家Solaris以外における)ZFSの最新版はv28ということになります。勝手に独自実装でオレオレZFS(っぽい何か)にするわけにもいかないので、OSSの世界でのZFSといえばv28ということになるんだと思います。
要は、(図らずも)OSS的にはZFSの仕様はfixされたので、今後は公式のアップデートを追いかけることもなくv28というゴールを目指した開発へシフトしているということです(多分)。

話が大分逸れてしまいました。ZEVOに戻ります。
前回書いたとおりZEVOというのは現在GreenBytesというストレージ屋さんで開発されているMac向けのZFSで、v28となっています。このZEVOの無料版であるZEVO Community Edition(以下CE)なるものが配布されているので、今回はこのZEVO CEを実際にインストールしてみます。

用意したのはみんな大好き仮想マシン、ということでMountain Lion on VMware Fusionです。VMだと仮想HDDをバンバン追加して実験できるので非常に便利です。
というわけでまずはZEVO CEを落としてきます。
http://zevo.getgreenbytes.com
この公式サイトの「Downlink ZEVO」からダウンロードできますが、無料の会員登録が必要なので「Downlink ZEVO」から一度飛ばされるフォーラムに登録してログイン&ダウンロードしましょう。
ZEVOCommunityEdition.dmg をダウンロードしてきたら特に難しいこともなく開いてインストール&再起動します。
公式サイトから落とせるZEVO CEのバージョンは1.1ですが、2012/11/1現在1.1.1がリリースされています。1.1.1はシステム環境設定のZEVO Preference→Check For Updates...からダウンロードすることが出来るのでインストールしておきましょう。

大抵のことは付属のZEVO QuickStart Guideを読めばわかりますが、とりあえず適当にいじってみることにしましょう。
まずインストール&再起動したらターミナルから色々確認してみます。
$ zpool upgrade -v
でv28なのが確認できると思います。ちなみに一般的なZFSと違い、状態確認系のサブコマンドはrootでなくても使用できるようです。
早速プールを作ってみます。まずはディスクの確認。
$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *42.9 GB    disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS Macintosh HD            42.1 GB    disk0s2
   3:                 Apple_Boot Recovery HD             650.0 MB   disk0s3
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *2.1 GB     disk1
/dev/disk2
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *2.1 GB     disk2
/dev/disk3
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:                                                   *2.1 GB     disk3
OSが入っているのがdisk0です。今回はdisk1,2,3を利用します。
まずはdisk1,2でミラー構成を試してみます。
$ sudo zpool create -f mypool mirror /dev/disk1 /dev/disk2
プール作成にはroot権限が必要なのでsudoします。また、自動でパーティションを作ってもらうために-fオプションを付与しています。
では作ったプールを確認してみます。
$ zpool status
  pool: mypool
 state: ONLINE
 scan: none requested
config:

 NAME                                           STATE     READ WRITE CKSUM
 mypool                                         ONLINE       0     0     0
   mirror-0                                     ONLINE       0     0     0
     GPTE_A384D925-0031-42F3-8D2F-DA4B69F1142D  ONLINE       0     0     0  at disk1s1
     GPTE_9806760F-ADA2-4498-B62B-AFB84F89939F  ONLINE       0     0     0  at disk2s1

errors: No known data errors
$ zfs list
NAME      USED   AVAIL   REFER  MOUNTPOINT
mypool   434Ki  1.83Gi   371Ki  /Volumes/mypool
ミラー構成でmypoolが作られ、/Volumes以下にマウントされているのがわかります。
ここで謎なのがzpool statusで表示されるデバイス名です。/dev/diskXの形になっていません。これはZEVO独自の仕様で、プールを構成する各デバイスにユニークIDを持たせて管理することで、起動毎にディスク番号(diskXのX)が変わっても追随できるようになっています。
具体的には、これらのユニークなデバイス名は/dev/dsk以下に配置されるデバイスへのシンボリックリンクとして存在しています。
$ ls -l /dev/dsk/
total 16
lrwxr-xr-x  1 root  wheel  12 11  1 02:13 GPTE_9806760F-ADA2-4498-B62B-AFB84F89939F -> /dev/disk2s1
lrwxr-xr-x  1 root  wheel  12 11  1 02:13 GPTE_A384D925-0031-42F3-8D2F-DA4B69F1142D -> /dev/disk1s1
このようになります。

次にRAIDZプールの作成を試してみます。
$ sudo zpool destroy mypool
$ sudo zpool create -o ashift=12 rzpool raidz /dev/disk1 /dev/disk2 /dev/disk3
$ zpool status
  pool: rzpool
 state: ONLINE
 scan: none requested
config:

 NAME                                           STATE     READ WRITE CKSUM
 rzpool                                         ONLINE       0     0     0
   raidz1-0                                     ONLINE       0     0     0
     GPTE_9B2B44FD-A76C-4AC5-AF6C-B1302B453204  ONLINE       0     0     0  at disk1s1
     GPTE_6DCC0CC3-12F8-49E5-A976-E87161B057AC  ONLINE       0     0     0  at disk2s1
     GPTE_10AEF2DE-B392-424E-A380-58933B925E0E  ONLINE       0     0     0  at disk3s1

errors: No known data errors
$ zfs list
NAME      USED   AVAIL   REFER  MOUNTPOINT
rzpool   470Ki  3.67Gi   390Ki  /Volumes/rzpool
なんてことはなくできました。-o ashift=12というのはAFT用のオプションです。本来は512Bセクタでashift=9、4KBセクタでashift=12が自動的に選択されるのですが、512Bエミュレーションを行っているAFTのHDDではashift=9と誤認識してしまうため、ashiftを強制的に指定することができます。
ファイルシステムの作成を試してみます。
$ sudo zfs create rzpool/fs1
普通に作れます。デスクトップに(rzpoolと共に)fs1がマウントされているかと思います。
ですが、sudoで作っているので中にファイルを作れません。sudo無しで作ろうとすると
$ zfs create rzpool/fs2
cannot mount '/Volumes/rzpool/fs2': failed to create mountpoint
filesystem successfully created, but not mounted
マウントできないと怒られます。
親ファイルシステムの権限を変えてみます。
$ sudo chmod 777 /Volumes/rzpool
$ zfs mount -a
マウントできました。ユーザ権限で作っているので、読み書きも可能です。
権限を変更しているので
$ zfs create rzpool/fs3
今度は正常に作成できます。

そんなわけで、非常に簡単ですがプールとファイルシステムの作成までを行ってみました。
留意する点としてはデバイス名とユーザ権限で実行するコマンドくらいで、ZEVO特有の問題がこれといってあるわけではありません。他のプラットフォームでZFSを使ったことがあればごく自然に使えるかと思います。
次回は(かなり先になりそうですが)、もうちょっと実用を視野に入れてZEVOが「どれくらい使えるか」を検証していきたいと思っています。

2012/10/24

タブレット戦争開戦記念日?

そういえばVAIO Duoを注文。GPS付けちゃった。後は以前書いた仕様。
まとめると
Win8/i5/8GB/128GB/WiMAX無し/GPS/TPM無し/リアカメラ無し/英字/バックライト/保護シート/拡張バッテリー
というところですね。3,000円クーポンとワイド保障クーポン利用。
それとは別にケースも買ってたり。

それはそうと、iPad miniが発表されました。
ずっと資料作って死にそうだったのに発表生で見ちゃった。おかげで作業が止まり6時まで起きてる羽目に。
うーん、7インチクラスの小型タブレットは欲しかったのですが、若干残念な価格。
中身4S+非Retinaならせめて4000〜5000円くらいは安くしてほしかった。
Retinaじゃないなら7.9インチじゃなくもうちょっと小さくしてppi上げつつコンパクトな方が嬉しかったかも。
Appleのブランドイメージのためにプラボディで安価なiPadなんて作れないのはわかるけど、高級機にも廉価版にもなりきれない性能と価格はちょっと競争力に欠けるんじゃないかと思ってしまう。
なんにせよiPad2(しかも手放せない借り物)を使っていることもありスルー。

そして同日にはKindle Fireも日本で発表。
加えて先行しているNexus 7も価格改定が控えているようで、Apple vs Amazon vs Googleの小型タブレット戦争がいよいよ始まったのかな?まぁKindleもAndroidじゃん、っていうツッコミもあるが。
漫画の国の人間としては、電子ブックリーダーならこのサイズだろうと思うわけで、このセグメントを獲ったプラットフォームが日本の電子書籍業界を制するんじゃないかなと思ってます。
にしても、片手で持てるこのサイズ、絶対売れるセグメントだと思ってたんだけどなんでNexus 7が出るまでほぼ安物低性能の中華タブレットばっかりだったんですかね。
「タブレット」というジャンルの先駆者iPadが9〜10インチクラスだったせいでそこが勝負どころ、と高級機がそちらに集中しちゃってたんでしょうか。
何はともあれ、ようやくこのセグメントに役者が揃った今日がこの日が日本における開戦日になりそうです。

Nexus 7、16GBが安くなったら買おうかなぁ・・・


ところで最近、Appleの先行きが不安です。
どうしても「ジョブズがいないから」という先入観から逃れられないために過度に不安視しているんだろうけど、「おおっ」と思わせてくれる製品がしばらく無い気がする。
iPhone 5とかは買ったしLTE・テザリングも含め素晴らしい製品だとは思うけど、基本的にはiPhone 4のRetina化以降は革新的な要素に欠けるように思える。
もちろん一般的にはベストセラーのスマートフォンの後継なんだから正常進化で問題無いんだろうけど、ユーザが思いもよらぬような進化みたいなのが見えないのがちょっと残念。
MacBook Pro 13インチのRetinaモデルも発表されたけど、Air/Pro無印との棲み分けが怪しいあたりとか、製品ラインナップがスッキリしなくなってきてるのもらしくないなーとか。
最近は何を作っても発表前に情報が流出しちゃうので、発表時に真新しさを感じにくくなっているだけなのかもしれませんが。


後々書こうと思ってますが、マルチタッチとMacの融合に関してもコンサバで、Windows 8+VAIO Duoなどの方が尖っているというところとか、Macに関して将来の方向性が見えなくなってきている気がする。
まぁ素人が何言ってんだって話なんだろうけど。

2012/10/09

ZFS on Mac (1) 最近の動向

ZFSというファイルシステムを知っていますか。
元はSolaris向けに開発されたファイルシステムですが、数々の先進的機能を持っているため現在では様々なOS向けの移植プロジェクトが存在しています。今回は日本語情報が少ない、Mac向けZFSの話を中心に書いていくつもりです。

今回に限らず、このブログでは主にSolaris以外でのZFSについて書いていこうと思ってますので、ZFSそのものを知らないという人にはよくわからない話が続くと思います。

さて、様々なOSに移植されていると書いたZFSですが、私の知るところではFreeBSD、Linux、Macあたりに移植されています。
従来のソフトRAIDより優れた点が多いため、自作NAS等で用いられる機会の多いZFSですが、自作機でSolarisを動かすハードウェア的なハードルなどもあって最近はFreeBSD(あるいはFreeBSD派生のFreeNAS)で使われることが多いんじゃないでしょうか。
Linux向けのZFSとしてはzfs-fuseが有名ですが、最近はZFS on Linuxというfuseによらないネイティブ移植版も随分と使えるようになってきました。こちらについても機会があったら色々書きたいと思っています。

 で、本題のMac向けZFSですが、こちらはあまり芳しくない状況でした。
 Leopard〜Snow Leopardの頃はOS標準のファイルシステムがHFS+からZFSに移行するという話もあり、Apple公式の開発プロジェクトも盛んだったのですが、白紙に。公式プロジェクトも閉鎖されてしまいました。
成果物を引き継いだOSSのプロジェクトがmac-zfsとして発足しましたが、本家OSSの最終版であるv28に対してv8と、バージョンが古いものになってしまっています。安定版ではあるものの、最新の機能を使いたかったり4年?前のバージョンでは・・・という人もいるんじゃないかと思います。
そんな中、Apple公式のプロジェクトに携わってきた社員が設立したベンチャーから「ZEVO」という名称でv28ベースのMac向けZFSが出るという話が1,2年前ほどに出てきて、実際に今年の頭に出ました。が、有償製品であるとか肝心のRAIDZが使えるバージョンがまだ出てない(そして出ないまま終わった)とかで、ZEVOの期待外れ感は否めないものでした。

そんな折、今年の7月に先述のベンチャー(Ten's Complement)がGreenBytesというストレージ屋さん?に買収されました。ああこれでZEVOは使える製品が出ないままBtoBの世界へ消えていくのね・・・という感じでオワタ、という流れだったのですが。
数日後、なんと「ZEVO Community Edition」という形で無料のZEVOが9/15にリリースされると発表されました。フリーではなく無料というのが微妙なところで、つまりバイナリで配布とのことなんですが、それってライセンス的にどうなのとか致命的な機能制限とかはないのとか色々疑問もありましたがとにかく大きな動きでした。
(ソースコードに関する後日談ですが、「元のZFSはCDDLなんだからソースよこせ」と先述のmac-zfsの開発者がメール送ったらくれたみたいです。)

そして実際に、9/15にZEVO CEがリリースされました(1日くらい見逃してたけど!)。
無償版の制限としてプールのサイズ上限が16TBまでなのと、dedupが使えないこと、将来提供予定?のGUIツールが無い(要らん要らん)などがありますが、それ以外はRAIDZ1,2,3や圧縮等々一通り使えるとのことでかなりいけそうな感じになっています。やったね!
(zvolに関してはmac-zfs、ZEVO共に未実装で使えません。これは残念。)

今後は、ZEVOのセットアップとZEVO(&Mac)固有の挙動についてと、casesensitivityやnormalization等のHFS+との相互運用性に関する部分についての検証を書いていけたらなと思います。