ライブ予定

  • 次は5月かな

FileVaultの領域回復2005年06月22日

Mac OS Xには、特定ユーザのホームディレクトリをまとめて暗号化するFileVaultという機能がついています。 これを使うと、一々暗号化と複号化の処理を意識することなく、 自分の使う領域を暗号化することができます。 これは実体としてはまとめて1つのイメージファイルになっており、ホームディレクトリ中のファイルを更新すると、イメージファイルの中身も更新されるようです。 以下、正しい筋で調べたわけではないので 間違っていることを書いているかもしれません。

ファイルを消す (ゴミ箱を空にする) と、それに伴ってリアルタイムにイメージファイルのサイズも小さくなる、と言いたいところですがそうはいきません。 一度システムから貰ったディスク領域は確保したまま、ファイルが消されてもすぐにはシステムに返されず、 別のファイルが増えたときに使い回されるようです。 malloc/freeみたいなもんですね。 そして、ユーザがログアウトするタイミングで イメージファイルが再構成されて、 余った領域が解放されることになります。

ところが、なにかのきっかけが原因で領域がうまく解放されないことがあるようです。 不要な領域にはきっとマークがつけられていて、 再構成のタイミングではこのマークに従って解放されるのでしょうけど、 アプリケーションを良くないタイミングで強制終了してしまったり、瞬断させてしまったり、なんらかの理由でうまくマークがつかなかったりするのでしょう。 これが積もり積もると、実際に使っている量はそうでもないのに、ディスク領域が逼迫してしまうことになります。 こうなると、一旦FileVaultを解除して、再度FileVaultをかけ直すしかなくなります。

ところが、FileVaultを解除する処理のためには、FileVaultが使っているのと同じだけのディスク容量が必要になります。 ディスクの空き容量が僅かのときにはできないわけです。 そんなときは、とりあえずユーザディレクトリをバックアップし、空いているディスク領域を使ってテキトーな名前で新しいユーザを作ります。 その後、FileVaultを使っていた旧ユーザをホームディレクトリ (つまりイメージファイル) ごと消してディスクに余裕を作ります。そしてまた以前の名前でユーザを作り、バックアップファイルを回復します。 ようするに、変わり身の術ですね。 欠点としては、UIDが変わってしまうことを挙げられるでしょうか。Mac OS XではUIDはあまり表には出てこないので、今のところは問題は起きていませんけどね。

なお僕の場合、ディスクが逼迫してきたのと前後して複号化がうまくいかなくなってしまったのかメールも各種ファイルもぶっ壊れてしまったので、完全に以前の環境に戻れたわけではありませんけどね。

それにしても、溜めこんであった娘の写真のバックアップはうまくいっていて良かった。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
「hoge」の4文字を入れて下さい。全部小文字です

コメント:

トラックバック

このエントリのトラックバックURL: http://kanamef.asablo.jp/blog/2005/06/22/23978/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。