有了一個外接硬碟靠USB供電,再來有一個樹莓派裝上HAOS,就想要達成把一些占空間資料儲放或是備份到NAS上。
以目前消費級的儲存空間來說,如果沒有影片,那1TB相當地綽綽有餘。M.2 SSD的空間是寸土寸金,塞影片很快就會塞滿。要做到備份,訂閱那種Google Drive或是One Drive反而能達到全面的跨平台使用,而且app也做得相當好。
如果考量到一些私密性,放上雲端絕對不安全,Google跟Microsoft都有權力能去檢查使用者上傳的資料。因此會想要只有自己人能看到的,也就是「私有雲」的概念。但我覺得任何東西上雲端都會給人漏洞可鑽,靠著OSI七層的概念,還是讓NAS限制在三層,也就是私IP才能通就好。
一般無線路由器也會有USB可供外接硬碟或是隨身碟使用,不過無線訊號收發其實很吃CPU單核效能,倒不如讓無線路由器專職收發無線訊號,外部儲存讓樹莓派做還速度更快一些。
回到正題,Homeassisant(HA)接上外接硬碟,雖然讀是讀得到外接硬碟,但是又要怎麼讓區網內的人使用呢?

這裡先講述一下我的解決方案,需要有四個條件:
1. 使用USB供電的外接硬碟
2. HAOS裝在樹莓派4b身上
3. 使用Samba作為檔案共享的協定
4. 外接硬碟格式化成ext4格式
條件1與條件2就不用多說了,接下來直接介紹條件3。
SambaNas,安裝方法就是複製網址,在附加元件商店去導入該網址,就能安裝SambaNas。

安裝完之後,我們還需要把外接硬碟接上,調整該附加元件(addons)設定才可以完成,讓筆電或是手機等去存取。
條件4是把外接硬碟格式化成ext4格式,先來淺談為什麼。
首先HAOS其實是一個類unix系統,簡單來說可以當成linux,而linux系統能讀ext3、ext4格式(Format),但對Windows系統的檔案系統(File System, FS)常見的NTFS、exFAT都不太能支援,會混淆,導致無法正常進行所有操作。因此外接硬碟要接在樹莓派HA上,就要把外接硬碟格式化成ext3或ext4格式,這同時也是SambaNas的文件要求。
外接硬碟接在Windows作業系統的筆電上,如果是ext3或ext4,就會無法正常讀取,而Window10的格式化,也只有NTFS跟exFAT兩種可選,並沒有ext3或ext4能選。需要使用一些工具才能解決這的狀況。

此時有兩種方式:
1. 在Windows10作業系統,安裝應用程式「MiniTool Partition Wizard Free」,透過該應程式去用ext4格式化外接硬碟。
2. 用虛擬機,使用Linux系統去格式化外接硬碟。
方式1比較適用小容量(1TB)以內的硬碟。當容量超過該值,用Linux虛擬機去快速格式化會比較快速。

照上圖,我用4TB的外接硬碟,此時用該套應用程式去格式化,進度調慢到天荒地老,不是一小時以內就能完工的事情,所以使用方式2,用類unix系統去做到快速格式化。
方式2是需要有個類unix系統的虛擬機,接上外接硬碟之內,是可以把其切換到去接到虛擬機上,實現外接硬碟與類unix虛擬機連接。
這裡簡單講一下指令,我用kali去做,首先要進入root的權限,「sudo su」。
然後先輸入「fdisk -l」去取得外接硬碟在甚麼位置,如「/dev/sdb1」等。
然後輸入「umount <Position>」,如「umount /dev/sdb1」。
接者輸入「mkfs -t ext4 -L <LableName> <Position>」,如像是「mkfs -t ext4 -L JN_Storage /dev/sdb1」,接著會顯示基本資訊,然後詢問你「y/N」,輸入「y」按下Enter進行格式化。
等待好了之後,就能把外接硬碟接在樹莓派HA上。
在附加元件 -> SambaNas -> 設定,在moredisks中,將DISKLABEL輸入進入。若不確定可以去系統->Host->選單->硬體,找到外接硬碟的相關資訊去查看。

之後按「儲存」,然後重啟。
接下來就回到Windows系統的筆電上了,打開檔案總管,輸入樹莓派的IP位置,如「\\192.168.0.1」等,接著就會提示需要輸入帳密,照著SambaOS所設定的輸入即可。

如果是使用ext4格式,透過Samba可以正常讀寫,也可以正常刪改。如果是NTFS或是exFAT就只能讀寫但無法刪改。
要讓Android手機自動備份,可以使用「foldersync」APP。記得帳戶類型是使用「SMB2」,SMB分享名稱一定要打上像是「JN_Storage」之類,Port號為預設445即可。
外接硬碟購買時要注意「PBR」與「SBR」兩種寫入方式差異,我有PBR跟SBR兩種的外接硬碟,PBR表現最穩定,而SBR到了需要重整磁軌的區域時,就會慢的一蹋糊塗。
不過SBR的容量價格比是最高的 ,對於那種影片或是檔案寫入就長期備份的而不常做異動的,就適合選這種。如果每天讀來寫去,絕對要選PBR才是對的!
用無線路由器對外接硬碟以NTFS格式,以WiFi AX 160MHz做讀寫,個人筆電(Intel AX201)可達讀110MB/s、寫50MB/s的表現。
用網路線接在無線路由器的樹莓派HA,外接硬碟以Ext4格式,以WiFi AX 160MHz做讀寫,個人筆電(Intel AX201)可達讀100MB/s、寫80MB/s的表現。
綜合起來,我覺得外接硬碟接在樹莓派HA有最好的綜合表現。
然後以無線AX傳輸,其實已經能跟1Gb有線網路的傳輸速度能比。期待WiFi 6G早點通過,不然5GHz的頻道以160MHz寬度一定會碰到DFS頻道,一個雷達佔用,160MHz可能就無法使用了。