2014/11/17

Spotlight 復旧作業

Time Machineの調子が悪いと思ったら,Spotlight を疑うべし?かどうかは分からないけど,少なからず関係しているなという印象.Time Machineの復旧が先だったので,とりあえずそこまでは前回こぎつけた.次は Spotlight をなんとかしたい.

結構危ないことをやっていると思うので,USB メモリなどを挿して,その中に対して実験してからの方が無難です.

「索引作成にかかる時間を計算中」のまま,数日経っても進まないという状況.
恐らく,原因と思しきところは, /.Spotlight-V100/ が101GBもあること.これが何をするフォルダかは分からないが,一旦消して再構築できれば進む気がする.

ただ,Inforati の手順(Mac Spotlightの検索インデックスのデータベースを再作成する方法)に出てくる sudo mdutil -E device では,このディレクトリは消えてくれなかった.
(locak diskに対しては, mdutil -E / となる.USB等だと, mdutil -E /Volumes/xxx)
ただ,USB メモリで -E をすると,Spotlight の検索結果が一度消えて,また検索できるようになる(索引が再作成されるのだろう)ことが確認できた.で,試しに(*USBで!), /Volumes/xxx/.Spotlight-V100 を削除(/Volumes/xxx/Spotlight-V100へのrenameにしておいた)して, mdutil -E したところ, .Spotlight-V100 が再生成されて,検索も使えた.

上記手順をそのまま / に対して実行して,「索引作成にかかる時間を計算中」は無事脱出.「残り約6時間」となった.

これで,Time Machine と Spotlight が共存してくれるかどうか...
念のため(というか,基本的に不要なので),ファイルが多いディレクトリは Spotlight の対象外(環境設定からSpotlight→プライバシで指定)にした.

2014/11/12

Time Machineのバックアップが始まらない(Spotlightの罠)

Time Machineによるバックアップがしばらく作成されないという症状に出くわしました.そほれほどファイルがない Mac Book Air (10.8)は特段問題ないのですが,数十万ファイルの追加・更新がたまに発生するMac Pro (10.9)は数週間完全にバックアップされていない期間が続いていました.改めて手動でバックアップを指示しても,週末(48時間以上)経ってもバックアップが始まらない.

これはやばいということで,バックアップする外部ディスクを新しいものに変えました.とりあえず,ファイル数は多いものの初期のバックアップは成功.しばらく1時間毎のバックアップも作成されていましたが,ちょっとした解析で数十万ファイルを更新したらバックアップが始まらない症状が再発

諦めて新DISKを一度まっさらに(フォーマット)して,再度Time Machineを開始するも,,,30時間経っても「バックアップを準備中…」のまま...

再起動直後の1回目はちゃんとバックアップされることもあったけど,ダメな時もあるので根本の解決にはならず(というか,都度再起動は無理だし).

Appleサポートに参考になりそうな回答があった.

Spotlightをoffにする!?
確かに,この症状を発症すると,Spotlightで検索しても答えが返ってこなくなる.Time Machineにしても,Spotlight にしてもファイル探索なのでI/Oに負荷がかかっててしかたがないのかなぁ...と漠然と思ってたのですが,Spotlight を off にして解決した方もいる模様.

ちなみに,この時点では,コンソール.app で backupd で絞り込みをかけても何も出てこない(Airの方はそれなりに出てるけど,エラーはなさそう).

Spotlightの対象DISKから外す方法→「システム環境設定」→「Spotlight」→「プライバシー」(タブ)から,ファイル数が多いディレクトリを検索対象から除外した.

とすると,まずはSpotlightをなんとかした方が良いのか.
というわけで,Mac Spotlightの検索インデックスのデータベースを再作成する方法を参照すると,メニューバーでインデックス作成中の様子が見えるじゃないですか...Mac OS使うようになって何年経ってるんだ....と思うような基本的な無知.見ると,「索引作成にかかる時間を計算中」で明らかに固まってる.まずはこいつをなんとかせんにゃあかんね.

というわけで,先ほど Spotlight からの除外ディレクトリを指定したけど,上記ブログにあるように,一旦 DISK 全体を対象外にして,まっさらから作りなおしてもらう(ファイルが多いところは除外して)ことにする.実際,ほとんどが png 画像だったり機械的に生成したhtmlなので問題ない.
というか,Time Machineバックアップにしか使ってない外付け DISK まで Spotlight の対象になってたのか!外部 DISK 2つ(新旧 Time Machine)を対象外にして,local DISK も対象外にしたところで,メニューバーを見ると索引作成も動いていない.

そして,除外リストから local disk を外そうとしたら今度は「不明なエラーのため項目の追加または削除ができません」と...そろそろ終わりにしたいんだけど...再起動.環境設定の Spotlight から local disk を除外してちょっとお喋り(?)してる間に「索引作成にかかる時間を計算中」モードに突入.

さて,これでどうなるか...
(現状)
Time Machine → OFF (無用な負荷を減らすため)
  * ただし,1ヶ月程度前のバックアップは古い DISK に出来ている状態(USB接続はしてるけど,Time Machineとしては使っていない).
Spotlight → まっさらにして,索引作成

(追記)
NAVERまとめは色々可能性がまとめられててよさそう(未確認)

(20時間後)
Spotlight の索引作成が,「索引作成にかかる時間を計算中」のまま20時間が経過.Time Machine の方が重要なので,Spotlight の対象から local disk を外して(対象をなしにする)索引作成を止めて,Time Machine のトライに戻る.まずは,ファイルを除外しないでテスト.
Time Machine → ほぼ全てを対象に設定
Spotlight → 停止

結局,Time Machineも簡単には戻ってくれなかった.ので,
・バックアップ先をフォーマット(1ヶ月前のは別のDISKにあるので)
・ほとんどのディレクトリをバックアップ「対象外」に設定
・それでも始まらないので再起動

これで,なんとかTime Machineバックアップが「終了」するようになった.ので,対象外にしたものを1つ1つ戻して,全体(~/tmp/ は前から除外していた)をバックアップ対象にした.これで,Time Machineは復旧.

わかったこと:
・Spotlightとの関係が怪しい
・バックアップディスクを新調して,対象外を増やしたところからコツコツやればなんとかなる
(有益な解決策に見えないが...)

Spotlight はOFFのままなので,いずれやり直したい.少なくとも,/.Spotlight-V100が101GBあるという異常な状態であることは確認した.