突然TimeMachineのバックアップに失敗するようになって原因究明に悪戦苦闘した話

数日前からTimeMachineのバックアップに失敗しており、終いにはバックアップデータへのアクセスができなくなってしまったので、その原因の調査をしたときの記録です。
結論
原因はすごく単純で、DHCPが払い出したIPと固定IPが重複していたためでした。似たような症状になったときのためにメモとして残しておきます。
症状と原因の追究
はじめに発生したのは、「バックアップ作成を準備中…」が異常に長く、バックアップ処理が始まっても途中でバックアップ先のネットワークドライブが突然アンマウントされ、処理が中断されてしまうというものでした。バックアップの準備に時間がかかることはありますが、それは主に初回バックアップや長期間バックアップを取っていなかった場合であり、毎日バックアップを取っている場合はそれほど長くなることはまずありません。TimeMachineが不調になることはたまにあるので、以下のような手順で原因を探しました。
設定の初期化
問題が発生したMacは購入したばかりで、旧MacからTimeMachine経由で環境を構築したものでした。そこでここに問題がある可能性を考慮して、一旦設定ファイル(/Library/Preferences/com.apple.TimeMachine.plist
)を削除しもう一度TimeMechineの設定をやり直しました。しかし問題は修正されず。
バックアップの削除
何度かバックアップを試していると、バックアップデータが破損しているというエラーが発生しました。消したくはないですが破損してしまっては仕方がないので一旦バックアップを最初からやり直しました。結論から言うとバックアップの破損はしていなかったと思われるので、削除は必要ありませんでした。
ローカルスナップショットの破損を疑う
df
を実行すると、大量のローカルスナップショットがマウントされていました。その中に以下のようなエラーが発生するデバイスがありました。
df: getattrlist failed for /Volumes/com.apple.TimeMachine.localsnapshots/Backups.backupdb/diva/2025-06-07-002234/Data: No such file or directory
探してみるとたしかに存在していませんが、tmutil
で消すこともできず、これが原因である可能性があると考えました。Macをセーフブートで起動したところマウントされていたローカルスナップショットが一斉にアンマウントされたので、すべてのスナップショットを削除しました。が、問題は解決せず。
ここで別の問題に遭遇します。TimeMachineだけでなく、ネットワークドライブ上のファイルにアクセスしても同様の現象が発生しました。そこでネットワークドライブが何らかの理由で勝手にアンマウントされてしまっていると仮定して調査を進めました。
他の端末からネットワークドライブへアクセスする
他のPC(Windows)からネットワークドライブへファイルをコピー、あるいは参照してみましたが、問題は発生せず。後にこれは偶然うまく動いていただけであることがわかるのですが、この時点ではMac固有(あるいは手元の端末固有)の問題であると考え、MacのSMB処理に関して色々と調べました。MacでのSMB実装の出来はあまりよくないのでここがバグり散らかしていると疑いましたが、実際はそんなことはありませんでした。
さらに状況を確認していくと、以下のような謎の症状が発生していることがわかりました。
- ネットワークドライブが切断されると、SMBだけでなくHTTPやWebDavなど様々なプロトコルが一斉に繋がらなくなる。
- 切断は一瞬ですぐに再接続できる場合もあるが、しばらく繋がらなくなることもある。
- ありとあらゆるプロトコルが繋がらなくなっても、pingだけは繋がる。
- 大きいファイルを転送すると発生しやすいが、Mac以外では発生しない。
- Macから別のサーバへの接続は問題ない。
- Wifiだと切れやすく、有線では切れにくい。
なんだかバグくさい挙動で理由がわからなかったので、とりあえずサーバとMac、ルータなどごっそり再起動。それでも上記の問題は発生し続けました。
偶然の発見
問題を調査しているときたまたまpingが繋ぎっぱなしになっていたんですが、出力を見るとTTLが255になっていることに気づきました。サーバはLinuxなのでデフォルトで64になるはずです。そこでpingを繋いだままバックアップを取ってみると、ちょうどネットワークドライブが切断されるタイミングでTTLが64から255に切り替わっていることがわかりました。ググってみたところIPアドレスが衝突している場合に発生するらしく、ルータの設定を見直してみたところDHCP割当除外設定が漏れており、IPアドレス衝突の可能性が高いことがわかりました。サーバのIPを除外したところ、ネットワークドライブが切断されなくなり、TimeMachineによるバックアップも正常に終了しました。
まとめ
問題の原因って意外と単純なことが多いですよね。今回はたまたまMac以外の端末では問題が起きなかったというのが調査を難航させた気がしています。ネットワークに関しては完全に素人なので、ちゃんと勉強していれば週末(と数年分のバックアップ)を失わずに済んだかもしれません。ネットワークドライブの瞬断は割とありがちな問題なので、似たような問題を抱えている人の原因究明の選択肢の1つになればいいなと思っています。
0 件のコメント :
コメントを投稿