AppleInsider: Mac OS X Leopard に向かって: Time Machine [Page 2]

Road to Mac OS X Leopard: Time Machine [Page 2]

By Prince McLean

Published: Friday, October 12, 2007 10:00 AM EST


Time Machine を支えるテクノロジー

Time Machine の基本機能は、そのもっとも低い階層にあるテクノロジーが担当している。 ここには依然として問い直す必要のある難問がある。 つまり、変更されていないものをコピーする必要はなく、変更するものを頻繁に保存する必要があるだけだ、というものだ。 ところが、異なるバックアップを保存するということ (つまり新しく変更されたものだけを取り込むということ) は、ディスク全体を復元するにあたって、長期間にわたって大量にバックアップした結果を縫い合わせる必要があるということになる。

長期間にわたる変更を管理するということは、つまり、多数のディスクに散らばったファイルを意味し、定期的に一からやり直して新しく大量のバックアップを作成すること以外、このとっ散らかった状態を解消する簡単な手だてはない。 こんな、細々としたつまらない作業を誰がやりたいと思うだろうか?

同時に、どれをバックアップするか判断するという問題もある。 通常のバックアプシステムは、変更箇所を探してディスクを精力的にスキャンするが、バックアップのために夜中システムを起動させておくか、ユーザの仕事を中断する必要がある。 多くのユーザがラップトップに移行しつつあるなか、バックアップのスケジュールを設定し、実用的なレベルで頻繁にバックアップするというのは、さらなる難問になっている。


正体

Time Machine は、これらの問題に対処するためにさまざまなことをする。 まず、Time Machine は直接 Mac OS X の FSEvents -- リアルタイムにファイルシステムを追跡するプロセス -- に繋がっている。 これによって Time Machine は、自身が探索することなくバックアップが必要なものを追跡できる。というのも、システム側がすでにこうした記録を管理しており、他のアプリケーション (瞬時に検索結果を構築するために利用している Spotlight など) とも共有されている。 Time Machine がバックアップをはじめても、ディスクをなぞる必要はない。というのも、変更されたもののリストを FSEvents に照会して、そのファイルだけに直接アクセスすれば良いからだ。

Time Machine はバックアップ対象から特定の項目を除外するよう指定できるようにしているが、通常は詳細にこのリストを管理する必要はない。 というのも、システムがすでに temp ファイルやその他バックアップの必要のないものはバックアップをしないようになっているからだ。 Apple はまたサードパーティの開発者に対して、バックアップの必要のないものを Time Machine に放り込まないようにする方法も明らかにしている。


場所

Time Machine はバックアップ先を簡単に設定できるようにしている。ユーザはただディスクを選択するだけで良いのだ。 外付けディスクが初めて接続されると、Time Machine はそのディスクをバックアップとして利用するかを確認する。 複雑な設定やバックアップメディアプールの管理、またはデバイス設定の必要は一切ない。 複数のディスクを Time Machine で使うよう設定もでき、簡単にリモートアーカイブを作成できるようにもなっている。 ただし、Time Machine がバックアップするのは一度にひとつのディスクだけだ。

Apple は、Time Machine で使っているディスクを他の目的には使わないように推奨している。 使うこともできるが、Time Machine のディスクにコピーされたファイルはバックアップされない (というのも、システムは自動的にバックアップ対象から Time Machine バックアップドライブを除外するからだ)。 Time Machine ドライブに他のファイルを置くと、バックアップに使えるスペースが消費されてしまうことにもなる。

Time Machine ドライブを一杯にした場合は、新しいディスクを接続して初めからやり直し、これまでのドライブはアーカイブとしてとっておくことができる。 大量のクライアントデータ、写真、ムービー、または別の場所にアーカイブされている項目があり、それらを Time Machine に含める必要がない場合は、それらを除外してバックアップしないようにすることもできる。


時間

バックアップ用のソースを見つけた後、Time Machine はフルバックアップを設定する。 そして、毎時間毎にバックアップするようスケジュール化する。 スケジュール変更するようなオプションは用意されていない。 毎日、前日の時間毎のバックアップをドロップする。 毎週、先週の日毎のバックアップをドロップする。 こうして、バックアップ頻度の要求とディスクスペースとのバランスを考慮して、バックアップの完全で網羅的なセットを維持する。

他のバックアップシステムは一般的にこうした詳細の管理をユーザに要求する。しかし、Time Machine は、ユーザが考える必要のない専門的なノウハウを提供し、 うっかり意味のないスケジュールを設定することのないようにしてくれる。 同時に、Time Machine は簡単に手動で無効化でき、ゲームプレイやプロセッサパワーを必要とする他の活動を妨害しないようにもできる。 再び Time Machine をオンにすると、Time Machine はスケジュールに戻り、バックアップを開始する。

システム環境設定にある Time Machine の設定項目には、次のバックアップのスケジュール時間が表示される。 その時間になると、バックアップ中には進行を示す温度計が表示される。直前の一時間に新しく大量のコンテントを扱わない限り、通常は数秒しかかからない。 というのも、Time Machine は変更点を探してディスク全体をスキャンするわけではなく、最近何が変更されたかのリストを FSEvents に照会するだけだからだ。

このバックアップ頻度によって、Time Machine は有効にしたその日から使えるようになる。 意図せずファイルやフォルダを削除しても、大抵は即座に復元できる。ただし、それでも一時間以内に新しいものを作成したり、何かを破壊したりできるし、対策を施さずに放っておいてしまう可能性もある。 Time Machine の頻繁なバックアップは、Norton Utilities といった一時期人気だったシステムユーティリティにあった「復元」システムよりも、遥かに便利で実用的だ。こうしたシステムは、ゴミ箱を、後に復元できるように捨てられたものをすべて保存しておこうとするシステムに置き換えていた。 Time Machine は、ユーザが削除したすべてのものの重要度に関係なく、必要があり使用しているものを保護することに焦点を当てている。


手法

バックアップシステムは通常、完全なクローンバックアップを作成し、その後差分あるいは漸次的な変更だけをコピーする。 差分バックアップでは、前回のバックアップからの変更点をすべて取り込むが、インクリメンタンルなバックアップは前回の部分バックアップから変更されたものだけをコピーする。 フルバックアップはもちろん、毎時間行うにはあまりに多くのディスク容量が必要だが、差分あるいはインクリメンタンルバックアップは一回のバックアップで全体像を捉えることができない。 ところが、Time Machine は両者を行っているようだ。 毎時間、必要なディスクスペースを使い切ることなくフルバックアップを行うのだ。 どうやってそれを実現しているのだろう?

差分バックアップを行うインテリジェントなバックアップシステムはまた、いつでもユーザが復元できるファイルを表示ようにすべての部分バックアップを組み合せた全体像を表示できるよう、過去のさまざまなバックアップを解析しなければならない。 ユーザは、2 時間前のファイルをほしがるかもしれないし、2 週間前のファイルをほしがるかもしれないのだ。 こうした柔軟性を実現するには、通常、バックアップファイル転送という複雑なデータベースを管理することが求められる。 このメタデータのデータベースが失われると、バックアップからファイルを復元することが遥かに複雑になり、根気づよく長い時間をかけてデータベースを再構築する必要がある。

この両方の問題を解決するため、Time Machine は、Apple が基礎となる Macファイルシステム HFS+ に変更を加えなければならないような、新しいこれまでとは異なることをしている。 新しい変更はマルチリンクと言われ、Unix ユーザにはお馴染みの「ハードリンク」と似たもので、Windows 上で NTFS を使っているときも利用可能なものだ。 ハードリンクは「ソフトリンク」(シンボリックリンクとも言われる) とは異なり、他のファイルへとポインティングしているプレースホルダーとしてのみ機能する。 Mac OS は長い間、他のファイルやディレクトリへと向けたソフトリンクを作成する方法としてエイリアスを用いてきた。 Windows はソフトリンクを「ショートカット」と呼んでいる。


ページ 3: ハードリンクとソフトリンク; Time Machine のマルチリンク; そして Snapshots と Windows の Shadow Copy。

次のページへ 次のページへ前のページに戻る 前のページに戻る