大きさ14%増しのスーパームーン、見ましたか? 帰宅途中に眺め気分が高揚したこの私、横を歩く妻に「月がきれいですね」と戯れに話しかけてみたら、意味を知ってか知らずか「そう?」とつれない返事。どうせなら、娘に話しかけるんだった……
さて、今回は「Core Storage」について。ユーザビリティには直接影響しないフレームワークなだけにあまり話題に上らないようだが、これも歴としたOS X Lionの新機能。今後ますますの容量増加が見込まれる大容量記憶装置を束ねる、OS Xの屋台骨的存在なのだ。
What's Core Storage?
華やかなUIばかり注目されがちだが、OS Xというシステムの「足腰」に関する部分の改良こそが、メジャーバージョンアップの隠れた見どころといえる。特にTiger(v10.4)以降、基礎レイヤーの再設計が開始され、「Core」から始まるフレームワーク群が整備された。データベースを扱う「Core Data」、GPUを活用した描画機構「Core Image」、テキストレンダリングを担う「Core Text」など、Cocoaと密接に関連するOS Xの中核技術として整備されたことは、記憶に新しいところだ。
Lionで導入された「Core Storage」は、OS Xのボリューム管理を担うフレームワーク。複数の物理ディスク/パーティションにまたがる論理ボリュームを作成できることと、ディスク全体を暗号化する「FileVault 2」が、その機能の見どころとなっている。
複数の物理ディスク/パーティションにまたがる論理ボリュームのサポートは、ファイルシステムのより高度な抽象化を目的としたもの。Core Storageが定義する論理ボリュームは、最上位に「グループ」、その下に「ファミリー」が連なり、(HFS+などの)ボリュームがファミリーを構成する。
FileVault 2の暗号化処理も、Core Storageによるものだ。従前のFileVaultではホームディレクトリだけを暗号化していたが、FileVault 2はディスク全体が対象となる。ログイン/ログアウトが遅くなる、システムには単独のファイル(スパースイメージ)に映るためTime Machineの利点である差分バックアップができない、といったデメリットが解消されるのだ。
ところで、かつてOS XではSolaris由来の「ZFS」が採用されるものと見込まれていた。実際Leopardではzfsの読み込みサポートが実現されていたが、一転Snow Leopardでは取り除かれている。理由はライセンスにあるのか、OracleのSun Microsystems買収が影響したのか、はたまた自社開発が適当と考えを変えたのか……。
外付けHDDを暗号化する
Core Storageで利用するディスクは、Core Storage向けの体裁を持たねばならない。言い換えると、Core Storage用にフォーマットされたディスク/ボリュームでなければ、Core Storage論理ボリュームを構成できないのだ。
OS X Lionでは、Core Storage用ディスクを用意するためのGUIツールとして、システム環境設定の「セキュリティとプライバシー」ペインにある「FileVault」タブと、ディスクユーティリティの2つを用意している。Snow LeopardまでのFileVaultと(Core Storageの)FileVault 2はまったく異なる実装だが、前者はFileVaultとのUIの一貫性を保つために、後者はディスクの初期化作業を行うために用意されたと考えられる。
ここで注目したいのは、前者には起動ボリューム以外の領域をCore Storageにくわえる方法が用意されていないこと。外付けHDDをCore Storage論理ボリュームにくわえ暗号化(FileVault 2)したい場合、ディスクユーティリティを使って初期化しなければならないのだ。
Core Storage向けに初期化されていない起動ボリューム以外の外付けHDDを対象にする場合は、現在のところ「diskutil」コマンドを利用するしかない。用法は以下のとおり、「coreStorage」(省略形は「cs」)と内部コマンド「convert」を記述し、引数に対象とする外付けHDDのパス、オプションに「-passphrase」を指定すれば、ディスクを初期化することなく、外付けHDDをCore Storage/FileVault 2に変換/暗号化できる。
$ diskutil cs convert /Volumes/ExtHDD -passphrase
New passphrase for converted volume: ←パスワードを入力
Confirm new passphrase: ←もう一度パスワードを入力
暗号化処理に要する時間は外付けHDDの容量次第だが、1TBで半日程度は覚悟しておいたほうがいい。ただし、処理中にドライブをアンマウントできるうえ、ファイルの保存などの作業も通常どおり行えるので、完了まで待つ必要はない。
なお、対象となる外付けHDDは、Intel Macから採用されたGUIDパーティションテーブル(GPT)を持たなければならない。GPTを持ってはいても、Lion以前に初期化したディスクはエラーとなることもあるようで、筆者はSnow Leopardの起動ボリュームを対象に作業したところ、「Error: -69853: Boot file not written」と表示され変換に失敗した。Lionで初期化した外付けHDDは支障なく変換できているので、あわせて参考にしてほしい。