Focus of Interest -info-
Clumns for iOS, OS X, and more...
Navigation

OS X LionのSpotlightとTime Machineの不適切な関係

 Lionにアップデート後、Time Machineのバックアップ・ディスクがアンマウントされないのはSpotlightが原因。気長にSpotlightがバックアップのインデックス作業を終えるのを待てば、いつかはアンマウントされるとレポートした。1度インデックス作業が終われば、Spotlightが忙しくなることもないはず。

 ところがその後も、頻度は下がったものの、
Time Machine バックアップが同じ原因でアンマウントが遅れる事態が起こったのだ。システムのログを見ると、mdworkerが過去のバックアップのインデックス作業に勤しんでいる様子… 過去1年分のバックアップをさかのぼって一生懸命インデックスの再構築をしているようなのである。そのあおりを食らって、たとえ数十MBでもTime Machineのバックアップ時間が20分以上かかることがざら。もう勘弁してくれ。

 最後の手段として、過去の遺産である
Time Machine バックアップ(約340GB)を別のHDDに退避した上で、Spotlight再構築sudo mdutil -E /)をし、Time Machine バックアップも1から作り直すことにした。バックアップ先のTime CapsuleとはギガビットEthernetでつながっているとはいえ、100GBの新規バックアップともなると15時間かかってしまった。

 新規バックアップの結果は劇的である。
 
Time Machine バックアップでのSpotlightインデックス作業は止まった。いや、実際には動いているのかも知れないが少なくともユーザ感知外のレベルにはなった。バックアップ作業も3分くらいで終了するし、バックアップディスクは即座にアンマウントされる。Snow Leopard時と変わらないレベルに落ち着いた。

 
今回得られたバッドノウハウは、「Time Machine バックアップ上では旧OSとの混在は避けた方がよろしい」。

Time Machineバックアップ終了後アンマウントされない(解決編)

 前回書いた、Time Machineでバックアップが終了しても、Spotlightの索引作成が終了していないため「Time Machine バックアップ」のディスクがデスクトップに残ってしまう件の解決編である。
 今回
Lionへアップデートしたことで、標準のmdimporterなどもかなりアップデートされている。このためSpotlightは起動ディスクだけでなく、Time Capsule上にあるバックアップに対しても索引の再作成を行っているようだ。実際、アクティビティモニタを見るとSpotlightmdworkerプロセスがいくつも動いており、さらにTime Capsuleとの間のネットワークアクセスが頻繁になっていた。
 ここまで分かれば後は簡単。単にそのままMacを立ち上げたまま放置しておけば良いだけである。3~4時間くらいしたら索引作成が自動的に終了し、それとともにすぐに「
Time Machine バックアップ」もアンマウントされた。以後、Time Machineでバックアップが走っても、終了後はすぐにアンマウントされるようになった。Lionアップデート後、いつもの調子ですぐにシステムをシャットダウンしてしまっていたのが間違いでした。
 なお、索引終了とともに、
/Volumes/Time Machine バックアップ/Backups.backupdb/にあった、.spotlight_repair/, .spotlight_temp/という空フォルダは消えうせ、.Spotlight-V100/という通常のSpotlightの索引フォルダが生成されていた。これにて一件落着。

Time Machineバックアップ終了後アンマウントされない

 Lionにアップデートしてようやく安定稼働状態まで来たと思っていたが、ここに来てまたトラブル発生。
 
Time Machineバックアップが終了後もTime Capsuleがアンマウントされず、デスクトップに残った状態となってしまっている。コンソールを開いてみると、

11/08/27 xx:xx:xx.xxx com.apple.backupd: Waiting for Spotlight to finish indexing /Volumes/Time Machine バックアップ/Backups.backupdb

というログが続いている。要するにSpotlightの索引作成が終わるのを待ち続けているらしい。
 大量のバックアップをしている訳でもないので、バックアップの索引が壊れているのか? 実際、
/Volumes/Time Machine バックアップ/Backups.backupdb/の中を見ると、.spotlight_repair/, .spotlight_temp/という怪しげな空フォルダができている。単にこれらのファイルを削除したり、Spotlightを初期化するだけでは問題は解決しない模様。
 さらに、同じ問題かどうか不明だが、
Spotlightは以下のようなメッセージも大量にコンソールに吐き出している。

11/08/27 xx:xx:xx.xxx com.apple.mdworker.lsb.0: trying to parse date
11/08/27 xx:xx:xx.xxx com.apple.mdworker.lsb.0: got cur date

 どうやらmdimporterのどれかが問題と推定しているのだが、まだ原因が分からない。
 …という訳で、
Spotlight, Time Machine, Time Capsuleの複合的な問題であること、特にSpotlightの何か(おそらくどれかのmdimporter)がそのトリガーになっているところまでは行き着いた。腰を据えて検証を実施予定。
本件の解決編をご参照下さい(その1)
⇒積み残しの解決編もご参照下さい(その2)

Time Capsule 1TB導入

Time Capsule導入により、家庭内ネットワークを一新。セットアップはあっという間に完了。 >> 続きを読む...

iPhoneからTime Capsuleにアクセス

 宅内無線LANがあって、NASがあれば、とーぜんiPhoneからNASにアクセスしたいと思うのだが、意外に手が届くアプリがないんだよね。具体的にはTime Capsuleにさえアクセスして、なんちゃってクラウド実現しようってわけ。単純にSamba(SMB/CIFS)クライアント機能さえあればいいのだが、世にはばかるのはなぜかiPhone本体がサーバになるものばかりである。
SharePlayer
 SharePlayerは、「共有ファイルアクセス機能」について、こじんまりした説明しかしていないが、Time CapsuleのSMBサーバにちゃんとアクセスできる。それだけでなく、avi, wma, wmv, asf, mkv, ogg, ogv, mp4などの各種動画フォーマットをデコード可能で、zip, rar, lzh, sit, 7z 圧縮された画像ファイルも扱えるとなれば、もう最強。多少大きなサイズの動画ファイルでも、まぁ無理すれば飛び飛びながらでもデコードしようとするあたり、力技だが凄い。
 取りあえずは、無線LANの届く範囲内であらゆるマルチメディア・データにアクセスできるようになるので、宅内クラウドのいっちょあがりである。さらにさらに、Time Capsuleや、最近の無線LANルータだと、ポートさえ開ければインターネットからセキュアなアクセスが可能なので、手持ちの動画、画像をすべてiPhone向けに変換してしまえば、外部のサービスを利用することなくクラウド環境が実現できるってわけだ。iPadやパフォーマンスの高い次期iPhoneなら変換さえも必要ないかもね。

Buffalo AirStationとBonjour

Buffalo: WZR-HP-300NH
 自宅の基幹無線ルータをTime CapsuleからBuffaloAirStationWZR-HP-300NH)へ換装。Time CapsuleにはNASTime MachineバックアップUSBプリンタ共有に専念してもらうことにした。その辺のドロドロした事情は、ほとぼりが冷めてから改めてご報告することとしよう。
 Time Capsuleと比べると、NTTフレッツ光の速度が何割か速くなり、さらに無線LANの速度も向上してしまった。ルータ、無線LAN専業メーカの強みだろうか。当たり前のことだが、音も振動もなく、発熱もないし (^ ^;
 
WZR-HP-300NHもファームウェアは何度かアップデートされ、初期からはだいぶ安定してきた模様。製品リリース直後はいろいろとトラブル満載だったようだ…。BitTorrentや、USBポートを使った簡易NASなどの機能拡張が裏目に出ているような気もする。無駄な機能を除いた質実剛健仕様のラインナップも欲しいなぁ。
 AirStationを基幹ルータにすることで一点だけ困っているのは、
Bonjourの扱いである。MacBook Proをメインマシンとして、Time CapsuleApple TVBonjour(共有ディスク、プリンタ共有、iTunesサービスなど)を利用しているが、一定時間過ぎるとMacBook Proがそれらのサービスを検知できなくなってしまう。Time MachineTime Capsuleのバックアップディスクを見つけられなかったり、iTunes 9Apple TVを見つけられなかったりする。MacBook Proを再起動、もしくはスリープに一度入れてから起こすとそれらのサービスが問題なく復活する。
 はっきりした原因はまだつかめていないが、どうも
MacBook Proのスリープ時間が関係しているようである。
Apple: Bonjour
 Bonjourは、前世代のAppleTalkと違いネットワークの混雑を避けるため、LAN上へのブロードキャストの時間間隔を少しずつ長くして行く。最長のブロードキャスト間隔は4096秒。その間にスリープに入ると、Bonjourプロトコルを吐かなく(もしくは検知しなく)なってしまうようなのだ。Time Capsuleをルータとして使用すれば、Time CapsuleBonjourの「Wake on Demandサービス」を使って、そういう自閉状態に入ったマシンのBonjourサービスを起こしてくれるのだが、AirStationにはそんな機能がない…(あくまで現時点の想像だが)。
 今のところ、対処方法はMacBook Proをスリープに入れないこと。電気代は気になるのだが、もともと自宅のコンピュータは使い終わったら電源を落とすものなので、さほど影響もなかろう…とは思う。サードパーティでBonjourサービスを積極的に使っているのはプリンタ・メーカくらいだが、家庭向けの安価なルータもそろそろ対応して欲しいなぁと思う。Apple製品だけですべてを揃えられれば、一番いいのだろうけど…ねぇ。

Snow LeopardとTime Capsule

 Snow LeopardにアップデートしてTime Capsuleとの相性が格段に向上した。
 ログイン時に必ずTime Capsuleがマウントされるよう、システム環境設定>アカウント>ログイン項目にボリュームを登録しているのだが、Leopardの時と比べてマウント時間がかなり短くなった。体感的には倍くらい速くなった感じ。ログイン時に限らず、Finderからのマウント時間が劇的に改善されたようだ。
 この結果として、
Time Machineのバックアップも改善された。LeopardではTime Capsule上のバックアップ用Sparse Imageをマウントする際、一時的なレスポンス低下(数秒間レインボーアイコンになる)が起こっていた。Snow Leopardでは、Time Machineが完全にバックグラウンドプロセスで動くため、バックアップがあったことに気がつかないこともしばしば。もちろん、Time Machineそのもののバックアップ速度も高速化された効果も大きい。本来こうあるべきだったんだけどね。
 あと、Time Machine環境設定で表示される「最古のバックアップ」「最新のバックアップ」時間は、Sparce Imageがマウントされたときだけ表示されていたのが常時表示されるようになったり、Space Imageは無味乾燥な白い豆腐アイコンではなくTime Capsuleのアイコンを継承するようになった…など、細かい改善も施されており、AppleがTime Capsuleに相当気を遣ったことが伺え、今後の機能追加も期待される。

Time Capsule 熱暴走?

 ついこの間、Time Capsuleが突然ファンがうなりを上げ始め、LEDはオレンジ色に点滅を開始。断続的に正常になるが、すぐに異常状態に逆戻り。ネットワークは正常に使えるようだ。
 AirMac ユーティリティを開くと「温度が上がっているので置き場所を変えろ」との指示が出た。これまで側面を本棚にピッタリ付けて設置していたのを、数cm離したらファンの回転は治まった。以前から時々OSごとハングアップし、ネットワークがダウンしていたのだが、熱暴走が原因だったのかなぁ。昔の計算機や組込みシステムならよくあったけれど、今どきの家庭用機器で熱暴走って…
 Time Capsuleの外見からは排熱口のようなものは見当たらないので、なるべく邪魔にならないよう本棚や壁に接するくらいに置いていた。だが、今回、まじまじとのっぺらぼうの外観を調べてみると、側面にあるスリットの奥の上方に、それらしい隙間のようなものが… 斜め下から見ると何となく影のように見えるが(iPhoneのカメラで↓は厳しい)、真横からだと見えないようになっている。なるほど、このスリットをふさがないように設置しないと!

Time Capsuleのベント

 考えてみれば、かなりの音を出すファンが付いているのだからどこかにそれなりの排熱口があるはずだよな。アップルお得意の「美しい外観設計」なのだろうが、ユーザにも機能が分からないようにしてしまうのも考えものだなぁ。