2020/11/01

偽Time Capsule?! Openmediavault 5經AppleTalk為舊Mac機Time Machine網絡備份

Openmediavault從5.0版本開始不再支援AppleTalk插件,要為舊版跑AppleTalk的Mac機備份?這就是你想要的解決方案!

Openmediavault本身是建基於Debain Linux系統的上面,而Linux本身就有Appletalk相關的軟件包,名字叫做Netatalk

Netatalk是一個免費開源軟件包,實現了AppleTalk協議套件Apple Filing Protocol (AFP),能夠將運行類Unix操作系統的電腦變成用作對應蘋果Mac電腦的文件、打印和時間伺服器。

簡單來說,通過安裝Netatalk和在OMV上面稍加設定,就可以重新實現支援AppleTalk的Time Machine backup和文件分享。

新建共享文件夾

首先在瀏覽器上打開Openmediavault圖形介面,並新增一個共享的文件夾,新增一個共享的文件夾時要先選擇硬碟或硬碟陣列,我們將會用這個文件夾作為Time Machine備份之用。

在OMV的介面選單中選取Shared Folders。

我們假設在硬碟「BigDrv」裡面,新建及共享一個名字是「TimeMachineA」的資料夾。

為作為Time Machine的網絡資料夾取個名字,然後再選擇資料夾所在的「Device」,即NAS內的硬碟或像RAID或SPAN的硬碟陣列。

完成後,要在OMV上的操作就結束。

然後就要進行文字命令操作。這時必須以root身份,或者sudo權限,通過遙距SSH或者在實機上進行。

#找出備份用資料夾完整路徑

先找出先前在瀏覽器中Openmediavault操作介面新增作為Time Machine網絡備份用共享資料夾所在位置。Openmediavault的硬碟都會藏在/srv裡面如果資料夾的名字是「TimeMachineA」,收在名為硬碟「BigDrv」裏面,這個共享資料夾的路徑格式就會是這樣:

硬碟的完整路徑是

/srv/dev-disk-by-label-BigDrv

而共享資料夾的完整路徑是

/srv/dev-disk-by-label-BigDrv/TimeMachineA

把整個路徑都記下來,Windows上的筆記簿Notepad或者Mac上的文字編輯Textedit是你的好朋友。

經AppleTalk指定備份用共享資料夾

通過apt安裝netatalk和所有相關的程式。如果你這台Linux上面的apt程式庫已經很久沒有更新,可能要稍花一點時間等待所有東西下載和更新。

apt install netatalk

在Commandline命令列上邊使用文字編輯工具去修改下面的Netatalk配置文件afp.conf,這裏我們使用了nano。

nano /etc/netatalk/afp.conf

一般在剛安裝後的Netatalk配置文件都是沒有預先設定任何共享的文件夾的,僅作為template範本之用。

在這裏我們只需要啟用時光機相關的部分作為我們的備份工具,所以我們就只需要把Time Machine的部分填寫,然後把前面的分號移除就可以。當要共享出來作為備份碟是在「BigDrv」裡的「TimeMachineA」時,大約會是這樣:

[TimeMachine] 
path =/srv/dev-disk-by-label-BigDrv/TimeMachineA
time machine = yes
大約是這樣。

完成後,按鍵Ctrl-O儲存,再按Ctrl-X離開nano。

最後執行一個命令重啟netatalk,剛剛儲存的設定就會在這個時候加載啟用。

systemctl restart netatalk

這個時候,回到要備份的那台Mac機上,先掛載網絡磁碟「TimeMachineA」。

在網絡磁碟「TimeMachineA」掛載後,打開系統設置System Preference,再打開Time Machine網絡備份。

在掛載了omv的BigDrv後,Time Machine會把該網絡碟顯示成可選的備份碟。

點擊選擇硬碟的部分,進入選擇硬碟的介面,就會看到新建的「TimeMachineA」已經準備就緒,可以隨時被選取作為進行網絡備份碟使用。那就開始backup咯!

第一次Backup會很慢很慢很慢…

一切都是蝸牛星際!(籍口)

話說,肥叔叔以「建構家裏備份全面網絡化」作為藉口,花了$500買了一台蝸牛星際A款NAS回家

由於家裏本身已經有一台老正的Synology,在網絡安全上對所謂的黑群輝(Xpenology)沒有多大信心,而且也想試試其他的系統,所以就在這台「偽礦機」上安裝了Openmediavault。

備份的對象主要是家裏的幾台Mac,從過去以外接的硬碟跑時光機逐一備份,改為在家裡網絡進行。

較新版本的Mac OS,在連接網絡Time Machine的時候就已經採用SMB作為通訊協定,所以筆者現時主力機,跑Catalina的Macbook Air,就能夠直接連上omv上的Time Machine資料夾進行網絡備份。

然而,舊版本的Mac OS X上面的網絡備份,是使用自從蘋果電腦有網絡功能以來,由他們自家研發的通訊協定Appletalk進行。

像由蘋果自行開發銷售的那台傳說中的網絡備份設備——2008年推出索價299美金,2018年停售砍掉,一直貴得要命的Time Capsule,就使用這個通訊協定為Mac作無線備份之用。

Openmediavault過去一直都有第三方插件支持這一種幾乎可以說是戰前的網絡通訊協定,直至5.0版本的出現。

在筆者撰寫這篇文章的時候,Openmediavault的版本已經更新成5.5了。

蝸牛星際NAS上的Openmediavault 5.5-12。

其實Openmediavault本身不帶Appletalk,由於只有舊版本的蘋果電腦會使用到蘋果AFP自家製的通訊協定,在OS X一開始時Mac就支援SMB,並逐漸以之為優先,所以AFP的使用範圍就剩下舊型的Classic Mac OS和Time Capsule之類,團隊沒有花時間進行開發。

可能正因為Time Capsule推出時並不能通過SMB進行,只能通過AFP去為Mac處理網絡備份,一支專門為Openmediavault編寫冷門插件的第三方omv-extra團隊就推出了OMV上支援AppleTalk的plugin,這個plugin應該是在netatalk的基礎上編寫了適用於omv的介面、自動設置等一大堆背後的東西吧。

後來,新版本Mac OS的機種也像前文所述已經改用SMB通訊協定,所以連omv-extra團隊都在OMV 5.0的時候放棄了AppleTalk,先前在團隊之中負責維護的作者,甚至在清楚表明不會再繼續維護。

沒有Mac機、沒有時間,不幹了!

可是如果像肥叔叔一樣,因為某些原因(正版Adobe CS 6)要繼續使用舊版本Mac OS(Yosemite),又想用到網絡備份功能,又怎麼辦呢。

總不能每次都要使用黑群暉吧(Synology DSM可以在Web介面上簡單設定備份資料夾的SMB和AFP設定)。

「真·群輝」正版Synology DSM內有關AFP的設定。

就如同世界上幾乎所有消費者級別電腦應用的問題一樣,總會有其他人遇上,總會有人提問,而且超過一半的機會能夠在網上找到答案。

在Openmediavault上面的論壇,就有人提供了在omv 5以上沒有plugin下的解決方案,所以肥叔叔也編譯了一下,至少留著日後自己參考用。