MacBook Air(Retina, 13-inch, 2018)から外付けSSDに突然バックアップができなくなった顛末記

個人用パソコンのバックアップにはみんな頭を悩ませているようで、外部媒体に取得したり、クラウドストレージに取得したりといろいろな策を講じているみたいです。私の場合は、

  • ボリュームバックアップは都度外付けSSDドライブ(1TB)に取得(大体1週間に1回)
  • 書類などの入ったディレクトリはAmazon S3にcrontabで転送するPythonスクリプトを書いて取得(1日に1回)

の2つの手段を用いています。今回は前者の話。

背景:

いつも通りMacBook Airに外付けSSDドライブを接続して、Time Machineでバックアップを取得し始めたのですが、何故か取得途中でエラーが出るように。こういうことってそうそうないので、たまたま出たレアケースなのかと思ってもう一度繰り返してみてもやはり同じ状況に。何かおかしいなと思いつつ、一度外付けSSDをアンマウントしてから再度マウントを試みたところ、とうとうマウントされない状況に。。。

調査と対処:

外付けSSDドライブがマウントできないという現象自体を見ると、まず疑うのは、SSD自体のファイルシステムが何かしら損傷を受けたのではないかという点で、ディスクユーティリティを立ち上げて、外付けSSDストレージの調査を試みようとしたところ、

com.Apple.DiskManagement.disenterエラー0

が出力されて、ボリュームのマウントどころかDisk First Aidもできない状態に。これではなす術がないなぁと思って色々と調べてみたところ、「Time Machine のローカルスナップショットについて – Appleサポート」というナレッジにたどり着きました。macOSでは内蔵ストレージにもバックアップ用のローカルストレージを持っていて、それがTime Machineの自動バックアップ作成をOnにしていると、一定の間隔で内蔵ストレージ内にスナップショットを作成してくれているわけです。

となると、もしかしてローカルスナップショットがおかしいのではないかと思い、一旦MacBook Airをリカバリーモードで再起動し、ディスクユーティリティから内蔵SSDのDisk First Aidを仕掛けてみたところ。。。

出てきましたね。どうもローカルスナップショットの一部が、

error: Cross Check: Mismatch between extentref entry count (2) and calculated fsroot entry reference count (1) for extent (foobar)

という状態で不整合が生じているようです。これだ!

しかしローカルスナップショットを削除するにはどうすればいいんだろう。。。と思ってネットの記事を探っていたところ、ドンピシャな記事がありました。ありがたや。。。

macOS Mojaveでローカルスナップショットを削除する方法 | HWD Blog

ここではmacOS Mojaveの場合が書かれていますが、macOS Catalinaでもやることは全く同じでした。ターミナルからローカルスナップショットの一覧を表示させて、エラーの発生しているローカルスナップショットをひとつづつ削除。これで再度Disk First Aidをかけてみたところ、見事に不整合が発生している箇所は無くなりました。やれやれ。

外付けSSDボリュームを再マウントさせるには:

あとやるべきことは外部SSDを再マウントさせるだけです、これはどうしても正解というリソースにはたどり着けなかったのですが、結果としては、MacBook Airに外付けSSDドライブをとにかく繋いで30分くらい放置するということでした。

それだとどういう仕掛けで再マウントされるのかよくわからないのですが、アクティビティモニタでリソースの利用状況を眺めていると、

fsck_hfs

というプロセスがずっと最上位に鎮座していたので、外付けSSDボリュームに対して、自動的にfsckをして修復してくれるみたいですね。hfsというのは「macOS拡張」という意味なのかなと。

こんな感じで無事に外付けSSDボリュームが復活して、その後のTime Machineバックアップも成功。胸をホッと撫で下ろしたのでした。

しかし、ローカルスナップショットの作成過程でどうしてあのような不整合が起きたのかについてはまだ解明ができていない状態です。そもそもどのようにしてローカルスナップショットが作成される仕組みになっているのか、その中で不整合が起こる原因については、まだナレッジを探している状態です。

とはいえ、もしもTime Machineを用いてバックアップをとっているときに、何かがおかしいなと思ったら、まずはローカルスナップショットが正しく取得されているかを疑え、というのは解決法のひとつとしては有効性の高い方法なんじゃないかと思います。

vlayusuke について

Violaを弾く。千葉県の東の端の方にある街のオーケストラで活動中。 好きな街は、Berlin、München、Wien、Barcelona、福岡、神戸、芦屋、金沢、横浜。
カテゴリー: 未分類 タグ: , パーマリンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください