結論:方法は2つあります。NASがTime Machineに対応していれば、NASの設定でオンにしてから、「システム設定」の「一般」>「Time Machine」で共有を追加します。
または、Finderで共有フォルダに接続し、普通のディスクと同じようにバックアップします。ネットワークバックアップで最も壊れやすいTime Machineのディスクイメージを使わずに済みます。
ほとんどの NAS ソフトウェアには Time Machine のオプションがあり、通常は容量の割り当て付きで共有を作り、Mac が見つけられるよう公開します。Mac で、システム設定、一般、Time Machine、バックアップディスクを追加の順に進むと、その共有が表示されます。
知っておくべきこと:
rsyncNAS で SSH が動いていれば、何もマウントせずに直接コピーできます。
rsync -aE --delete ~/Documents/ [email protected]:/volume1/backup/Documents/
マウントした共有を経由するより速く、マウントがないときに黙って何もしないということもありません。NAS に到達できなければ、コマンドは目に見える形で失敗します。
スケジュール実行時にパスワード待ちで止まらないよう、先に鍵を設定します。
ssh-keygen -t ed25519
ssh-copy-id [email protected]
注意点は他と同じです。rsyncは履歴のないミラーを保つだけで、保存データを何も暗号化しません。rsyncの詳しいガイドで両方を説明しています。
Finder で共有をマウントすると、ほかのディスクと同じように /Volumes の下に表示されます。そうすればフォルダに書き込めるものなら何でも使えます。Copy Shelter もその 1 つで、バージョン、Mac から出る前の暗号化、各ピースをハッシュと照合する読み戻しを提供します。
書き込み前の暗号化は、思われている以上に NAS では重要です。NAS は OS とウェブ管理画面を持つ小さなコンピュータで、過去のあなたがインターネットにポートを開けていることもよくあります。NAS が読めないバイトなら、NAS が侵害されてもあなたのものであり続けます。
これこそネットワークバックアップをほかのすべてと違うものにする障害で、フォーラムのスレッドはこの話でいっぱいです。
共有がきれいに切断されれば、マウントは消え、書き込みはすぐに失敗します。それなら問題ありません。より多いのは、共有が切断されずに応答しなくなることです。NAS がスリープした、スイッチがリンクを落とした、Mac がネットワークより先にスリープから復帰した、などです。マウントポイントは残っていて、ls も一覧を表示し、書き込むとブロックします。
失敗するのではありません。ブロックするのです。プロセスは、クライアントが再試行を続けるよう設定されている間、割り込み不可の待機状態に入り、デフォルトではそれが非常に長くなることがあります。その状態のバックアップジョブは失敗も完了もせず、0 以外の終了コードを監視しているものにはどちらも見えません。
見分け方:
mount | grep smbfs
timeout 5 ls /Volumes/Backup >/dev/null || echo "share is not answering"
実用的な対策は、すべての処理に厳格なタイムアウトを設けること、「応答なし」を永遠に再試行するエラーではなく「保存先に到達できない」として扱うこと、そして止まった保存先がほかの保存先を止めないようにすることです。自分でスクリプトを書くなら、ジョブ全体を timeout で囲み、失敗がはっきり分かるようにしてください。
ローカルディスクでは、fsync() が成功を返せば、バイトはプラッタかフラッシュ上にあります。SMB では、サーバがそう決めた意味になり、それはファームウェアによって異なります。データを RAM に入れた瞬間にフラッシュを完了と応答する NAS ソフトウェアもあり、その数秒後に停電すると、上のすべての層が完了と報告した書き込みが失われます。
これは Mac 側からは直せません。できるのは、「コピーが終わった」を「コピーは安全」と見なすのをやめることです。つまり、あとで別の処理として共有上のバックアップを読み戻して確認することです。サーバが本当に永続化した書き込みと、受け取っただけの書き込みを区別できるのはそれだけです。
SMB 共有は Unix の所有者を NAS があなたと見なすユーザに対応付けますが、その対応付けは予想と違うことがよくあります。知っておくべき症状が 2 つあります。
._filename という付随ファイルに保存するか、破棄します。rsync -aE はそれらを要求しますが、残るかどうかはサーバ次第です。ls -lを使って確認してください。Finderはキャッシュされたサイズを表示します。SMB サーバの中には、ボリュームの容量を誤って報告したり、共有やその割り当てを無視して下層のプールの容量を報告したりするものがあります。その数字を信じるバックアップツールは、何テラバイトも空いていると言われた共有を平気で満杯にします。
安全な解釈は、容量が不明またはありえない値なら「不明」であって、決して「無限」ではないということです。最初の大きなバックアップの前に手作業で確認してください。
df -h /Volumes/Backup
smb:// と NAS の名前を入力し、そのユーザでサインインします。はい。NAS が Time Machine 対応をオンにした SMB 共有を提供していれば可能です。Synology、QNAP、TrueNAS をはじめ、現行の NAS のほとんどにその設定があります。
多くの場合、スリープ中に共有が切断されたか、NAS 上の Time Machine のディスクイメージが損傷しています。最初のバックアップ中は Mac を電源につないでおき、繰り返し起きる場合はディスクイメージのエラーに関するガイドをご覧ください。
多くの場合、その共有で Time Machine サービスがオンになっていないか、NAS が AFP でのみ公開しています。まず NAS 側を確認し、次に Finder で一度共有に接続して macOS に認証情報を覚えさせてから、もう一度確認してください。
はい。Mac ごとに専用の共有か割り当て容量を用意し、1 台が相手の必要な容量を使い切らないようにしてください。
ギガビットでの増分バックアップなら十分です。時間がかかるのは最初の完全バックアップなので、それはケーブルで行ってください。
ほとんどの場合おすすめしません。インターネットから到達できる NAS は、あなたがパッチを当てる責任を負う小さなサーバです。オフサイトが必要なら、すでに料金を払っているクラウドアカウントのフォルダのほうが安全で、たいてい簡単です。その容量の正しい使い方。
いいえ。RAID が対応するのは 1 種類の故障、つまりディスクの故障だけで、ほかには対応しません。あらゆる削除、あらゆるミス、あらゆるランサムウェアは、すべてのディスクに同時に及びます。
はい、最初のバックアップが終われば使えます。最初はすべてをコピーするので、ケーブルで行ってください。以降のバックアップは変更分だけを送ります。
Finderで「移動」>「サーバへ接続」から一度接続し、「このパスワードをキーチェーンに保存」にチェックを入れます。ログインのたびにマウントするには、「システム設定」の「一般」にある「ログイン項目」に共有を追加します。