MacのバックアップにTimeMachineを使いたいのですが、USB接続の専用HDDを毎回繋ぐのは煩わしい。そこで自宅サーバ(Debian)にHDDを接続し、ワイヤレスLAN経由でTimeMachineを利用できるようにしました。
環境
- サーバ: Debian (etch) + Samba 3.x
- USB接続の外付HDDをext3でフォーマット・マウント
$ mkfs.ext3 /dev/sda1
Sambaで接続できて書き込み可能な場所であれば何でも構いません。NASでも同様です。
事前設定
Macのターミナルで以下を実行し、標準では非対応な外部ボリュームをTimeMachineの保存先として指定できるようにします。
$ defaults write com.apple.systempreferences TMShowUnsupportedNetworkVolumes 1
手順
1. ディスクイメージの作成
ディスクユーティリティで空のディスクイメージを作成します。
| 項目 | 設定値 |
|---|---|
| 名前 | {ホスト名}_{MACアドレス} |
| ボリュームフォーマット | Mac OS 拡張(ジャーナリング) |
| イメージフォーマット | スパースバンドル・ディスクイメージ |
| ボリュームサイズ | 10MB程度(後で拡張するので小さくてよい) |
ネットワーク経由ではスパースバンドルを作成できないため、ローカルで作成してからサーバに転送します。
2. サーバへの配置
作成した .sparsebundle ファイルをサーバの共有ボリュームのルートに配置します。
3. ディスクイメージの拡張
初回作成時は小さいサイズにしているので、ディスクユーティリティでサイズを拡張します。バックアップ対象のHDD容量以上を確保するのが望ましいです。
ここで注意: イメージサイズを拡張しただけでは、パーティションサイズは初回作成時のままです。ディスクユーティリティの「パーティション」タブでサイズを上限まで拡張する必要があります。この作業の存在に気づかず、かなりつまずきました。
4. TimeMachineの設定
.sparsebundleが置かれているドライブをFinderで「取り出す」(これが重要。マウント状態だとTimeMachineが正常に処理できない)- TimeMachineの設定で保存先ボリュームを指定(イメージファイルではなく、イメージが置かれているドライブのルート)
- バックアップを実行
補足
初回バックアップは大量のファイル転送が発生するので、無線LANでは安定しない場合があります。最初は有線接続で実行するのがおすすめです。


