2013年5月19日日曜日

Time Capsule バックアップ不具合

Time Machine が差分バックアップではなく新規バックアップをとろうとする症状に悩まされていましたが、どうやら解決したっぽいので今後のためにメモしておきます。


Mac mini サーバのメンテナンスをしていて、2ヶ月ほど前からバックアップがとられていないことに気がつきました。どうやら前回メンテナンスしたときから Time Machine を切ったままにしていたようです。

システム環境設定の Time Machine パネルでバックアップ先のディスクを選択して、 Time Machne を「入」にしたところ、差分バックアップではなく新規にバックアップを作成しようとしています。以前は表示されていた、最古のバックアップと最新のバックアップという項目に日付が表示されていません。この Time Cupsule にはMac mini サーバを立ち上げた2010年4月からのバックアップが保存されているはずなので内心ちょっと焦りました。

とりあえず Time Machine を「切」にして Finder から Time Capsule のディスクを見ると、ちゃんと sparsebundle ファイルが存在し、「情報を見る」では最後にバックアップしたと思われる更新日時が確認できます。

「Time Machine に入る」からはバックアップに接続できるようで、これまでのバックアップの日時を見ることができます。試しに適当なファイルをバックアップから取り出してみると多少時間がかかりましたが問題なく取り出すことができました。

この Time Capsule には別の MacBook Pro のバックアップもとっていて、そちらは正常にバックアップできているので Time Capsule 自体には問題がないように思われます。
  
sparsebundle ファイルに不具合があるのかも知れないと思い、ディスクの検証/修復を試そうと検索したところ、アップルサポートの「Time Capsule のディスクを検証または消去する方法」というページを見つけました。これには「Time Capsule ディスクの消去、検証、修復には、ディスクユーティリティは使わないでください」と書かれています。困りました。

Apple のサポートに問い合わせたところ、ディスクユーティリティで修復して問題ないとのことで、担当の方は先のページをご存じないようでした。サポートからは、サーバ側に問題がある可能性もあるのでサーバの起動ディスクもアクセス権の修復とディスクの修復をしたほうが良いとのアドバイスを貰いました。

MacBook Pro に Time Capsule のディスクをマウントして、ディスクユーティリティでディスクの修復を行いながら、Mac mini サーバでは同じくディスクユーティリティでアクセス権の修復を行いました。

サーバの起動ディスクを修復するためにブート用USBを作成し、 USBから起動してディスクの修復を行いました。ディスクの修復にはそれぞれ3時間ほどかかりましたが、どちらも問題はなかったようです。

すべてのディスクの修復が問題なく終わったので、再度システム環境設定の Time Machine パネルで Time Machine を「入」にしたところ、はじめと同じで新規にバックアップを作ろうとします。orz

最後にダメ元で Time Machine から /MachintoshHD/ライブラリ/Preferences/com.apple.TimeMachine.plist の一番最後にバックアップしたものを取り出して、現在のものと置き換えた上で Time Machine を「入」にしてみたところ、最古のバックアップと最新のバックアップにそれらしい日付が表示されています。ちょっと希望が見えてきました。

Time Machine でバックアップをとる前に、現在のバックアップ(sparsebundle)ファイルを別のディスクにコピーしておくことにしました。このファイルがあれば過去のファイルを取り出すことができそうなので念のためです。1TBものサイズなので仕方がありませんがこの作業に14時間ほどかかりました。

改めて Time Machine を「入」にして「今すぐバックアップを作成」するとバックアップが始まりました。20GBほどのバックアップは1時間ほどで終了しましたが、その後あまり見たことのない「バックアップを検証中」という状態になりました。アクティビティモニタを見ると fsck_hfs が起動しています。

この状態が2時間ほど続いてバックアップは終了しました。最新のバックアップには今回のバックアップをはじめたあたりの時刻が表示されています。どうやらうまくいったようです。

試しに「Time Machine に入る」してみるとちゃんと今回のバックアップ日時が記録されています。めでたしめでたし。

だらだらと書きましたが、今回の内容をまとめると…
Time Machine が過去のバックアップを認識せずに新規バックアップをとろうとするときには、/MachintoshHD/ライブラリ/Preferences/com.apple.TimeMachine.plist を最も最近のバックアップで置き換えてやれば復旧する」のではないかと思いました。

今回はたまたまかも知れませんが、バックアップ元、バックアップ先のどちらのディスクもディスクの修復で問題はなかったようですし、com.apple.TimeMachine.plist が壊れていたのではないかと思います。もし次回同様のトラブルが発生したときには真っ先に com.apple.TimeMachine.plist の書き戻しを試してみようと思います。もうこんな目には遭いたくありませんが…。

バックアップがうまくいくときと、そうでないときの com.apple.TimeMachine.plist の内容を Property List Editor で開いて比べてみたところ、BackupAlias, Destinations, DestinationUUIDs, LastDestinationID の値が異なっていました。

その後4回定期バックアップされましたが、いまのところ順調に動作しているようです。





0 件のコメント: