沒有RAID的NAS?Unraid實踐筆記 教你如何組建ALL-IN-ONE家庭雲終端(基礎篇)

背景

2021年年初的時候接觸Unraid,然後就愛上了。當時看到一個非常好玩的影片,就是用Unraid讓一台電腦主機用一個CPU,便可滿足七個遊戲玩家的需求。

然後我前前後後組裝了三台Unraid。其中一台主用Unraid還堆上了Intel第十代i9 CPU。看著家用級的CPU有十核二十線程可以自由分配,還是蠻興奮的。

Unraid的可玩性非常高,而且系統非常穩定,對硬件也一點都不挑。雖然自己只稍微玩過Esxi虛機平台和Synology NAS,但Unraid的綜合評分無疑比它們優勝太多了。

Unraid是什麼?

那麼Unraid到底是何方神聖呢?從Unraid的名字來看就知道它應該和Raid硬盤陣列有關係。

是的,Unraid是一個基於Linux內核,並做了深度定制的數據存儲操作系統。通過Unraid,你可以實現數據安全、硬件虛擬化和Docker管理等多種複雜功能。

數據安全:將自己手機和電腦等設備的數據存儲在Unraid,並可隨時隨地進行存取。Unraid的Parity冗餘機制保證數據不會因為單個硬盤損壞而丟失。

硬件虛擬化:像Esixi或公有雲平台那樣將硬件虛擬化,並在一台主機上安裝多個虛擬機。

Docker管理:社區有超過1500個Docker可供免費使用。同時,通過連結Docker Hub支持第三方Docker安裝。

Unraid的實現原理

Unraid分為三種硬盤格式,包括Array陣列盤、Parity校驗盤和Cache緩存盤。通過這三類硬盤,組成了獨特的類Raid 5和類Raid 6的硬盤陣列。

Array陣列盤可以進行堆疊,可用儲存容量等於Array中所有硬盤的總容量,且(非常重要)其中的硬盤容量大小沒有限制。

Parity校驗盤可最多配置兩個硬盤,但要求Parity的硬盤必須大於或等於Array中的單個硬盤的容量。假如沒有配置校驗盤,則冗餘能力類似Raid 0或JBOD,即只要有一個硬盤壞了,數據就會丟失,容錯能力是0;如果配置一個硬盤,則冗餘能力類似Raid 5,即容許一個硬盤壞掉,而數據不會丟失;如果配置兩個硬盤(最多),則冗餘能力類似Raid 6,即容許兩個硬盤壞掉。Parity的校驗原理是當有數據寫入Array陣列盤時,會對每個資料碟的同個區域做XOR計算,最後把結果都存入Parity校驗盤裡。

Cache緩存盤可以加快數據的讀寫速度,因此通常是用速度更快的SSD。我曾經測試將一個10GB文件從外置SSD複製到Cache盤,速度可達3.5GB/s。緩存盤如果不配置,數據會從Array直接存取。如配置兩個緩存盤,則會以類似Raid 1的形式組成資源池。

我對NAS和Unraid的感受

對比NAS,我的感受是Unraid不像NAS那樣需要頻繁讀取硬盤做數據同步,而且你無法控制NAS不這樣做。但Unraid默認是不作數據同步的,你甚至可以Spin down某個HDD硬盤,讓它的磁盤不要轉動。頻繁讀盤對硬盤的壽命會有較大影響的。在不關機的情況下,Unraid可以做到更安靜(要知道在夜闌人靜的時候,硬盤轉動的聲音是非常刺耳的)。

另外,Array陣列中的硬盤格式是普通的xfs格式。也就是說,它們是可以在其他電腦上讀取。但NAS陣列的硬盤離開了NAS,就沒法讀取了。Unraid對數據的可轉移性更友好。

開始安裝

到Unraid下載頁面下載USB Creator。

備註:網上有開心版可供下載學習。相關安裝方法和風險請自行負責

電腦插入USB記憶體並打開USB Creator應用程式,選擇後按“Write”。

備註:一般建議選上“Allow UEFI Boot”。使用Unraid的主機較舊的話,則不勾選(因為舊主板不支持UEFI)

備註:由於Unraid整個操作系統是安裝在USB記憶體,頻繁讀取會導致USB記憶體很熱。由於Unraid系統並不需要很高的存取速度,因此部分用家使用USB 2.0記憶體令其不那麼熱。

將寫入完成的USB記憶體插入目標電腦主機,進行安裝。

進入系統

安裝完成後,會出現IPv4地址畫面。此時在另一台電腦上用瀏覽器輸入IPv4地址(截圖例子是192.168.1.249)即可登錄Unraid Web界面。

備註:主機開機時,注意選擇USB記憶體為第一個Boot Device開機。默認登錄用戶名“root”和不需登錄密碼

瀏覽器右上角可以看到該系統的相關信息。

在USERS > Users,修改root密碼。添加新user,以作為文件夾共享之用。

備註:Unraid web界面需用root登錄,共享文件夾需用非root登錄。

Unraid設置

在SETTINGS > Date and Time,修改正確的時區。

在SETTINGS > Disk Settings,開啟“Enable auto start”。這樣每次正常開機後,都會自動啟動Array陣列。

備註:只有啟動Array陣列,Docker、虛擬機和數據保護的功能才能使用。如有相關自動化服務,建議默認啟動Array陣列。

SETTING > Management Access,關閉Telnet和SSH,將降低安全隱患。

在SETTINGS > Network Settings,修改IPv4 address為Static,並分配一個適用的IP地址(截圖例子為192.168.1.249),以防DHCP動態分配新的IP。

在SETTINGS > Scheduler > Parity Check,設置定期同步校驗盤,以確保數據安全。

備註:建議一個月做一次,且在數據有較大更新時再手動做Parity Check(在MAIN > Array Operation操作)。

備註:Unraid的Parity Check數據同步需要花的時間較長,不少用家被勸退。

在SETTINGS > Scheduler > Mover Settings,如果有配置緩存盤,可以設置定期將數據轉移到陣列或緩存盤(視乎文件夾在SHARES的設定)。

備註:在SHARES板面下的文件夾可按MOVE NOW對特定文件夾手動轉移數據。

Unraid陣列

瀏覽MAIN > Array Devices,選擇最大容量的HDD作為Parity硬盤。注意分配作為Parity的硬盤容量是不可用的。Unraid的可用容量為Disk 1~n所有硬盤的容量疊加。

在MAIN > Pool Devices,選擇速度快的SSD作為緩存盤。

備註:緩存盤如果只選一個,則不存在備份能力。如果數據只儲存在緩存盤,則如果緩存盤壞了,數據就會損壞。

在MAIN > Boot Device > Flash > Flash Device Settings > FLASH BACKUP,定期對Unraid系統做備份。

備註:Unraid的系統是存儲在USB記憶體裡,頻繁的存取會加快記憶體的損壞。較好的做法是將系統備份後,存儲在另一個USB記憶體裡,並插在該Unraid主機上備用。

在MAIN > Array Operation,配置完成後按START開啟Array陣列。

備註:開啟陣列將會導致分配給Parity的硬盤數據被抹除(格式化)。

開啟陣列後,Unraid會進行數據同步(在瀏覽器左下角顯示進度),然後慢慢等待完成就行。

備註:Array陣列中的硬盤如果是Unraid可識別的格式(如XFS格式),則該硬盤的數據可被Unraid自動識別,並可直接使用。

在DASHBOARD板面,可以在一個頁面同時顯示不同信息。其中左邊顯示該服務器的硬件實時狀態信息。包括主板、CPU、RAM和網卡等。

備註:Unraid本身的硬件佔用非常少。如果長期開機而又不需要開虛擬機,可以選擇低功耗的CPU。

Unraid數據共享

在SHARES > User Shares,看到已經存在的系統文件夾。按ADD SHARE新建自己的文件夾做共享。以下截圖新建myMedia文件夾作共享之用。

Use cache pool選項

  • Yes:表示當使用Mover時,數據會移動到Array陣列。建議默認選擇此項。
  • Prefer:表示當使用Mover時,數據會從Array陣列移動到緩存盤。建議對頻繁使用且文件不大的文件夾使用。
  • Only:表示當使用Mover時,數據不會做移動操作。

備註:在SHARES文件夾裡,可找到Mover Tuning對數據做移動。只有數據不使用時,Mover才能移動數據。

Allocation method選項

  • High-water:將新數據均勻地寫入到Array陣列中的各個硬盤。並對陣列中最大容量的硬盤先做寫入,直至其剩餘容量和其他硬盤差不多。建議選擇此項。

備註:以下截圖例子,High-water機制下會先將數據寫入Disk4和Disk3。當其剩餘容量為1T(Disk4容量的一半)時,會加入Disk2。數據會均勻地在Disk4、3、2之間寫入。當剩餘容量為500G時(1T容量的一半),會加入Disk1。

  • Fill-up:將新寫入到Array陣列中的特定硬盤,直到寫滿。
  • Most-free:將新數據寫入到Array陣列中有最大空間的硬盤。

設置該文件夾作SMB共享,選擇Security為Secure

修改SMB User Access下的用戶為Read/Write。

備註:需在USERS新增user,SMB登錄不能使用root。

設置完成後,在另一部電腦,打開文件夾 > 網絡,開啟網絡分享功能,一般即可以自動發現Unraid。或手動輸入URL以連接Unraid。如Macbook打開Finder,在Go > Connect to Server,輸入Unraid的IP,如smb://192.168.1.249。

如果Macbook能正確找到Unraid,則需要輸入登錄信息。正確輸入登錄信息後,即可訪問共享文件夾。

連接成功後,即可看到共享文件夾。

可以將數據直接拉到這個共享文件夾。

在SHARES,該文件夾的右方,點擊文件夾圖標,可以瀏覽文件夾的內容。

可以看到,之前複製的文件已經成功顯示。

在另一台電腦,播放存放在Unraid的視頻,即使是4K影片,也完全流暢播放。

備註:測試片源可在此下載:https://4kmedia.org/big-buck-bunny-4k-demo/

安裝應用市場

在PLUGINS > Install Plugin > Enter URL of remote plugin file or local plugin file,輸入以下URL,並按INSTALL。安裝完成後,瀏覽器刷新頁面,在Unraid Web界面會顯示多了一個APPS版面。

https://gitee.com/BlueBuger/community.applications/raw/master/plugins/community.applications.plg

在應用市場可以搜尋並安裝Docker和Plugin。安裝過程也非常簡單,只需要按Install即進行下載,並按應用的參數配置安裝。安裝好的應用會在DOCKER和SETTINGS(如果是Plugin)版面顯示。

Unraid應用市場十分活躍,至今已經有1800多個Docker和Plugin。

後記

以上就是Unraid的基本配置操作。篇末我提供了安裝應用市場的方法。而應用市場,才是Unraid的真正魅力所在,下一篇我將講講Unraid的強大應用市場,以及由此帶來的Docker和Plugin兩大模組。

Leave a Reply

Your email address will not be published. Required fields are marked *

This site is protected by wp-copyrightpro.com