簡單來說:有兩種方法。如果 NAS 支援 Time Machine,先在 NAS 設定中開啟,再到「系統設定」的「一般」>「Time Machine」加入該共享。
也可以在 Finder 裡連接共享檔案夾,像一般磁碟一樣備份過去。這樣就跳過了 Time Machine 磁碟映像檔,也就是網路備份中最容易出問題的部分。
大多數 NAS 軟體都有 Time Machine 選項:它會建立一個共享,通常帶有容量配額,並進行廣播,讓你的 Mac 能找到它。在 Mac 上依次進入「系統設定」、「通用」、「時光機」、「添加備份磁碟」,該共享就會出現。
需要知道的事:
rsync如果 NAS 支援 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:它提供版本,在任何資料離開 Mac 之前加密,並會讀回備份,按雜湊值核對每一塊資料。
在 NAS 上,寫入前加密比人們以為的更重要。NAS 是一台有作業系統、網頁介面的小電腦,而且常常有一個被以前的你轉發到網際網路的連接埠。它讀不懂的位元組,在它被攻破時仍然屬於你。
這種故障讓網路備份與其他所有備份都不同,論壇里滿是關於它的貼文。
當共享乾淨地斷開時,裝載點會消失,寫入會立即失敗。這沒問題。更常見的情況是共享停止響應卻沒有斷開:NAS 進入了睡眠,交換機斷了鏈路,Mac 比網路先醒來。裝載點還在,ls 仍能列出它,而對它的寫入會被阻塞。
不是失敗,而是阻塞。處理程序會處於不可中斷的等待狀態,持續時間取決於客戶端被配置為重試多久,預設可能非常久。處於這種狀態的備份任務既沒有失敗也沒有完成,任何監視非零退出碼的程式都看不到任何結果。
你可以這樣發現它:
mount | grep smbfs
timeout 5 ls /Volumes/Backup >/dev/null || echo "share is not answering"
實用的防禦措施是:給每個操作設定嚴格的超時,把「沒有回應」視為「目標無法訪問」,而不是一個要無限重試的錯誤,並且絕不讓一個卡住的目標拖住其他目標。如果你自己寫指令碼,用 timeout 包住整個任務,並讓失敗顯而易見。
在本地磁碟上,fsync() 返回成功意味著位元組已寫入盤片或閃存。而透過 SMB,它的含義由伺服器決定,並且因固件而異:有些 NAS 軟體在資料進入記憶體的那一刻就確認了刷新,如果隨後幾秒內斷電,上層每一層都報告已完成的寫入就會丟失。
你無法在 Mac 上解決這個問題。你能做的是不再把「複製完成」等同於「副本安全」,也就是事後把共享上的備份讀回來檢查,作為單獨的一步。只有這樣才能區分伺服器真正持久儲存的寫入和它僅僅接收了的寫入。
SMB 共享會把 Unix 所有權映射為 NAS 所認為的你的身份,而這種映射常常出乎意料。有兩個值得瞭解的症狀:
._filename 伴隨檔案中,或直接丟棄。rsync -aE 會請求保留它們,但能否保留由伺服器決定。ls -l 檢查,Finder 顯示的是快取的大小。有些 SMB 伺服器會錯誤地報告卷宗容量,或者報告底層儲存池的容量,而忽略你的共享及其配額。信任這個數字的備份工具,會毫無顧忌地把一個據稱有數 TB 空閒的共享塞滿。
穩妥的理解是:容量缺失或不合理,就意味著未知,絕不意味著無限。在第一次大型備份之前手動檢查:
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 分配各自的共享或各自的配額,這樣一台機器就不會佔滿另一台需要的空間。
在千兆網路上做增量備份,綽綽有餘。慢的是第一次完整備份,所以那一次請用網線。
幾乎永遠不要。一台可從網際網路訪問的 NAS 就是一台需要你負責打補丁的小伺服器。如果你想要異地備份,用你已付費的雲端帳號中的一個資料夾更安全,通常也更簡單。如何正確利用這些空間。
不是。RAID 只應對一種故障,即磁碟損壞,其他的都應對不了。每一次刪除、每一個失誤、每一個勒索軟體都會同時波及所有磁碟。
可以,只要第一次備份完成。第一次請用有線連接,因為它會拷貝所有內容。之後的備份只會傳送有變動的部分。
在 Finder 中用「前往 > 連接伺服器」連接一次,並勾選「在我的鑰匙圈中記住此密碼」。若要每次登入時自動掛載,請到「系統設定」的「一般」,把該共享加入「登入項目」。
相關閱讀:將 Mac 備份到外接磁碟。