打造平價 Homelab NAS 伺服器(2022 年版)
原文由 Michael Lynch 于 發布,訂閱此部落格
今年,我決定打造人生第一台家用儲存伺服器。這是一套 32 TB 的系統,使用開源軟體來存放我的個人與工作資料。
伺服器本體花了 531 美元,我另外買了四顆硬碟花了 732 美元,總計 1,263 美元。價格跟市售的成品儲存伺服器差不多,但效能更強、客製化彈性也更高。
在這篇文章中,我會分享我是怎麼挑選零件、犯了哪些錯誤,以及給想自己動手打造的人的建議。


我的 2022 年 homelab TrueNAS 伺服器組裝前後對照
如果你比較想看影片解說,我在 YouTube 上有錄製一支影片。
背景
為什麼要打造一台 NAS 伺服器?
NAS 是 network-attached storage(網路附加儲存)的縮寫。NAS 伺服器的主要工作就是儲存資料,並讓網路上的其他電腦都能存取。
那為什麼要為資料另外搞一台專屬伺服器?畢竟每台電腦本來就會存資料。
我覺得把資料儲存跟其他系統分開很有幫助。我每兩到三年就會升級主力工作站和筆電,每次在電腦之間搬移資料都很麻煩。有一台專屬的儲存伺服器,就能省去大部分的資料搬遷,也方便在各個系統之間分享檔案。
我也有非常多的資料。我是個 data hoarder(資料囤積狂),所以我保留了自己拍過的每一張數位照片、過去 20 年來收發的每一封電子郵件,以及所有個人專案的原始碼。目前總計約 8.5 TB。
最大的資料來源是我的 DVD 和藍光收藏。我不太想依賴串流平台來確保想看的內容一直都在,所以只要是可能會再看一次的影視作品,我還是會買實體光碟。一拿到新光碟,我就會先備份原始映像檔,再轉成可串流的影片檔。光是原始 ISO 加上可串流的 MP4,一張光碟就可能佔掉 60 GB 的空間。

只要是可能會再看一次的片子,我還是會買實體 DVD 或藍光。
什麼是 homelab?
「Homelab」是近幾年越來越流行的口語說法。
Homelab 指的是在家裡騰出一個空間,讓你可以玩弄那些通常只會在辦公室或資料中心看到的 IT 硬體或軟體。它可以是練習新專業技能的環境,也可以單純是個玩新技術的地方。
為什麼要自己組 NAS?
如果你是 homelab 新手,或是完全沒有組裝電腦的經驗,我會建議你不要自己組 NAS。
市面上有現成的解決方案,能提供類似的功能,而且學習門檻低得多。
在自己組 homelab NAS 之前,我用一台 4-bay 的 Synology DS412+ 用了七年。老實說,我超愛那台 Synology。那是我做過最值得的購物之一。它讓我溫和地入門了 NAS 伺服器的世界,如果你還不確定要不要踏入 NAS,我會推薦從它開始。

我的 10 TB Synology DS412+ 已經忠實服役了七年。
幾個月前,我的 Synology 無法開機,還發出喀喀聲。我背脊一涼,才意識到自己有多依賴這台小小的設備。Synology 的伺服器不是讓使用者自行維修的設計,過保後如果有零件壞掉,就得整台換掉。而且如果你跟我一樣笨,用了 Synology 私有的儲存格式,沒有另一台 Synology 就無法讀取資料。(編按:一位 Hacker News 上的留言者告訴我,其實可以在非 Synology 的系統上還原 Synology Hybrid RAID 磁區。)
幸好,我把舊 Synology 清一清、把硬碟重新插好之後,它又恢復正常了,但這無疑是一記當頭棒喝。我決定改用 TrueNAS,因為它提供了開放儲存格式的開源實作。
TrueNAS 與 ZFS
TrueNAS(前身為 FreeNAS)是最受歡迎的儲存伺服器作業系統之一。它是開源的,而且已經存在將近 20 年,感覺是個可靠的選擇。
TrueNAS 使用 ZFS,這是一套專為儲存伺服器設計的檔案系統。傳統檔案系統如 NTFS 或 ext4 是跑在負責底層磁碟 I/O 的資料磁區之上,而 ZFS 則從檔案層的邏輯一路管到磁碟 I/O。ZFS 這種全方面的掌控,讓它比其他檔案系統更強大、效能也更好。
ZFS 有一些很棒的功能,包括:
- 將多顆實體硬碟整合成單一檔案系統
- 自動修復資料毀損
- 建立磁碟資料的即時快照(類似 OS X 的 Time Machine 功能)
- 可選擇性地對磁碟上的資料進行加密或壓縮
在打造這套系統之前,我對 ZFS 完全沒有經驗,所以很期待試試看。
儲存空間規劃
估算我的儲存容量需求
當初買 Synology NAS 時,我一開始只裝了三顆 4 TB 硬碟,第四個槽位留空。這樣在 Synology Hybrid Raid 下有 7 TB 可用空間。三年後空間快用完了,我才加裝第四顆硬碟,讓可用空間增加到 10 TB。
我決定在新主機上沿用同樣的策略。我想要一套能滿足目前需求、又留有成長空間的系統。我的粗略目標是起步要有 20 TB 可用空間,之後若再加硬碟,能擴充到 30 TB。
ZFS 不允許你在現有儲存池中新增一顆硬碟,但這項功能正在積極開發中。希望等我需要擴充時,TrueNAS 已經支援了。
更新(2025-01-25):這項功能現在已經推出,在最新版的 ZFS 中可用,不過我還沒機會在 TrueNAS 上測試。
要用多顆小硬碟,還是少顆大硬碟?
ZFS 的設計就是要能承受硬碟故障,所以它會以備援方式儲存每一區塊的資料。這項特性讓容量規劃變得複雜,因為你的可用總容量並不等於每顆硬碟容量的總和。
ZFS 是用「儲存池」中的硬碟來建立檔案系統。儲存池裡的硬碟越多,ZFS 就越能有效利用儲存空間。舉例來說,如果你給 ZFS 兩顆 10 TB 硬碟,你只能用到一半的總容量。如果你改用五顆 4 TB 硬碟,ZFS 則能提供 14 TB 的可用空間。雖然兩種情境的總磁碟空間相同,但五顆小硬碟卻能多給你 40% 的可用空間。
在打造 NAS 伺服器時,你得決定要用少量大容量硬碟,還是大量小容量硬碟。小硬碟通常每 TB 的單價比較便宜,但運轉成本比較高。兩顆 4 TB 硬碟所需的電力就是一顆 8 TB 硬碟的兩倍。
我想盡量縮小伺服器的體積,所以選擇了數量少、容量大的硬碟。
raidz 1、2 還是 3?
ZFS 提供了不同的備援選項:raidz1、raidz2 和 raidz3。主要的差別在於強健程度。raidz1 可以在不丟失資料的情況下承受一顆硬碟故障。raidz2 可以承受兩顆同時故障,raidz3 則可以承受三顆。
你在強健程度上得到的,就得用可用空間來換。以五顆 4 TB 硬碟為例,每種 ZFS 模式能提供的可用空間如下:
| ZFS 類型 | 可用空間 | 佔總容量比例 |
|---|---|---|
| raidz1 | 15.4 TB | 77.2% |
| raidz2 | 11.4 TB | 57.2% |
| raidz3 | 7.7 TB | 38.6% |
我選擇了 raidz1。只有少數幾顆硬碟時,兩顆同時故障的機率相當低。
請記住,ZFS 不是備份策略。ZFS 能保護你免於硬碟故障,但有很多對資料的威脅是 ZFS 無法抵禦的,例如誤刪、惡意軟體或實體竊盜。我使用 restic 將所有重要資料複製到加密的雲端備份。
ZFS 的價值在於,如果只壞一顆硬碟,我不需要動用到雲端備份;但如果兩顆硬碟故障,就得從備份還原了。那會很麻煩,但為了 raidz2 而犧牲 20% 的可用空間並不值得。
實體硬碟越多,就越應該保守地防範故障。如果我有 20 顆硬碟的儲存池,我大概就會用 raidz2 或 raidz3。
避免硬碟同時故障
直覺上,兩顆硬碟同時故障的機率似乎微乎其微。根據 Backblaze 的統計,高品質硬碟的年故障率為 0.5% 至 4%。以每年 4% 的風險來算,任何一週內故障的機率是 0.08%,兩顆同時故障大約每 30,000 年才會發生一次,所以應該很安全吧?
問題在於,硬碟故障並非統計上獨立的事件。如果一顆硬碟壞了,旁邊那顆的故障風險就會大幅提高。尤其是當硬碟是同型號、同一製造批次,又承受相同的工作負載時,更是如此。
此外,重建 ZFS 儲存池會對所有倖存的硬碟造成異常大的負擔。一顆在正常使用下還能撐幾個月的硬碟,可能在儲存池重建的高負載下就掛了。
鑑於這些風險,我盡可能降低同時故障的機率。我選了兩個不同廠牌、不同型號的硬碟。為了降低拿到同一製造批次的機率,我還特地向不同廠商購買。不知道這樣做有多大幫助,但反正也沒增加多少成本,何樂而不為?

我向兩家不同廠商購買同一型號的硬碟,以降低拿到同一製造批次產品的機率。
我如何挑選零件
主機板
第一個決定是主機板的尺寸。我一直很欣賞 Synology DS412+ 小巧的外型。這是我第一次用 mini-ITX 主機板組電腦,感覺是個不錯的機會。
我選擇 ASUS Prime A320I-K 有幾個原因:
- 它有四個 SATA 埠,可以讓我直接把四顆硬碟接到主機板上。
- 它支援 Radeon 內建顯示,讓我不用另外買顯示卡
- 價格實惠,只要 98 美元

ASUS Prime A320I-K 在 mini-ITX 尺寸下支援內建顯示。
警告:我後悔選了這張主機板。更多討論請見下方。
我也有考慮 B450,它非常相似但價格幾乎貴一倍。主要的優勢似乎是更好的超頻支援,但我不需要。
處理器(CPU)
根據我讀到的資料,ZFS 並不太吃 CPU。我在一台便宜的 Dell OptiPlex 7040 迷你電腦上安裝 TrueNAS 做過簡單測試,CPU 幾乎沒什麼負載,所以用低功耗的選項應該很安全。
我對 CPU 的主要要求是支援 Radeon 內建顯示,這樣才能使用 A320 主機板的內建 HDMI 輸出。

AMD Athlon 3000G 價格便宜,而且原生支援內建顯示。
我最後選了 AMD Athlon 3000G。只要 105 美元,CP 值不錯,支援 Radeon 顯示,而且 CPU 跑分也還不錯。
機殼
上次組 VM 伺服器時,我用了 Fractal Design 的機殼。那是我最喜歡的電腦機殼,所以這次也再次選擇 Fractal Design。
我選了 Fractal Design Node 304 Black,這是一款緊湊的 mini-ITX 機殼。我喜歡它的設計,比起直立式機箱更接近立方體。它有六個硬碟槽,讓我一開始就能裝上足夠的硬碟,未來還有擴充空間。

Fractal Design Node 304 Black 是一款可容納六顆硬碟的 mini-ITX 機殼。
硬碟(資料碟)
機殼有六個硬碟槽,我決定先裝四顆 8 TB 硬碟,在 raidz1 下可提供 22.5 TB 的可用空間。未來需要擴充時,第五顆硬碟可讓容量達到 30.9 TB,第六顆則可到 37 TB。
在 8 TB 這個容量級距,轉速低於 7200 RPM 的硬碟不多,但可以買到高達 10k RPM 的。對我的 NAS 來說,超過 7200 RPM 的速度沒有意義,因為瓶頸在網路。10k RPM 的硬碟會更吵、更耗電,卻不會帶來實質的效能提升。
我一開始試著參考 Backblaze 的硬碟統計來避開容易故障的型號,但他們用的都是比較貴的硬碟。有段時間我考慮過 400 美元的硬碟,因為它的故障率低到驚人的 0.5%,但後來我意識到,為了降低幾個百分點的故障率而多花一倍的錢並不理性。
最後一個要避開的地雷是疊瓦式磁記錄(SMR)技術。ZFS 在 SMR 硬碟上的表現很差,所以如果要組 NAS,請避開已知的 SMR 硬碟。如果硬碟標示為 CMR,也就是傳統磁記錄(conventional magnetic recording),那對 ZFS 來說就沒問題。
我選擇了 Toshiba N300 和 Seagate IronWolf。我在 TrueNAS 論壇和 reddit 上都看到對這兩款的好評。它們的售價都在 180 至 190 美元之間,以這個容量來說 CP 值不錯。


Toshiba N300(左)和 Seagate IronWolf(右)
硬碟(系統碟)

Kingston A400 只要 32 美元就能買到 120 GB 的 M.2 SSD,CP 值非常高。
TrueNAS 需要一顆專屬的系統碟,但根據我讀到的資料,它對系統碟的要求不高。系統只需要至少 2 GB 的空間,而且 TrueNAS 很少對系統碟進行讀寫。
我選了 Kingston A400,因為它非常便宜——120 GB 的 M.2 硬碟只要 32 美元。我超愛 M.2 硬碟!它們不需要任何線材,直接插進主機板,幾乎不佔空間,裝上去之後就再也不用管它了。
記憶體
在研究過程中,我常看到一種「規則」說 ZFS 每 TB 的磁碟空間就需要 1 GB 的 RAM。根據 ZFS 開發者 Richard Yao 的說法,那個規則是迷思。有些 ZFS 功能如資料重複刪除的確很吃記憶體,但 ZFS 在記憶體受限的情況下也能正常運作。
我覺得買記憶體超無聊的。我希望能有更嚴謹的挑選流程,但我找不到可信的測試數據或使用者回報。我的流程是:
- 查看與 ASUS A320I-K 主機板相容的記憶體清單
- 篩選出使用兩條記憶體、總容量 32 GB 或 64 GB 的選項
- 篩選我信任的品牌(Corsair、Crucial、G.SKILL、Kingston、Samsung、Patriot、Mushkin、HyperX)
- 篩選價格在 150 美元以下的選項
這個流程讓我選中了 CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB),價格 128 美元。

CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB) 與 A320I-K 主機板相容,以 32 GB 來說價格不錯。
電源供應器(PSU)
就供電瓦數來說,基本上任何消費級電源都夠用。根據 PCPartPicker 的估算,我的系統只需要 218 W。我本來想挑 300 至 400 W 的電源,但那個瓦數區間沒有半模組化的選項。我最後選了 500 W 的 EVGA 110-BQ-0500-K1。

EVGA 110-BQ-0500-K1 是一款半模組化電源。500 W 對我的配置來說綽綽有餘。
90 度 SATA 排線

在這個機殼的空間限制下,我需要 90 度的 SATA 排線
有一樣東西是我以前從沒買過的,那就是 90 度 SATA 排線。直到我發現主機板和電源之間沒有足夠空間可插入標準 SATA 線,才意識到需要它。這種纖薄的 90 度排線解決了問題。

主機板上的 SATA 埠和電源之間擠到幾乎沒有空隙,我只好改用 90 度纖薄 SATA 排線。
少了什麼?
有幾個零件是我基於價格、複雜度或實體空間考量而刻意不裝的。
顯示卡(GPU)
考量到實體空間和主機板插槽都很有限,我不想要一張獨立顯示卡。我選的主機板和 CPU 組合本身就支援顯示輸出,不需要外接顯示卡。
主機匯流排轉接卡(HBA)
許多 NAS 配置都會包含一張 主機匯流排轉接卡(HBA)。HBA 是一張插在主機板 PCI 插槽上的卡,可以增加主機板能支援的硬碟數量。
ZFS 要求你重刷 HBA 的韌體,過程聽起來既繁瑣又複雜(編按:顯然,只有 RAID 型 HBA 才需要重刷)。我決定先暫緩 HBA,等到需要更多儲存空間再說。ASUS A320I-K 有四個 SATA 埠,對我目前的需求來說已經夠用。我還特地留了一個 PCI 插槽空著,以便未來加裝 HBA。
ECC 記憶體
在研究各種 TrueNAS 配置時,我看到好幾篇文章聲稱 ECC RAM(錯誤校正碼記憶體)是防止資料毀損的必備品。我最後還是決定不用 ECC RAM,直接使用一般的消費級記憶體。
雖然我當然不希望伺服器在記憶體中就把資料搞壞,但過去 30 年來我用電腦都沒用過 ECC RAM,也從沒察覺過資料毀損。如果是要打造一台整天承受多使用者高負載的伺服器,我會考慮用 ECC RAM。對家用需求來說,我覺得一般的消費級記憶體就夠了。
SLOG 磁碟
許多 ZFS 配置會包含一顆獨立、專用的 SSD,稱為 SLOG(separate intent log,分離式意圖日誌)。
概念是,寫入 SSD 的速度比同時寫入多顆傳統硬碟快上好幾個數量級。當應用程式寫入資料時,ZFS 可以先快速寫到 SSD,告訴應用程式寫入已完成,再非同步地把資料從 SSD 搬到儲存池。SLOG 能大幅提升寫入速度。
我選擇不整合 SLOG 磁碟,因為我的連接埠和硬碟槽位有限。要加 SLOG,就得犧牲唯一的 PCI 插槽或六個硬碟槽中的一個。我寧願保留未來擴充容量的彈性。
零件清單
| 類別 | 零件 | 實付金額 |
|---|---|---|
| CPU | AMD Athlon 3000G | $105.13 |
| 主機板 | ASUS Prime A320I-K* | $97.99 |
| 顯示 | 無需——主機板已內建顯示支援 | $0 |
| 硬碟(系統碟) | Kingston A400 120GB | $31.90 |
| 記憶體 | CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB) | $127.99 |
| 電源 | EVGA 110-BQ-0500-K1 500W 80+ Bronze Semi-Modular | $44.99 |
| 機殼 | Fractal Design Node 304 Black | $99.99 |
| SATA 排線 | Silverstone Tek Ultra Thin Lateral 90 Degree SATA Cables (x2) | $22.30 |
| 總計(不含硬碟) | $530.29 | |
| 硬碟(儲存用) | Toshiba N300 HDWG480XZSTA 8TB 7200 RPM (x2) | $372.79 |
| 硬碟(儲存用) | Seagate IronWolf 8TB NAS Hard Drive 7200 RPM (x2) | $359.98 |
| 總計 | $1,263.06 |
* 注意:此主機板可能無法與 AMD Athlon 3000G CPU 隨插即用。詳情請見下方說明。
與市售成品比較
為了比較,以下是價格相近的一些市售成品方案。
| 產品 | 2022 年平價 NAS | Synology DS920+ | QNAP TS-473A-8G-US |
|---|---|---|---|
| 硬碟槽 | 6 | 4 | 4 |
| 記憶體 | 32 GB | 4 GB | 4 GB |
| 最大記憶體 | 32 GB | 8 GB | 8 GB |
| CPU 跑分 | 4479 | 3002 | 4588 |
| 價格 | $530.29 | $549.99 | $549 |
我的組裝總成本跟市售成品差不多,但 CP 值更高。我的記憶體多了 8 倍,而且不會被綁在任何封閉原始碼、廠商專屬的作業系統平台上。
組裝照片

所有零件的零售包裝

在 Fractal Design 的 mini-ITX 機殼中安裝主機板完全沒遇到問題。

我超愛安裝 M.2 SSD。沒有線材、沒有支架——鎖上一顆螺絲就完成了。

這是我組過的第一台不會讓電源背部外露於機殼外的系統。取而代之的是,機殼有一條短短的 NEMA 延長線,將內部的電源連接到機殼本身的外部電源輸入孔。


主機板 SATA 埠和電源之間擠到幾乎沒有空隙,我只好另外購買特殊的 90 度纖薄 SATA 排線。

將所有東西都接到主機板上之後(CPU 風扇除外)

組裝完成
用 TinyPilot 組裝伺服器
長期追蹤這個部落格的讀者可能還記得,我曾用 Raspberry Pi 打造了一套專門用來組裝與管理伺服器的工具,叫做 TinyPilot。這是我第三次用 TinyPilot 組伺服器,也是第一次使用新的 TinyPilot Voyager 2。

我沒有在 TrueNAS 伺服器上接鍵盤、滑鼠和螢幕,而是用一台 TinyPilot Voyager 2 來完成安裝。
我當然有偏見,但用 Voyager 2 組這台伺服器真的很有趣!我完全不需要在伺服器上接鍵盤或螢幕,就能從網頁瀏覽器看到畫面輸出、進入 BIOS,以及掛載 TrueNAS 安裝映像檔。

TinyPilot 讓我不用插隨身碟、鍵盤或螢幕,就能掛載 TrueNAS 安裝程式的 ISO。
唯一遇到的缺口是在升級 BIOS 時。TinyPilot 可以掛載 .img 和 .iso 這類磁碟映像檔,但還沒辦法與目標電腦分享單一檔案。當我需要載入 ASUS BIOS 升級用的 .CAP 檔時,只好有點丟臉地改用 USB 隨身碟,而不是全程用 TinyPilot 完成。我希望很快能加入對這種情境的支援,讓下次升級 BIOS 時也能全靠 TinyPilot。
是 BIOS 版本不相容,還是我太蠢?
把所有零件都裝好後,系統有過電,但沒有任何畫面輸出。
糟了!難道我誤解了主機板內建顯示的需求?我做了所有常見的檢測:重插記憶體、重插 CPU、檢查所有線材——結果還是一樣。
經過一番慌張的 Google 後,我看到有人提到 ASUS Prime A320I-K 需要先升級 BIOS 才能支援 Athlon 3000G。我想起當初挑零件時好像有看到這個警告,但直接略過了。我心想:「我又不是沒升過 BIOS,沒什麼大不了的!」
我完全沒想到,沒有 CPU 要怎麼升級 BIOS。
幸好,我那台 2017 年 homelab VM 伺服器上的 Ryzen 7 CPU 與 ASUS Prime A320 相容。我把那台伺服器的 CPU 和顯示卡借過來,總算讓新的 NAS 伺服器開機了!

我借用了舊的 2017 年 homelab VM 伺服器上的零件來升級 BIOS。
奇怪的是,即使我用借來的零件成功開機後,主機板顯示的 BIOS 版本是 2203,而華碩官方宣稱這個版本就相容於 AMD Athlon 3000G CPU。但我還是更新到了最新的 5862 版。

ASUS Prime A320I-K 的 CPU 相容性頁面宣稱,從 BIOS 2203 版開始就支援 Athlon 3000G。
升級到 5862 後,我還是無法開機。接著我才發現,我把 HDMI 線插到了伺服器的 DisplayPort 輸出孔上。

為什麼 DisplayPort 的設計者要讓人這麼容易把 HDMI 線誤插進去?
那這整套借零件的大費周章到底有沒有必要?有兩種可能:
- 是我太蠢,直到升級完 BIOS 才發現 HDMI 線插錯了主機板上的 DisplayPort 孔。
- 是華碩太蠢,錯誤地把 Athlon 3000G 列為在 BIOS 2203 版就相容,但其實並不相容。
通常我會承認是自己的錯,但華碩的 BIOS 實在太不穩定,問題很有可能出在華碩那邊。無論如何,能在不用借零件的情況下成功開機,總算讓我鬆了一口氣。

終於用 Athlon 3000G 成功看到開機畫面的那一刻
效能測試
在整理這篇文章時,讓我意外的是,我竟然找不到什麼好用的 NAS 效能測試工具。有一些可以在 NAS 本機上測試磁碟 I/O 的工具,但那無法反映實際使用情境。我大部分的使用都是透過網路,所以本機磁碟測試會完全忽略網路堆疊的瓶頸。
所以我就自己弄了一套陽春的測試。我產生了兩組隨機檔案資料,然後用 robocopy 來測量主力桌機與 NAS 之間的讀寫速度。這絕不是什麼嚴謹的測試——我沒有在隔離的網路上跑,也沒有在測試時關掉桌機上的其他程式。我用同樣的方式對舊的 Synology DS412+ 跑了一次當作對照。
第一組檔案是 20 GiB、由 1 GiB 的檔案組成,另一組則是 3 GiB、由 1 MiB 的檔案組成。我在加密與未加密的磁區上各跑三次取平均。
效能最高跑到 111 MiB/s(931 Mbps),這個數字離 1 Gbps 近到有點可疑。這顯示瓶頸在網路硬體,因為我的交換器、桌機和 NAS 伺服器都只有 1 Gbps 的乙太網路埠。
讀取效能
在未加密的磁區上,讓我驚訝的是,我那台用了 7 年、老舊的 Synology 竟然打敗了我那台嶄新的 TrueNAS。Synology 在讀取小檔時快了 31%,大檔則快了 10%。
Synology 的風光只維持了一下,一遇到加密就完全不行了。在加密磁區上,Synology 的讀取速度掉了 67% 至 75%,而加密對 TrueNAS 則幾乎沒有影響。這讓 TrueNAS 在加密磁區上,讀取小檔比 Synology 快 2.3 倍,大檔則快 3 倍。我大部分資料都放在加密磁區上,所以這個測試更貼近我的實際使用情境。
寫入效能
雖然舊 Synology 在讀取上勝過 TrueNAS,寫入就不是這麼回事了。即使在未加密的磁區上,TrueNAS 寫小檔就快了 77%,而在 1 GiB 大檔上兩者表現則差不多。
同樣地,一加上加密,Synology 的寫入效能就被徹底打趴。在啟用加密的情況下,TrueNAS 寫小檔快了 5.2 倍,寫大檔則快了 3.2 倍。
耗電量
我用 Kill A Watt P4460 電力監測器來測量舊 Synology 和新 TrueNAS 伺服器的耗電量:
| Synology DS412+ | 2022 年 NAS | |
|---|---|---|
| 閒置 | 38 W | 60 W |
| 負載 | 43 W | 67 W |
新伺服器的耗電量比舊 Synology 多了 60%,有點出乎意料。我每度電約付 0.17 美元,所以這台伺服器每個月跑起來大約要花 7.20 美元。
我不太清楚是什麼因素推高了耗電,但一個可能是電源供應器。Synology 的電源大概是針對其他零件完美量身打造的,而我的 500 W 電源在只發揮 15% 容量的情況下,效率可能很差。
最終心得
主機板
我對 ASUS Prime A320I-K 最大的抱怨是它的相容性有限,但也有可能是我搞錯了。
除此之外,我也不太喜歡它的 BIOS。它的升級工具根本是壞的。它本來應該能自動下載並安裝最新版 BIOS,但我嘗試升級時,它一直告訴我已經是最新版,但其實並不是。我只好手動下載檔案,用隨身碟來升級。


ASUS EZ Flash 公用程式宣稱我的 2203 版已經是最新版,但華碩官網上明明有 5862 版,所以我只好手動更新。
我也沒注意到 A320I-K 最多只支援 32 GB 記憶體。我不確定以後會不會需要擴充記憶體,但能多留一點餘裕總是比較好。
修復 Realtek 網路驅動程式
我注意到主機板的乙太網路卡在系統網路負載很重時有時會掛掉,reddit 上的 /u/trevaar 好心解釋了原因。顯然,A320I-K 的 Realtek 網卡在 FreeBSD 上的驅動程式有穩定性問題,但可以透過以下方式載入官方驅動程式來解決:
- 在 TrueNAS 網頁控制台中,前往 System > Tunables
- 新增以下兩個設定:
變數 數值 類型 if_re_loadYESloader if_re_name/boot/modules/if_re.koloader
機殼
我對 Fractal Design Node 304 有點失望。當初用 Fractal Design Meshify C 組 VM 伺服器時,機殼一直帶給我驚喜,讓我看到許多從沒在其他機殼上見過的貼心設計。這次組裝卻恰恰相反,我一直想:「為什麼這個機殼會有這個問題?以前從沒遇過啊?」
它外觀很好看,但在裡面施工卻很彆扭。幾乎沒有說明文件,有些機殼結構也不直觀。
這是我第一次組 mini-ITX,或許是機殼設計師為了縮小體積必須做出取捨,所以我可能有點太苛刻了。
處理器(CPU)
我對 Athlon 3000G 很滿意,但結果它對我的需求來說效能過剩太多了。我的 TrueNAS 控制台顯示,過去一個月的 CPU 負載有 99% 的時間都是閒置的:

TrueNAS 幾乎沒用到什麼 CPU 資源。
關於這顆 CPU 最重要的是它支援 AMD 的 Radeon 顯示技術,讓我省去了獨立顯示卡。以 105 美元來說非常划算。
硬碟(資料碟)
現在要評價硬碟還太早,五年後再回來看看我的使用心得吧。目前為止一切良好。
我本來最擔心硬碟會太吵,但我完全聽不到它們的聲音。唯一一次聽到是在跑效能測試的時候。有趣的是,它們最吵的時候不是在讀寫,而是在測試之間刪除檔案的時候。
電源供應器(PSU)
看到系統閒置時就有 60 W,我在想當初是不是應該多花點心思挑一顆瓦數更低的電源。500 W 遠超過我實際需求的兩倍多,或許換成 300 至 400 W 的電源,就能降低伺服器閒置時的耗電。
硬碟(系統碟)
Kingston A400 運作正常。TrueNAS 對系統碟的負擔非常小,沒什麼事好做。它還有 90 GB 的可用空間,所以其實我用更小的硬碟也夠。
在 TrueNAS 的報告中,幾乎看不到任何磁碟活動。只有每週一次,在預設的錯誤檢查排程中會有一次小小的讀取,就這樣而已。

TrueNAS 在開機後幾乎不會去動系統碟。
TrueNAS
我目前跑的是 TrueNAS Core 13,這是比較成熟的 FreeBSD 版本。另一個選項是 TrueNAS Scale,它是基於 Debian 的,硬體與軟體相容性更廣。
在接觸 TrueNAS 之前,我就知道 Synology 的網頁介面很難被超越。那是我見過最優雅、直觀的網路設備介面。他們把介面做得很乾淨,讓使用者不用去管底層檔案系統的技術細節。
TrueNAS 有它駭客風的魅力,但我覺得在可用性上比 Synology 退步很多。它的介面感覺像是對命令列以外的東西都不屑一顧的人設計的。


Synology 的網頁介面(左)比 TrueNAS(右)好太多了。
在 TrueNAS 上,我試了好幾次才成功建立新的儲存空間並在網路上分享。你得在幾個互不相連的選單之間跳來跳去,而且完全沒有提示告訴你下一步該做什麼。在 Synology 上,則有流暢的精靈會引導你完成所有必要設定。
我覺得在 TrueNAS 上安裝第三方應用程式困難多了。我用 Plex Media Server 來串流我的電影和影集收藏,而 Plex 在 TrueNAS 上是預先配置好的外掛。照理說應該是最容易安裝的應用程式之一,卻花了我一個小時東摸西摸、翻文件。相較之下,在 Synology 上安裝 Plex 只要透過精靈點個兩分鐘就完成了。
我會繼續用 TrueNAS,因為我比起其他任何事都更在意平台綁定的問題,而且我也喜歡支持開源軟體。如果是要推薦給沒那麼有理念的朋友,我會建議 Synology。
ZFS
ZFS 很酷,但除了 RAID 之外,我還沒找到大多數功能的實際需求。
我看到大家在談快照功能,但我還沒找到需要它的地方。我的 restic 備份方案本身就有快照。它們不是特別方便,但我用 restic 兩年來,只記得有一次需要從快照還原資料。
有一個有趣的功能是加密快照。你可以在不解密的情況下,為資料磁區建立快照。有些資料我想保持加密狀態,但又不需要常常存取,所以能夠在不解密的情況下定期備份會很方便。
總結
整體來說,我很享受這台新 NAS,也從這次組裝中學到很多。如果這是我第一次接觸 NAS 的經驗,我大概會又痛苦又困惑,但先從 Synology 入門,讓我對相關技術有了溫和的認識。現在感覺像是拆掉了輔助輪,已經準備好去玩 ZFS 和 TrueNAS 的進階功能了。
影片
2.5 年後更新
截至 2024 年 11 月,我已經使用這台儲存伺服器約 2.5 年。以下是這段時間的使用心得。
依然滿意這台 NAS
我還是很喜歡這台 NAS。我懷念 Synology 的使用體驗,但在 TrueNAS 上卻莫名覺得更有掌控感。
其中一顆 Toshiba N300 開始發出喀喀聲
在我組好 NAS 約 18 個月後,其中一顆 Toshiba N300 開始發出喀喀聲。SMART 檢測沒有顯示任何問題,但我不想冒險繼續使用會發出異音的硬碟。
我把它換成另一顆 8 TB 的 Seagate IronWolf,之後就沒再出過問題。
換成機架式機殼
在組好 NAS 一年後,我買了一個伺服器機櫃,並開始把所有基礎設施都搬到機櫃上。
為了 NAS,我買了 Sliger CX3701 10-bay 伺服器機殼。我喜歡這個機殼,也會推薦它,前提是你確定會把主機板上唯一的 PCI 插槽用來擴充更多 SATA 埠。如果你需要 PCI 插槽來裝顯示卡或 10G 網卡,那就只能用到 10 個硬碟槽中的 4 個,因為 mini-ITX 主機板通常只有 4 個 SATA 埠。
換成 Sliger 機殼時,我也需要一顆新的電源,因為 Sliger 只支援 SFX 和 SFX-L 尺寸的電源。我選了 SilverStone 300W 80 Plus Bronze ST30SF-V2。我很樂意從 500 W 降下來,因為我的系統在尖峰時也只會用到約 150 W。
改用 TrueNAS Scale
看起來 TrueNAS Scale 比 TrueNAS Core 獲得更多投入,所以我改用了 TrueNAS Scale。主要的差別在於 Core 是基於 FreeBSD,而 Scale 是基於 Linux Debian。
換過去之後,除了 Scale 的網頁介面稍微好一點之外,我沒有感覺到太大差異。而且我在終端機操作上也更自在,因為我平常工作比較常用 Linux 而非 FreeBSD。
加裝 10 Gbps 光纖網卡
在組伺服器機櫃時,我選了一台有 10 Gbps 埠的交換器,所以也為 NAS 買了一張 10 Gbps 網卡。
不幸的是,那張網卡不能用,我又試了另外兩張,結果全都不能用。
最後,我認定唯一的解釋就是主機板不相容,所以我升級到 Gigabyte B550I Aorus Pro(見下方),終於讓我的 Mellanox ConnectX-3 EN CX311A 網卡正常運作了。
即使如此,用 10 Gbps 網卡設定 TrueNAS 還是很折騰,因為它一直預設使用主機板內建的網路孔。當我試圖把 NAS 的固定 IP 移到 10 Gbps 網卡上時,它一直抱怨 Kubernetes 已經佔用了那個 IP。我找不到可以原子性地轉移固定 IP 指派的方法,所以只好先從 BIOS 停用主機板的內建網路。即使這樣,它還是不讓我轉移 IP,所以我乾脆為 NAS 選了一個新的固定 IP。
換成 Gigabyte B550I Aorus Pro 主機板
如上所述,為了解決 10 Gbps 網卡的相容性問題,我升級到了 Gigabyte B550I Aorus Pro AX 主機板。
這張主機板還不錯。我覺得它比 ASUS Prime A320I-K 稍微好一點:
- 優點
- 我喜歡它有自己的 I/O 擋板。
- SATA 埠直接朝上,所以不需要特殊的直角 SATA 接頭。
- 記憶體插槽比較好用。
- CPU 扣具比較好操作。
- 風扇插針的位置更方便。
- 缺點
- 它的 M.2 插槽是我見過最讓人困惑的,說明書完全沒解釋。我得上 YouTube 找影片才搞懂。
- 進入 BIOS 的開機速度感覺比 ASUS Prime A320I-K 慢很多。
遺憾:mini-ITX 限制了擴充性
我最大的遺憾就是為機殼和主機板選擇了 mini-ITX 尺寸。
Mini-ITX 主機板只有一個 PCI 插槽。大多數只有四個 SATA 埠,而且我還沒看過有更多 SATA 埠又同時支援內建顯示的款式。這意味著,如果你想用 HBA 來擴充到四顆以上的硬碟,就沒有剩餘的 PCI 插槽可用了。
以我的情況來說,我想裝 10 Gbps 網卡,但這就代表除非我整組機殼和主機板都換掉,否則就只能卡在四顆硬碟。
如果重來一次,我會直接買一個可容納六到八顆 3.5 吋硬碟的機架式機殼,以及一張擁有多個 PCI 插槽或至少八個 SATA 埠的主機板。
感謝 Blogging for Devs 社群的成員為本文提供了早期回饋。
隨機一篇部落格




留言
登入後參與討論