小刻也能看懂的Unraid系統使用手冊:基礎篇

小刻也能看懂的Unraid系統使用手冊

基礎篇

UNRAID_logo

Unraid系統簡介

Unraid 的本體其實是 Linux,它主要安裝在 NAS 和 All in One 服務器上,經常可以在 Linus 的視頻里看到 Unraid 的身影。與群暉DSM系統相比,Unraid 的硬件兼容性更好,原生支持 Docker 和 VM 虛擬機,硬件直通的設置十分方便,這讓 Unraid 可以發揮硬件的極致性能。在國外 Unraid 的用戶還是相當多的,它內置的插件中心可以下載的插件和 Docker 功能種類都十分豐富,可以滿足使用者不同的需求。

關於數據的安全存儲,通過 Unraid 這個系統的命名也可以看出來它是不支持 RAID 的。Unraid 系統採用了校驗盤的機制來保證數據安全,最多支持 2 塊磁盤作為校驗盤,實現了類似於 RAID5/6 的冗餘模式。例如,當插入 2塊磁盤作為校驗盤,就可以在存儲序列內同時有兩塊硬盤損壞的極端情況下確保數據不會丟失。

Unraid 不是免費的,它的收費模式是按照系統內的存儲設備數量(不包含引導U盤)分為 Basic, Plus, Pro 三種,一次性買斷制,價格分別為 59, 89, 129 (美元)。最便宜的 Basic 版本支持最多 6 個存儲設備,Plus 版本支持 12 個,Pro 版本不限制。個人使用 Basic 版本已經足夠了,即使後期需要升級,也可以通過補差價的方式升級到更高版本。並且 Unraid 提供了 30 天的全功能試用,可以體驗一下再決定是否購買。

在本文撰寫過程中,Unraid 官方宣布已經支持使用支付寶作為付款選項來購買 Unraid OS 了!他們還將 Unraid 網站翻譯為了中文,創建了中文在線社區,並實現了整個 Unraid OS 的中文化!驚不驚喜,意不意外?只是筆者的文章是按英文版寫的,都寫一半了…不過這不重要!重要的是有了官方中文社區,國內很多使用 Unraid OS 的小夥伴有了互相交流的地方!

Unraid系統安裝

1.準備工作

一個U盤

Unraid 的安裝方式是通過U盤進行安裝,且安裝完成後,U盤將作為啟動設備引導 Unraid 啟動。需要注意,日後 Unraid 的激活需要U盤有唯一的 GUID (Globally Unique Identifier) 全局唯一標識符,而一些雜牌U盤很可能使用相同的 GUID 或者 GUID 是一串無意義的數字,這會導致系統無法激活。Unraid 官方推薦使用 2GB 以上大小的高質量品牌U盤,如 PNY, Lexar, SanDisk, Samsung, 同時在官方指南中提到不建議使用 USB3.1 的U盤。

2.製作啟動盤

有兩種方式製作 Unraid 啟動盤,第一種使用官方提供的 USB Creator 工具,第二種需要手動下載系統鏡像寫入U盤。這裡推薦使用官方的工具來製作啟動盤。

(1) 使用 USB Flash Creator 工具

  • 下載 USB Flash Creator,下載地址:Unraid | Download Unraid Server OS
  • 插入準備好的U盤
  • 運行 USB Flash Creator,可以在軟件界面選擇安裝的系統版本號,這裡推薦使用 Stable 穩定版。
  • 點擊 Customize,可以自定義服務器的名稱,IP地址。這裡也可以先不設置。
  • 是否 Allow UEFI Boot 需要根據個人的主板進行選擇。
  • 選擇正確的U盤後,點擊 Write 按鈕,工具會自動下載系統鏡像並寫入。
  • 寫入完成後,關閉軟件,拔出U盤。

因為工具需要預先下載系統鏡像,對於網絡條件不好(指網絡不科學不文明)的地區,可能下載時速度會非常緩慢,需要耐心等待一下。其實,Unraid 提供了系統鏡像的離線下載,在官網下載頁面可以下載到不同版本的系統鏡像,只需在工具上選擇 Local Zip,然後選擇下載好的鏡像文件再進行寫入即可。

Unraid_USB_Flash_Creator

(2) 手動製作啟動盤

  • 插入準備好的U盤,將其格式化成 FAT 文件系統。修改U盤卷標為 “UNRAID” 注意要求大寫。
  • 按照(1)中的方法到官方網站下載系統鏡像,並解壓壓縮包內的所有文件到U盤根目錄。
  • 在U盤根目錄的文件中找到 make_bootable 腳本,右擊,選擇以管理員身份運行。
  • 耐心等待,直到出現 complete 提示後,製作完成,可以拔出U盤。

雖然手動製作啟動盤的步驟看起來更少更簡單,但其實坑還是很多的,比如不能設置是否使用 UEFI 啟動。並且對於 Linux 和 MacOS 系統用戶,操作還是相對複雜的(具體可以查詢官網安裝指南)。推薦使用(1)中的啟動U盤製作工具來進行製作。

3.初始化 Unraid

在這裡小刻使用一台組裝好的電腦來安裝 Unraid 系統,並作為 NAS 來使用。這台電腦需要至少安裝一塊硬盤用來初始化 Unraid 序列。

  • 第一次初始化需要連上顯示器,插入製作完成的啟動U盤,插入網線、鍵鼠,開機。
  • 進入 BIOS 界面修改啟動設備為 USB 設備。保存並退出。
  • 重啟後不出意外的話會顯示 Unraid 啟動菜單。選擇第一項 Unraid OS,啟動系統。
  • 等待系統載入完成後,會提示 IPv4 地址用於登錄系統的管理後台。

至此 Unraid 初始化已經完成,記錄下管理地址後,就可以拔掉顯示器,使用局域網內的其他電腦來遠程管理 Unraid 系統了。基本上所有的系統設置都可以通過 Unraid 網頁端的界面來進行,是不需要外接顯示器的。需要注意 Unraid 通過U盤引導,所以啟動U盤可不能拔出來。

Unraid_StartupMenu

Unraid_Init

Unraid系統激活

在瀏覽器輸入管理IP訪問 Unraid 控制台,會提示購買 KEY,不過在購買之前,要先確認 Unraid 的系統時間和 DNS 服務器的設置是否正確。

Unraid_Registration

點擊 Important 提示中的 server time 設置一下系統時間,如圖所示,推薦開啟 NTP 服務器用來自動同步時間。Unraid 默認的 NTP 服務器是國外的,可以替換為國內的 NTP 服務器,下面是一些 NTP 服務器地址:

阿里雲NTP服務器騰訊雲NTP服務器微軟NTP服務器

Unraid_DateAndTime

點擊 Important 提示中的 DNS server 鏈接,對 DNS 服務器進行設置。

Unraid_DNS_Server_Setting

設置完成後,可以點擊 PURCHASE KEY 購買,現在 Unraid 已經支持支付寶付款了。當然也可以點擊 GET TRIAL KEY 開始 30 天的試用,試用期間的系統功能和 Pro 版本相同沒有限制。

獲取試用 KEY 的時候有可能出現即使修改到正確的系統時間也提示 Error 的問題。這是由於計算機主板的時間錯誤所引起的,需要進入 BIOS 里把主板的時間修改為正確的時間。如果重啟後主板時間仍然錯誤,則需要檢查更換主板上的紐扣電池。

DASHBOARD

成功激活後,自動跳轉到了 MAIN 界面,這是 Unraid 系統管理所有存儲設備的界面。我們暫時不操作這個界面,點擊導航欄上的 DASHBOARD 鏈接,切換到 DASHBOARD 儀錶盤界面。界面由三欄組成,左側顯示 Unraid 服務器的硬件監控,中間顯示共享文件夾和用戶配置,右側顯示校驗盤、序列等存儲設備的使用情況。在 DASHBOARD 界面可以總體預覽 Unraid 系統的運行情況,其中每個小模塊都可以通過鼠標拖拽的方式調整位置。

Unraid 儀錶盤界面的詳細說明如圖:

Unraid_Dashboard

一些簡單的設置

1. 修改root用戶密碼

Unraid 安裝完成後,系統默認只有 root 用戶,並且沒有設置密碼,有極大的安全隱患,需要第一時間為 root 用戶設置密碼。

切換到 USER 界面,可以看到只有 root 用戶。點擊它的頭像進入用戶編輯界面,修改密碼並點擊 CHANGE 。Unraid 會提示重新登錄。root 是 Unraid 系統的最高權限用戶,也是 webGUI 的登錄用戶,一定要牢記它的密碼。

2. 新建用戶

因為 root 用戶擁有最高權限,可以控制整個系統,密碼泄露出去會帶來安全隱患,所以為了安全考慮,在設置共享權限和 Docker 應用的時候不應該使用 root 用戶,需要新建一個或多個用戶。

切換到 USER 界面,點擊 ADD USER ,設置用戶名、描述、頭像、密碼,點擊 ADD 即可創建用戶。

Unraid_Add_User

3. 設置靜態IP

Unraid 默認自動獲取 IP 地址,由路由器自動分配,這個 IP 地址是會變化的,最好將其設置為靜態,讓其使用固定的 IP 地址,方便後續的各種系統配置和應用軟件配置。

設置方法:

SETTINGS >> NetworkSettings

如圖所示,修改 IPv4 address assignment 為 Static,設置 IPv4 地址,默認網關,APPLY 應用設置。等待幾秒鐘後,在瀏覽器中使用修改後的 IP 地址訪問 Unraid 後台即可。

在 NetworkSettings 里可以查看到 MAC address,這是當前網絡接口的物理地址,熟悉路由器配置的刀客塔可以進入自己的路由設置,把剛剛設置好的 IP 地址和 MAC 地址進行綁定。(不綁定也可,問題不大)

Unraid_IPv4_address_setting

4. 修改服務器標識

默認的儀錶盤左上有個機箱圖標的模塊就是服務器標識模塊,可以看到服務器名稱和描述信息,還有一個機箱圖標。點擊圖標下面的 EDIT 按鈕,可以修改其樣式,這個只是為了美觀,可以隨便選擇喜歡的樣式。再點擊模塊右上角的齒輪圖標進入服務器標識設置界面,可以在此修改服務器名稱、描述、型號,這裡也可以隨意填寫,就算寫 PRTS 也完全沒有問題。另外,在模塊右上角有三個小圖標,分別是啟動序列,重啟服務器,關閉服務器。

使用共享文件夾

完成了上述的配置後,我們可以先創建一個共享文件夾,簡單測試一下。

1. 啟動序列

通過導航欄進入 MAIN 界面,點擊 Disk 1 右側的下拉菜單,選擇一個磁盤,這裡小刻選擇了 870EVO 500GB 的固態硬盤,這塊硬盤將作為數據存儲空間,因為要進行格式化,所以一定要注意確定硬盤中已經沒有有用的數據了。在 MAIN 頁面的最下面,點擊 START 按鈕,等待一會兒後可以看到序列的狀態已經變成了 Started,表示序列已經啟動。

2. 格式化磁盤

但此時在 Array Devices 列表中,可以發現 Disk 1 的 SIZE 一欄沒有顯示磁盤的容量信息,這是因為 Disk 1 磁盤還沒有進行格式化。勾選頁面下方灰色按鈕 FORMAT 右側的 Yes, I want to do this 複選框,點擊 FORMAT 按鈕,提示格式化操作會刪除磁盤上的所有數據,再次點擊 FORMAT 開始格式化。

Unraid_Main_ArrayStarted1

3. 創建共享文件夾

格式化完成後,Array Devices 列表中已經可以看到 Disk 1 的空間使用情況了。有了存儲空間就可以創建共享文件夾了,點擊導航欄的 SHARES,再點擊 ADD SHARE 按鈕,在 Share Settings 頁面,簡單設置一個共享的名稱,比如 “media”,然後點擊 ADD SHARE 就完成了一個共享文件夾的創建。

4. 訪問共享文件夾

訪問共享文件夾的方法也很簡單:以 Windows 為例,打開計算機,在地址欄輸入 Unraid 服務器的 IP 地址 \\10.0.0.110 回車,可以看到剛才創建的共享文件夾 “media”,雙擊進入,和日常使用的文件夾一樣,可以在這個共享文件夾里複製粘貼,存取文件。

複製一個文件到共享文件夾測試一下傳輸速度,大約是 110MB/s,已經接近千兆網絡的極限速度了。

Unraid_ShareFileCopy

共享文件夾是 NAS 服務器最重要的功能,只要是和 NAS 服務器在同一網絡環境的設備,包括電腦、手機、電視等,都可以通過網絡訪問到共享文件夾中的數據,在其中存放電影、音樂、照片、視頻等,通過局域網,家中的設備都能進行瀏覽和播放,配合 Unraid 強大的插件和 Docker 的支持,可以實現一個數字化的家庭媒體中心。

上文只是很簡單的創建了一個可供讀寫的共享文件夾,實際上 Unraid 系統中對於共享文件夾的設置是非常豐富的,可以指定其使用哪些磁盤、授予用戶不同的權限等,這些功能在弄明白 Unraid 的序列和共享機制後再來探索吧!

MAIN 界面

對於一個 NAS 服務器來說,存儲數據是最重要的功能,而管理各種存儲設備,配置存儲空間,保證數據安全是一個 NAS 系統必備的功能,MAIN 界面就是 Unraid 管理所有存儲設備的地方。在這裡可以看到上文添加的固態硬盤在 Array Devices 的 Disk1 位置,並且可以查看它的溫度、讀寫請求、錯誤、文件系統和空間使用的情況。

因為在序列已啟動的狀態下是不能進行存儲設備的配置的,先點擊 STOP 按鈕,停止序列運行。序列停止後,頁面左下角會有紅色的 “Array Stopped” 提示信息。

此時 MAIN 界面進入配置模式,Unraid 系統把服務器中的存儲設備分為下面這幾種類型進行管理:

1. Array Devices

Array Devices 可以翻譯成「陣列設備」或者「序列設備」,由於「陣列」很容易讓人誤以為是 RAID 陣列,而 Unraid 本身是不支持 RAID 的(可以通過陣列卡實現硬件RAID),所以本文將其稱為序列設備。

Array Devices 中的設備是組成 Unraid 服務器存儲空間的主要設備,分為 Parity 校驗盤和 Disk 數據盤。

Parity 校驗盤

校驗盤用來對存儲在數據盤中的數據進行奇偶校驗,以保護數據安全。當出現磁盤錯誤時,可以通過校驗的方式恢複數據。安裝 1 塊磁盤作為校驗盤時就可以為數據盤提供 1 個冗餘。因為是一對一校驗數據,所以作為校驗盤的磁盤容量必須是序列設備中容量最大的磁盤。目前 Unraid 支持配置最多 2 塊磁盤作為校驗盤,這兩塊磁盤的容量可以是不同的,但仍然會以其中容量最小的為準。

Disk 數據盤

數據盤用來組成系統的主要存儲空間,其容量是所有數據盤容量的總和。比如使用 4 塊 4TB 硬盤作為數據盤,則存儲空間的總容量就是 16TB。並且由於不使用 RAID 陣列的機制,數據盤可以使用不同容量的磁盤,後續擴展存儲空間時更加靈活。但還是要注意,如果開啟校驗功能,則數據盤中的容量最大的那塊磁盤的容量不能超過校驗盤能提供的最大校驗容量。

TIPS: Unraid 官方指南中提到,目前 SSD 作為序列設備(包括校驗盤和數據盤)使用正處於實驗階段,可能會出現意料之外的問題。所以,最好使用機械硬盤作為序列設備,SSD 作為緩存使用。

2. Pool Devices

Pool Devices 是 Unraid 6.9.0 版本新增的功能,在先前的版本中叫做 Cache,即緩存,它是用來為數據提供加速讀寫的磁盤。在 Unraid 6.9.0 之前的版本中只有 cache 一個緩存池,而新版的 Pool Devices 支持創建更多的緩存池,還新增了多設備模式,可以基於 BTRFS RAID 保護緩存池中的數據。

Pool 緩存池的作用

因為 Unraid 的序列模式不同於 RAID 陣列模式,是單盤讀寫的,增加磁盤並不能提高文件的讀寫速度。日常用於存儲大量數據的機械硬盤的讀寫速度大概在 100MB/s 到 300MB/s,而固態硬盤的讀寫速度通常都在 600MB/s 以上,支持 NVME 協議的固態硬盤甚至可以達到 3GB/s 的讀寫速度。為了提高文件的讀寫速度,可以在 Pool Devices 中創建緩存池並配置一塊固態硬盤做為緩存盤使用。

Pool 緩存池的機制

固態硬盤的存儲空間相比於機械硬盤要小很多,所以並不是所有的文件都可以存放在緩存上的,也不建議把大量文件存放在緩存上,這麼做會加速緩存盤的損耗。Unraid 提供了四種機制來指定哪些文件該使用緩存、該怎樣使用緩存。在安裝了緩存盤後,新建 Share 文件夾時就可以看到這四種緩存機制:

No

對該文件夾內的文件讀寫時不使用緩存,直接從序列磁盤上讀寫。適合存放大文件的文件夾,如電影,劇集等。

Yes

向該文件夾寫入文件時優先使用緩存,文件將被寫入到緩存上,緩存空間不夠則會寫入到序列磁盤上。Unraid 內置的 Mover 機制會根據設置定期,也可手動將文件從緩存中寫入序列磁盤上。Yes 機制文件先寫入高速緩存,再移動到序列,提高了寫入速度。適合零碎的小文件,如文檔。

Prefer

向文件夾寫入文件時會優先寫入緩存,當緩存剩餘空間不足時才會將新文件寫入序列。在 Mover 啟動時,會儘可能把序列中的文件移動到緩存中,下次訪問這些文件就會從緩存上讀取了。這種機制不僅提高了文件的寫入速度,也儘可能提高了文件的讀取速度。Prefer 機制很適合需要頻繁訪問,頻繁修改的文件,也適合存放虛擬機映像和 Docker 應用的文件夾。

Only

文件只存放在緩存上,Unraid 也不會使用 Mover 移動緩存文件到序列。和 Prefer 機制一樣提高了讀寫速度,但不會寫入序列意味着在使用單個緩存盤時,沒有冗餘,也沒有校驗盤來保護數據,不適合用來存儲重要文件,只適合存儲虛擬機鏡像和 Docker 的容器。

Cache 注意事項

由於在使用 Yes 和 Prefer 機制時文件優先寫入緩存盤,在一定時間後才會由 Mover 機制將其寫入序列。當只有一個緩存盤時,Cache 工作在單設備模式,存儲在緩存中的數據在還沒有被寫入序列之前是存在風險的。

對於這個問題有下面幾種解決方案:

  1. 減少 Mover 觸發所需的時間。這樣緩存內的文件會在短時間內就移動到序列。
  2. 只使用緩存加速系統文件、虛擬機和 Docker。不用來加速序列內文件的讀寫。
  3. 添加第二個緩存盤,啟用多設備模式,形成冗餘備份。

第三種方案是最穩妥安全的,但是要購買額外的緩存盤。目前固態硬盤的價格還是很高的(差不多1元1GB)。第一種方法可行,但也不能 100% 保證安全。第二種方案讓文件不經過緩存直接寫入序列,緩存只用於系統相關文件的加速,這樣傳輸文件到序列時是無法享受到緩存的加速的,適合對傳輸速度沒有要求的情況。

雖然幾種方案各有利弊,但它們都能減少序列內硬盤的頻繁讀寫,可以增加硬盤的休眠時間,在一定程度上減小了系統整體功耗,提高了硬盤的使用壽命。

3. Boot Device

Boot Device 是 Unraid 的啟動設備,目前列表中的設備就是上文中製作的啟動U盤。Unraid 用它存儲重要的序列配置文件,所以在系統運行時是不可以拔掉的。

默認情況下,設備的狀態會顯示出一個黃色的感嘆號圖標,這是因為 Unraid 默認對設備目錄開啟了共享功能,並且共享的權限是 Public,表示局域網內的所有人都可以訪問。這樣設置存在安全隱患,稍後將修改它的權限。

啟動設備設置

MAIN >> Boot Device >> Flash

Flash Device Settings

使用 FLASH BACKUP 可以對啟動設備進行備份,備份會下載到電腦上,因為是系統啟動和運行的重要設備,推薦定期備份,以防萬一。

SMB Security Settings

提供對 flash 共享目錄權限的設置,為了去掉上文中感嘆號提示的安全漏洞,將 Export 設置為 Yes(Hidden),Security 設置為 Private,並在 SMB User Access 中給用戶設置權限即可。

Unraid_BootDevice_SMBUserAccess

Syslinux Configuration

這裡是配置系統啟動項的地方。右邊的每個啟動項都是可以編輯的,通過它可以進行硬件直通的配置。Server boot mode 顯示了當前系統的啟動模式是 Legacy 傳統模式,可以在此進行 UEFI/Legacy 模式的切換。

4. Unassigned Devices

Unassigned Devices 是未分配的設備,即當前已經連接到服務器,但並沒有放入序列中的設備。

點擊設備列表前的 Dev 鏈接可以查看設備的詳細信息。

創建序列和緩存池

綜合上文對於 Unraid 序列和設備類型的介紹,並且考慮到在 Unraid 服務器上使用虛擬機和 Docker 的需求,小刻認為使用一個機械硬盤作為數據盤;一個固態硬盤作為緩存池,用來存放系統文件、虛擬機映像、Docker等,以提供最好的性能,並減少數據盤的讀寫頻率,提高了安全性。日後可以再增加一個固態硬盤組成多設備模式的緩存池,以增加緩存的安全性。

為什麼不使用校驗盤呢?

主要出於成本考慮,如果預算充足還是強烈建議使用校驗盤的。

其實包括 RAID 陣列在內的任何一種校驗的機制,都不能絕對保證數據的安全,校驗機制只是提供了一個在發生問題後,進行數據恢復的方法。而多重備份、異地備份也完全可以做到這一點,並且是保護數據安全的最佳方案。所以,建議存放在服務器上的數據也要在其他的地方有多份副本。這樣即使不使用校驗盤,也可以在換上新硬盤後從其他副本處直接將數據複製回來,這種恢復的方法是優於校驗盤的。

1. 重置序列配置

因為在上文中測試共享文件夾的訪問速度時,小刻已經創建了一次序列,所以在修改序列中的磁盤配置時會提示錯誤,缺少磁盤。Unraid 系統會以為序列中的那個盤丟失了。這時需要重置序列配置。

  1. 通過導航欄 TOOLS >> New Config 進入設置界面
  2. 勾選 Yes, I want to do this 確認操作
  3. 點擊 APPLY 按鈕重置序列配置

再次切換到 MAIN 界面,就可以正常配置序列了。

Unraid_NewConfig

2. 創建緩存池

  1. 點擊 ADD POOL
  2. 在彈出的對話框中輸入緩存池名稱,點擊 APPLY
  3. 在 Pool Devices 的 Cache 槽中添加一個固態硬盤
  4. 點擊 Cache 進入設置界面,修改 File system type 文件系統類型為 btrfs,點擊 APPLY

這裡修改了緩存盤的文件系統為 btrfs,因為 Unraid 為緩存池提供了單設備模式和多設備模式,多設備模式下的緩存池更加安全,而非 btrfs 文件系統的緩存盤在日後添加緩存盤並擴展成多設備模式的時候需要重新格式化成 btrfs 格式。

Unraid_PoolDevicesAdd

3. 添加序列磁盤

  1. 在 Disk1 的下拉列表中選擇一個機械硬盤,這裡選擇一塊希捷 4TB 的硬盤
  2. 點擊 Disk1 進入硬盤的設置界面,設置 Spin down delay 休眠時間為 30 分鐘
  3. 設置 File system type 為 xfs,xfs 文件系統兼容性更好

Unraid_Disk1Setting

4. 啟動序列

  1. 點擊 MAIN 界面的 START 按鈕啟動序列
  2. 勾選 FORMAT 按鈕旁的確認複選框 Yes, I want to do this 再點擊 FORMAT 格式化磁盤
  3. 格式化完成後,序列和緩存池中的磁盤就成功掛載到系統上了

成功啟動序列後,在 MAIN 界面就可以實時查看每個硬盤的狀態,讀寫和空間使用率等信息了。

本文中,暫時只使用一塊硬盤作為序列中的數據磁盤,後續如果存儲空間不足,需要向序列中增加硬盤的話,按照第 3 步的操作添加即可,序列中有多塊硬盤,則序列的總容量等於所有硬盤容量之和,它們共同組成 Unraid 的存儲空間。

Unraid_MAIN_Started

SHARES

為了使用序列磁盤所組成的龐大存儲空間,需要使用 Shares 共享(共享文件夾)功能。上文中已經簡單介紹過它的使用方法,創建 Shares 共享非常容易,但作為 Unraid NAS 系統重要的功能之一,使用者應該了解 Shares 的文件和磁盤使用機制,在配置 Shares 共享和存儲文件的時候,有一個清晰有條理的策略,這對文件完整性、磁盤擴展性、數據安全性都有很重要的意義。

系統共享

啟動序列後,切換到 SHARES 界面,可以看到 Unraid 已經自動創建了 4 個共享,它們是系統共享,作用如下:

  • appdata 默認存放App/Docker配置文件config的內容

  • domains 默認存放虛擬機的磁盤映像

  • isos 在安裝虛擬機時用來上傳系統安裝鏡像的目錄(非必須在此共享目錄)

  • system 存放Unraid系統文件,VM模板,Docker映像

因為在小刻的序列中有緩存池,Unraid 會自動將這些共享的緩存模式設置為 Prefer,以提高性能。如無必要不需要對系統共享的設置進行更改。

新建共享

點擊 ADD SHARE 新建一個共享,以 “Movies” 為例,創建一個用來存放電影文件的共享。一些重要的設置選項會在下面進行說明:

Unraid_AddShare2

Use cache pool

設置該共享的緩存池機制,只有在序列中有緩存池時才會生效,上文已經介紹過 Unraid 緩存的四種機制,對於存放電影這類數據,文件體積大,不經常修改,並不需要使用緩存池,所以設置為 No 即可。如果創建的是一個需要經常讀寫的共享,比如存放文檔類數據,可以設置為 Yes

Select cache pool

當 Use cache pool 啟用的時候才會生效,這個選項是用來設置該共享使用哪個緩存池的。小刻的序列里只有一個緩存池,如果有多個緩存池的話,可以在這裡進行指定。

Enable Copy-on-write

該選項只有在磁盤使用 btrfs 文件系統時才有效,而為了兼容性數據盤一般使用 xfs 文件系統。

Included or excluded

該選項只有在序列中有多個數據盤時才生效,它可以設置此共享使用哪幾個數據盤的空間,或是不使用哪幾個數據盤的空間。只需要設置其中一個即可。

Allocation method

文件分配方法,詳細見下文。

Minimum free space

最小剩餘空間,詳細見下文。

Split level

以上三個選項是關聯的,所以放在一起說明。

首先,Unraid 的共享功能是通過 Linux 聚合文件系統來實現的,它允許一個目錄下的文件或目錄存放在不同的磁盤中。舉個例子,從用戶的視角看,文件 Ma 和 Mb 都在同一個目錄 Movies 下,但在物理層面,文件 Ma 實際存放在 Disk1 上,文件 Mb 實際存放在 Disk2 上。

Unraid_FuseFileSystem

當創建一個包含多個磁盤的共享目錄時,通過聚合文件系統,共享目錄下的文件可以跨磁盤存放,那麼判斷文件應該存放在哪個磁盤就需要 Minimum free space, Allocation method, Split level 這三個選項的設置來決定了。

Minimum free space(最小剩餘空間)設置一個值,當共享所包含某個磁盤剩餘容量低於該值時,就不向這個磁盤寫入文件了,轉而向共享包含的其他磁盤寫入,當所有磁盤都無法寫入時會報錯。這個值一般設置為 0,如果使用者想要為某個磁盤保留一些空間的話,可以根據實際情況進行設置。

Allocation method(文件分配方法)有三個選項: High Water, Most Free, Fill-Up。其中 Fill-Up 是持續向一個硬盤寫入直到填滿,再向另一個磁盤寫入;Most Free 是每次寫入都向剩餘空間最多的那個磁盤寫入;High Water 是一種均勻各個磁盤剩餘空間的寫入方式,它基於序列中容量最大的磁盤,使用二分法創建多個「水位線」,舉個例子,容量 8TB 硬盤的水位線分別為 4TB, 2TB, 1TB, 512GB…使用 High Water 時,會依次將序列中的每個硬盤寫入到剩餘 4TB 的空間,然後再依次寫入到剩餘 2TB,1TB…

如圖所示,顯示了序列中有 8TB, 3TB, 2TB 三個硬盤時,High Water 模式的磁盤寫入方式:最開始只會在淺綠色區域進行存儲,淺綠色區域存滿後,繼續在兩個深綠色區域進行存儲,以此類推。

Unraid_HighWater

在以上三種文件分配方法互有優劣,取決於所創建的共享具體要存放的文件類型和使用者的文件管理習慣。

Split level(分割層級)選項可選 7 個層級,即 level-1 到 level-5,level-any,no。作為使用者可能很困惑這個分割層級是什麼意思?有什麼作用?官方的指南中對於 Split level 的解釋很複雜,其實簡單明了的解釋是:Unraid 系統為了防止存放在共享的文件過於混亂地分散在各個磁盤而設置的限制。

舉個栗子:小刻有兩個冰箱(磁盤),冰箱 A 快滿了但還沒有完全滿,冰箱 B 還有很多空間。一天小刻買來一盒蜜餅(文件),想把它們放到冰箱里,如果都放到 A 中,放不下。這時小刻可以選擇把一部分蜜餅放進 A 冰箱,剩餘的放到 B 裏面;另一個選擇是把所有蜜餅放到冰箱 B 里。

小刻的蜜餅是一個很實際的例子,考慮到數據完整性,很明顯,小刻會選擇第二種。而在 Unraid 中 Split level 就是來做這個選擇的。當設置 level-1 (level-top) 時,只有根目錄(1級目錄)可以被分散在不同的磁盤,其子目錄(2級目錄)以及目錄下的所有文件則必須存儲在同一個磁盤上,Unraid 系統不會對 2 級目錄進行分割。Split level 的其他幾個選項以此類推,其中 level-any 代表數據可以被任意分割在不同磁盤上,no 代表 Unraid 不自動分割數據,而是需要使用者手動去設置,需要涉及命令行的操作,待進階篇再去講解。

Split level 的選擇和共享中存放的數據類別有很大的關係,比如,本次創建的是用於存儲電影文件的共享 “Movies”,那麼共享中的文件結構大概是圖中這樣,Movies 是 1 級目錄,每部電影的文件存放在以電影名稱命名的文件夾中,是 2 級目錄。雖然因為聚合文件系統的關係,用戶不需要知道文件存放在哪個磁盤,但實際上用戶肯定不希望同一個電影文件夾中的電影文件被分散在不同的磁盤上。這種情況下,將 Split level 選項設置為 level-top(level-1) 就限制了 Unraid 不可以對 2 級以下的目錄進行分割,電影文件就老老實實地存放在它自己的文件夾里了。如果對於 Split level 仍有困惑,可以參考官方說明文檔:Manual/Shares – Unraid | Docs

Unraid_MoviesDirExample

所有的選項配置好後,點擊 ADD SHARE 即可創建共享。

設置共享權限

新建的共享默認權限是 Public,即當前局域網內所有人都可以通過 IP 地址訪問該共享。

  1. 通過導航欄 SHARES >> User Shares >> Movies 進入 Movies 共享設置
  2. 在下面 SMB Security Settings 設置 Security 為 Private 點擊 APPLY
  3. 然後在 SMB User Access 設置用戶的權限為 Read/Write 可讀可寫 點擊 APPLY

映射網絡驅動器

Windows系統

在 Windows 系統中,可以把共享映射成為網絡驅動器,被映射為網絡驅動器的共享使用起來就像普通磁盤分區一樣,十分方便。

  1. 打開 我的電腦 點擊菜單欄 計算機 >> 映射網絡驅動器
  2. 在彈出的窗口中選擇一個驅動器盤符,此處設置為 Z:
  3. 在文件夾一欄填入共享的網絡位置,格式是: \\IP地址\共享名稱,此處設置為: \\10.0.0.110\Movies
  4. 點擊 完成,按提示輸入 Unraid 中設置的用戶名和密碼(不建議使用 root 用戶)後確認。
  5. 映射成功後,共享將會以驅動器的形式顯示在我的電腦。

Unraid_Win_NetDriver

Linux系統

在 Linux 系統中使用共享,需要使用 smb 服務並掛載共享。

  1. 安裝 smb-client

    yum -y install samba-client

  2. 列出服務器上的共享列表,命令格式:smb-client -L [IP地址] -U [用戶名]

    smb-client -L 10.0.0.110 -U username

  3. 掛載共享,命令格式:mount -o username=[賬號],password=[密碼] //[服務器IP]/[共享目錄] /[掛載點]

    mount -o username=frozensky,password=****** //10.0.0.110/Movies /home/frozensky/Movies