DropBoxやiCloudなどのクラウドストレージに暗号化されたイメージファイルを置いてみる

以前、タイトル通りの内容で自前サーバの方にトピックスを書いたのですが<http://amstudio.sytes.net/users/amstudio/weblog/c3390/DropboxSugarSync.html>、その後、スパースバンドル・ディスクイメージ形式について認識が変わったので再整理しながらここに改めて記しておきます。

■クラウドストレージにスパースバンドル・ディスクイメージ形式のファイルを置く
クラウドストレージ上に素のままのファイルを置くことは剣呑だという感覚は確かにあります。しかし、何らかのツールを使って暗号化したファイルを置くとなると、ファイル単位で復号化→アクセスという手順が必要で、簡便な方法とはいい難くなります。
ファイル単位よりはディレクトリ単位の方がアクセスは簡易になるでしょう。
そこで、パスワード保護されたディスクイメージファイルをクラウドに置くという発想で手順を書いたのが上記のものでした。
これを書いた時点では、FileVaultとそれが利用するスパースバンドル・ディスクイメージ形式のファイルへの信頼は、私の中では地に落ちていましたので、スパースバンドル・ディスクイメージ形式ではなくスパース・ディスクイメージ形式を選択していたのですが、その後、別な理由(FileVaultではなく)でスパースバンドル・ディスクイメージ形式を継続的に使ってみたところ、トラブルもなく半年くらい経過したので、スパースバンドル・ディスクイメージ形式のファイルへの評価を改めることにしました。
(OS X 10.6くらいのスパースバンドル形式の初期の頃のバグに当たってしまっていたようです)
また、クラウドストレージに置いたディスクイメージのサイズが大きくなると、中身を変更するたびに発生する同期アクセスが無視できなくなってきたため、単一ファイルのディスクイメージから、バンドルパッケージ形式のファイルへ変更した方が、変更/更新がセグメント単位となるので同期処理が短時間で済みそうだという計算です。

■スパースバンドル・ディスクイメージ形式
スパースバンドル・ディスクイメージは図のように、ディスクユーティリティ.appを使ってツールバーの「新規イメージ」アイコンをクリックすれば作成できます。

1

ここで、キーチェーンへ保存しないことが肝要です。

スパース・ディスクイメージ形式が1ファイルのイメージファイルであるのに対して、スパースバンドル・ディスクイメージ形式はバンドルパッケージとなっていて、図のように、パッケージを開くと「bands」フォルダの中にデータがセグメントで保存されるようになっています。

2

これで、スパースバンドル・ディスクイメージファイルをバックアップの対象として指定した場合、Finder上の外観はファイル扱いと同じですが、バックアップツールからはディレクトリとして扱われる(はず)なので、小さな変更や追加については、対応するセグメントファイル単位での同期処理となり、同期処理が高速化されるはずです。

今回の例で4GBのサイズを指定して作ったイメージファイルですが、初期値では38.6MB程度のサイズとなっています。スパース・ディスクは、指定したサイズを上限として、その中にコピーされたファイルに合わせて順次サイズが大きくなって行くのが特徴です(一旦大きくなったものは、中身が削除されても自動的にコンパクト化されることはありません)。

■スパース・ディスクのメンテナンス
スパース・ディスクは単一ファイル形式でもバンドルファイル形式でも、中身の容量に合わせてサイズをコンパクト化することができます。
今回の例では、指定サイズいっぱいまで使っていた状態から、中身を削除して実質1GBくらいまでに整理したとしても、一旦大きくなったサイズは自動的に縮小はしてくれません。
実質サイズに合わせてスパース・ディスクのサイズを調節する方法は、

$ hdiutil compact image

で行います。
ついでに、スパース・ディスクイメージ形式からスパースバンドル・ディスクイメージ形式へファイル形式を変更したい場合は、

$ hdiutil convert -encryption xxxx.sparseimage -format UDSB -o xxxx

とやれば、自動的にファイル名「xxxx.sparsebundle」で変換されます。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中