Time Machineはどのようにしてバックアップを取得しているの?MacのTime Machineの疑問徹底解説

Time Machineは、OS Xが誇る史上最大の機能です。外付けのディスクをMacに接続して、Time Machineをオンにするだけで、自動的に毎日欠かさず、あなたに代わってバックアップを取得してくれます。

photo credit: adamwilson via photopin cc

外付けのディスクは、Macに直接接続されている必要はありません。例えば、AirMac Time Capsuleの場合、無線LANルーターに2TBまたは3TBのディスクを内蔵されており、ネットワーク経由でMacのバックアップ取得します。

  • APPLE AirMac Time Capsule – 2TB ME177J/A
  • Amazon
  • カテゴリ:Personal Computers
  • 販売元:アップル
  • 価格:(記事公開時)
  • APPLE AirMac Time Capsule – 3TB ME182J/A
  • Amazon
  • カテゴリ:Personal Computers
  • 販売元:アップル
  • 価格:(記事公開時)

以降、簡単のためにTime Machineに接続されているディスクのことを、バックアップディスクと呼びます。

さて、Time Machineには以下のものが保存されています。

  1. ローカルスナップショット(後述)
  2. 過去24時間の1時間ごとのバックアップ
  3. 過去1ヶ月の1日ごとのバックアップ
  4. 過去のすべての月の1週間ごとのバックアップ

バックアップディスクが一杯になった場合は、一番古いバックアップから自動的に削除されます。これらのバックアップはTime Machineによりどのように保存され、いつでもどこでも復旧できる環境を作っているのでしょうか?

ローカルスナップショットとは?

Time Machineはローカルディスク上にもバックアップを作成します。メニューの「このMacについて」→「詳しい情報」とたどると、ディスプレイやメモリなどと同列で、ストレージの情報を表示することができます。ここにある「バックアップ」が「ローカルスナップショット」の正体です。

Time Machineでバックアップを行うためには、バックアップディスクが必要です。MacBook ProやMacBook Airなど、持ち運びを前提として作られている機種の場合、常にTime Machineのバックアップディスクが手元にある状況とは限りません。

このような状況に対応するために、OS X Lionから「Mobile Time Machine」という機能が追加されました。同機能は、MacがTime Machineのバックアップディスクに接続できない場合、次回のバックアップ候補をいったんローカルディスクの専用の領域に退避します。そして、MacがTime Machineに接続できる段階になったら、退避していたバックアップ領域をバックアップディスクにコピーします。こうして、Macはいつも欠かさずバックアップを取得しようとしているのです。

Mobile Time Machineの起動/停止方法

MacBook ProやMacBook Airの使用可能なディスクの領域は、それほど大きくはありません。また、常にTime Machineのバックアップディスクに接続可能な状況で使用するのであれば、本機能自体が意味を持ちません。ディスクを節約したい、などの理由があれば停止してしまっても構わないでしょう。

Mobile Time Machineの停止

sudo tmutil disablelocal

Mobile Time Machineの起動

sudo tmutil enablelocal

Mobile Time Machine停止直後のストレージの情報は下図のようになっています。「バックアップ」に注目してください。「0KB」となっているのがお分かりいただけるかと思います。

Time Machineによるバックアップの仕組み

前述のとおり、Time Machineは、ローカルスナップショットを除けば、1時間ごと、1日ごと、1週間ごとと様々なバックアップを取得しています。毎回ディスクの中身を全てバックアップディスクに取得していては、バックアップディスクの容量がいくらあっても足りそうにありません。

そこで、Time Machineでは以下のような方式をとっています。なお、参考のためのイメージ図であり実態とは異なることをご承知置きください。

1世代目、すなわち最初のバックアップはローカルディスクの内容をフルで取得します。そのため1回目のTime Machineによるバックアップには時間を要します。

2世代目のバックアップはどうでしょうか。ローカルディスクの内容を全て取得するのではなく、1世代目のバックアップから変更のあった箇所のみをバックアップします。しかし、このままでは2世代目のバックアップから復旧することができませんから、変更のなかった箇所については1世代目のバックアップを参照するようにします。3世代目以降も同様です。

Mobile Time Machineも同様です。このような仕組み(スナップショットと言います)を採用することで、確実かつスムーズなバックアップを実現可能にしているのです。

Time Machineにより除外される項目

Time Machineでは全ての項目をバックアップ対象としているわけではありません。例えば、アプリケーションのキャッシュなど、バックアップする必要のない項目についてはあらかじめ除外されています。除外対象とするディレクトリやファイルについては、Time Machineの設定ファイルに記載されています。

/System/Library/CoreServices/backupd.bundle/Contents/Resources/StdExclusions.plist

PathsExcluded(完全に除外される項目)

  1. /.MobileBackups
  2. /.Spotlight-V100

「.MobileBackups」は前述のMobile Time Machineの保存場所です。Mobile Time Machine(ローカルのバックアップ)で作成されたバックアップファイル自体をTime Machineによるバックアップの対象に含めないように考慮されています。

また、「.Spotlight-V100」はSpotlightのインデックスファイルが保存されている場所です。この領域も保存されません。Time Machineから復元すると、再度Spotlightのインデックスが構成されます。

ContentsExcluded(バックアップ対象ではないが復元対象とするもの)

  1. /Volumes
  2. /Library/Caches
  3. /Library/Logs
  4. /System/Library/Caches
  5. /System/Library/Extensions/Caches

「/Volumes」は外部ディスクです。Macに接続されている外付けディスクやSDカードの内容は、Time Machineのバックアップ対象とはなりません。

「/Library/Caches」「/Library/Logs」はアプリケーションが使用するキャッシュおよびログの保存場所です。こうした一時的な情報もTime Machineのバックアップ対象とならないように考慮されています。

UserPathsExcluded(ユーザーごとのフォルダで除外される項目)

  1. Library/Caches
  2. Library/Logs

基本的な考え方は「ContentsExcluded」と同様です。一時的な情報についてはTime Machineの対象とはなりません。

除外する項目を追加するためには

「システム環境設定」→「Time Machine」の「オプション」から行います。

ここにバックアップの対象から除外する項目を追加します。バックアップ時に復元する必要のない項目については、あらかじめ設定しておきましょう。

  1. ~/Dropbox
  2. ~/Downloads

などなど、オンラインストレージに常に保存されているフォルダ、ダウンロードフォルダなどダウンロード時に一時的に使用するフォルダを選択すると良いでしょう。

まとめ

Time Machine、Mobile Time Machineの仕組みについて簡単にご紹介しました。Macは精密機械ですから、いつどこで何があるかわかりません。Time Machineを活用して、いつでもバックアップから復旧できる環境を整えておきましょう。


ブログを購読 - Subscribe

  • follow us in feedly


コメント - Comments