构建我的第一个 22TB 容量的家庭存储服务器
原文鏈接🔗:https://mtlynch.io/budget-nas/
譯文原文鏈接🔗:https://icloudnative.io/posts/budget-nas/ 請復(fù)制到瀏覽器打開
譯者:米開朗基楊
本文已獲取原作者的翻譯授權(quán)👇
今年我決定給自己量身定制一臺家庭網(wǎng)絡(luò)存儲(chǔ)服務(wù)器(也就是 NAS),預(yù)計(jì)存儲(chǔ)容量有 32TB,并使用開源的操作系統(tǒng),用來存儲(chǔ)我的個(gè)人和商業(yè)數(shù)據(jù)。
服務(wù)器本身花了 $531,額外花了 $732 買了四塊硬盤,總成本達(dá)到了 $1,263。這個(gè)價(jià)格與購買現(xiàn)成的 NAS 服務(wù)器差不多,但我的方案提供了更多的功能和可定制性。
本文我將會(huì)給大家介紹自己當(dāng)初是如何選擇硬件的,中間犯了哪些錯(cuò)誤,最后會(huì)給有興趣構(gòu)建個(gè)人 NAS 服務(wù)器的小伙伴提供一些有參考價(jià)值的建議。
我還錄制了一個(gè)視頻,歡迎觀看:
https://www.bilibili.com/video/BV1Hr4y137CG
背景
為什么需要 NAS 服務(wù)器?
NAS 即網(wǎng)絡(luò)附加存儲(chǔ)(Network-attached storage)[1],NAS 服務(wù)器的主要工作就是存儲(chǔ)數(shù)據(jù),并將其提供給你網(wǎng)絡(luò)上的其他計(jì)算機(jī)使用。
那么,為什么一定要使用一個(gè)完整的專用服務(wù)器來存儲(chǔ)數(shù)據(jù)呢?畢竟每臺計(jì)算機(jī)都可以存儲(chǔ)數(shù)據(jù)。
我認(rèn)為將數(shù)據(jù)與其他系統(tǒng)解耦是有益的,我本人每隔兩到三年就會(huì)升級我的工作站和筆記本電腦,而在不同電腦之間遷移數(shù)據(jù)非常麻煩。使用專門的 NAS 服務(wù)器就可以免去大多數(shù)不必要的數(shù)據(jù)遷移工作,而且各個(gè)系統(tǒng)之間還可以共享文件。
除此之外,我還是一個(gè)數(shù)據(jù)囤積狂[2],我保留了之前拍攝的每一張數(shù)碼照片,以及過去 20 年里收發(fā)的所有電子郵件,再加上所有個(gè)人項(xiàng)目的源代碼,總共有 8.5TB。
我最大的數(shù)據(jù)來源是自己收藏的 DVD 和藍(lán)光碟片,本人不太喜歡依賴流媒體服務(wù)來保存喜歡的影視作品,所以我至今仍然會(huì)購買影視作品的實(shí)體拷貝,一旦買到一張新的光盤,我就會(huì)將原影像翻錄出來,并制作成一個(gè)可流式傳輸?shù)囊曨l文件。在原始 ISO 拷貝和可流式傳輸?shù)?MP4 之間,一張光盤可以占用 60GB 的硬盤空間。
我仍然會(huì)為需要多次觀看的影視作品購買 DVD 或藍(lán)光碟片什么是 Homelab?
"Homelab" 是一個(gè)口語化的術(shù)語,最近幾年越來越受歡迎。
一個(gè) Homelab 其實(shí)就是你家里的一片區(qū)域,你可以像在辦公室或者數(shù)據(jù)中心一樣在這個(gè)區(qū)域中試驗(yàn) IT 硬件或軟件。它可以作為練習(xí)專業(yè)技能的實(shí)踐環(huán)境,也可以用來把玩一些有趣的技術(shù)。
為什么要自己組裝 NAS?
如果你是 Homelab 新手,或者沒有組裝 PC 的經(jīng)驗(yàn),建議不要嘗試自己組裝 NAS。你可以選擇一體化的解決方案(比如群暉、威聯(lián)通這種),這樣學(xué)習(xí)曲線會(huì)比較平緩。
在組裝自己的 Homelab NAS 之前,我已經(jīng)使用了 7 年的 4 盤位群暉 DS412+[3]。我覺得群暉很好,性價(jià)比很高,如果你是 NAS 小白,建議直接買群暉吧。
為我服務(wù)了七年之久的 10TB 群暉 DS412+幾個(gè)月前,我的群暉啟動(dòng)失敗了,并開始發(fā)出咔咔的聲音。這時(shí)我開始意識到自己對這臺設(shè)備的依賴程度如此之重,想到這里后背就一陣發(fā)涼。因?yàn)槿簳煹姆?wù)器是不可修復(fù)的,如果其中一個(gè)零件在保修期之后出故障了,你只能更換整臺服務(wù)器。如果你跟我一樣不是技術(shù)大拿,而且使用了群暉專屬的存儲(chǔ)格式,也沒有額外的群暉服務(wù)器,那么此時(shí)你就無法訪問這臺服務(wù)器上的數(shù)據(jù),也無法恢復(fù)(Hacker News 上的一位大佬[4]告訴我可以從一個(gè)非群暉系統(tǒng)中恢復(fù)群暉的混合 RAID 卷[5])。
萬幸的是,在我清理并重置了硬盤之后,數(shù)據(jù)就恢復(fù)了。這件事也給我敲響了警鐘,我決定改用 TrueNAS,因?yàn)樗峁┝艘粋€(gè)開放存儲(chǔ)格式的開源實(shí)現(xiàn)。
TrueNAS 和 ZFS
TrueNAS[6](前身叫 FreeNAS)是存儲(chǔ)服務(wù)器最流行的操作系統(tǒng)之一,完全開源,而且已經(jīng)存在了將近 20 年,看起來是一個(gè)靠譜的 NAS 系統(tǒng)。
TrueNAS 使用的文件系統(tǒng)是 ZFS,這是一個(gè)專門為存儲(chǔ)服務(wù)器設(shè)計(jì)的文件系統(tǒng)。NTFS 或 ext4 等傳統(tǒng)文件系統(tǒng)運(yùn)行在管理低級磁盤 I/O 的數(shù)據(jù)卷之上。ZFS 可以管理從文件級別邏輯到磁盤 I/O 的一切內(nèi)容,相比于其他文件系統(tǒng),ZFS 的控制更全面,擁有更多的功能和更強(qiáng)的性能。
ZFS 的亮點(diǎn):
將多個(gè)物理硬盤聚合到一個(gè)文件系統(tǒng)中;
數(shù)據(jù)完整性驗(yàn)證和自動(dòng)修復(fù);
創(chuàng)建磁盤中數(shù)據(jù)的時(shí)間點(diǎn)快照(類似于 macOS 的 Time Machine 功能);
可選擇加密或壓縮硬盤中的數(shù)據(jù)。
在使用 TrueNAS 之前,我對 ZFS 的經(jīng)驗(yàn)是零,所以我非常想嘗試一下這個(gè)新奇的文件系統(tǒng)。
存儲(chǔ)規(guī)劃
預(yù)估所需存儲(chǔ)容量
之前我使用群暉時(shí),插入了三個(gè) 4TB 的硬盤,并將第四個(gè)插槽留空。然后通過群暉的混合 Raid 來構(gòu)建文件系統(tǒng),總?cè)萘渴?7TB。使用了三年之后容量不足,于是又增加了第四塊硬盤,總?cè)萘窟_(dá)到了 10TB。
對于這個(gè)全新的 NAS,我決定采取和之前類似的策略,我需要這個(gè)系統(tǒng)的存儲(chǔ)容量能滿足我當(dāng)前的需求,并且能留有一定的增長空間。粗略估計(jì)當(dāng)前需要 20TB 存儲(chǔ)容量,如果以后再增加硬盤,最高可達(dá) 30TB 存儲(chǔ)容量。
ZFS 目前還不允許向現(xiàn)有的存儲(chǔ)池中添加新的硬盤驅(qū)動(dòng)器,但該功能正在積極開發(fā)中[7],希望在我需要擴(kuò)展存儲(chǔ)的時(shí)候,TrueNAS 會(huì)俱備這個(gè)功能。
多個(gè)小硬盤還是少量大硬盤?
ZFS 的設(shè)初衷是抵御硬盤故障,它會(huì)以冗余的方式存儲(chǔ)每個(gè)數(shù)據(jù)塊。這個(gè)特點(diǎn)使存儲(chǔ)容量規(guī)劃變得很復(fù)雜,因?yàn)榭捎么鎯?chǔ)的總?cè)萘坎粌H僅是每個(gè)硬盤容量的總和。
ZFS 會(huì)從硬盤租成的存儲(chǔ)池中創(chuàng)建文件系統(tǒng),存儲(chǔ)池中的硬盤數(shù)量越多,存儲(chǔ)容量的利用率越高。例如,如果給 ZFS 提供兩個(gè) 10 TB 的硬盤,則只能使用總硬盤容量的一半。如果改用 5 個(gè) 4TB 硬盤,ZFS 將會(huì)提供 14TB 的可用存儲(chǔ)容量。雖然這兩種情況下硬盤的總?cè)萘肯嗤?#xff0c;但后一種方案比前一種方案增加了 40% 的可用容量。
在組裝 NAS 時(shí),我們需要思考到底是使用多個(gè)小容量的硬盤還是使用少量的大容量硬盤。這個(gè)問題要辨證地看,小容量的硬盤通常性價(jià)比更高,但是運(yùn)行成本會(huì)更高,例如兩個(gè) 4 TB 硬盤需要的電力是單個(gè) 8TB 硬盤的兩倍。
我還是想減少服務(wù)器的占用的物理空間,因此我選擇了容量大的硬盤。
選擇 raidz 1, 2, 還是 3?
ZFS 提供了 3 種不同的磁盤陣列:raidz1,raidz2 和 raidz3,它們的主要區(qū)別在于健壯性。raidz1可以承受一個(gè)磁盤故障而不丟失數(shù)據(jù), raidz2 可以承受兩個(gè)硬盤同時(shí)發(fā)生故障,而 raidz3 可以承受三個(gè)。
健壯性越強(qiáng),可用的存儲(chǔ)容量越少,畢竟能量守恒嘛。我有 5 個(gè) 4TB 硬盤,下面列出了每個(gè) ZFS 磁盤陣列的可用存儲(chǔ)容量:
| raidz1 | 15.4 TB | 77.2% |
| raidz2 | 11.4 TB | 57.2% |
| raidz3 | 7.7 TB | 38.6% |
最終我選擇了 raidz1,因?yàn)槲业挠脖P數(shù)量不多,兩個(gè)硬盤同時(shí)發(fā)生故障的概率比較低。
??注意:ZFS 不是一種備份策略[8]。ZFS 可以保護(hù)你免受磁盤故障的影響,但還是有很多威脅是 ZFS 無能為力的,比如意外刪除數(shù)據(jù)、惡意軟件攻擊或者物理盜竊。我選擇使用 restic[9] 將所有重要的東西備份到加密的云存儲(chǔ)中。
ZFS 的價(jià)值在于,如果其中一塊硬盤壞了,可以直接換掉,不必求助于云備份。如果同時(shí)有兩塊硬盤壞了,我才會(huì)選擇從云備份恢復(fù)(因?yàn)槲沂褂玫氖?raidz1)。這個(gè)選擇過程非常痛苦,但我仍然選擇 raidz1,因?yàn)槲矣X得不值得為了 raidz2 而放棄服務(wù)器 20% 的可用存儲(chǔ)空間。
一般來說,硬盤數(shù)量越多,對磁盤陣列的健壯性要求就更高。如果我的存儲(chǔ)池是由 20 快硬盤組成的,我可能會(huì)使用 raidz2 或 raidz3。
防止多個(gè)硬盤同時(shí)故障
從概率上來看,兩塊硬盤同時(shí)發(fā)生故障的概率幾乎為零。根據(jù) Backblaze[10] 的統(tǒng)計(jì),質(zhì)量比較高的硬盤每年發(fā)生故障的概率為 0.5-4%,就算是 4% 吧,每 48 年至多才會(huì)遇到一次兩塊硬盤同時(shí)發(fā)生故障,這個(gè)概率已經(jīng)很低了,幾乎不用擔(dān)心。
但從實(shí)際情況來看,這種統(tǒng)計(jì)方式并不科學(xué),如果其中一塊硬盤出現(xiàn)了故障,那么其他硬盤在這個(gè)時(shí)刻出現(xiàn)故障的風(fēng)險(xiǎn)將大大增加,因?yàn)槟愕挠脖P很可能是同一型號,來自同一制造批次,并且處理著相同的工作負(fù)載,一旦出故障,很可能就是同時(shí)出故障。
除此之外,發(fā)生故障后重建 ZFS 存儲(chǔ)池也不是個(gè)好辦法,這會(huì)給正常工作的硬盤帶來更多的壓力,正常情況下可以使用幾個(gè)月的硬盤可能會(huì)在重建存儲(chǔ)池時(shí)直接掛掉。
考慮到上述這些風(fēng)險(xiǎn),我需要采取一些措施來減少兩塊硬盤同時(shí)發(fā)生故障的風(fēng)險(xiǎn),辦法也很簡單粗暴,直接從兩個(gè)不同的廠商那里購買兩種相同型號的硬盤即可。這種方案雖然沒有科學(xué)論證,但也沒啥附加的成本,還能圖個(gè)心理安慰,何樂而不為呢?😂
我從兩個(gè)不同的廠商那里購買了兩種相同型號的硬盤如何挑選硬件
主板
首先要明確主板的尺寸。我之前一直比較欣賞群暉 DS412+ 的緊湊外形,還從來沒有用過 mini-ITX 主板來組裝電腦,機(jī)會(huì)難得。
最終我選擇了 ASUS Prime A320I-K[11],原因如下:
有四個(gè) SATA 接口,我可以直接將四塊硬盤接到主板上;
支持 Radeon 圖像處理技術(shù),這樣我就不用再單獨(dú)購買顯卡了;
價(jià)格實(shí)惠,只需 $98。
??警告:我現(xiàn)在有點(diǎn)后悔選擇了這個(gè)主板,參考下面的討論[12]。
B450[13] 這個(gè)主板也不錯(cuò),與 ASUS Prime A320I-K[14] 很相似,但價(jià)格卻翻了一倍,目測對超頻的支持更好,但我對這方面沒什么需求。
CPU
以我的了解,ZFS 對 CPU 的要求并不高。我之前在一臺廉價(jià)的戴爾 OptiPlex 7040 迷你 PC 上安裝過 TrueNAS,并做過一些基本測試,結(jié)果表明 ZFS 并沒有怎么使用 CPU,所以選擇低功率的 CPU 應(yīng)該沒啥問題。
我選擇 CPU 的主要標(biāo)準(zhǔn)是必須要支持 Radeon 圖像處理技術(shù),這樣我就可以使用 A320 主板的板載 HDMI 輸出。
AMD Athlon 3000G價(jià)格低廉,并且原生支持 Radeon 圖像處理技術(shù)最終我選擇了 AMD Athlon 3000G,僅售 $105,物超所值,還支持 Radeon 圖像處理技術(shù),CPU 基準(zhǔn)測試[15]也表現(xiàn)良好。
機(jī)箱
我最喜歡的電腦機(jī)箱是 Fractal Design,所以我選擇了 Fractal Design Node 304 Black。這是一個(gè)緊湊的迷你 ITX 機(jī)箱,不像傳統(tǒng)的塔式機(jī)箱,它的設(shè)計(jì)樣式更接近于立方體,而且有 6 個(gè)硬盤托架,不管是目前使用還是將來增加硬盤都夠用了。
The Fractal Design Node 304 Black 是一款迷你 ITX 機(jī)箱,有 6 個(gè)硬盤托架數(shù)據(jù)盤
我的機(jī)箱有 6 個(gè)硬盤托架,所以我決定購買四塊 8TB 的硬盤作為數(shù)據(jù)盤。使用 raidz1 時(shí)可用存儲(chǔ)容量可達(dá) 22.5TB;將來如果增加第五塊硬盤,可用存儲(chǔ)容量將達(dá)到 30.9TB;如果再增加第六塊硬盤,可用存儲(chǔ)容量將達(dá)到 37TB。
8TB 的硬盤 RPM(revolutions per minute,即轉(zhuǎn)/每分鐘) 基本上都不會(huì)低于 7200,最高可達(dá) 10k RPM。RPM 高于 7200 對我來說并沒有什么影響,因?yàn)橹饕款i在于網(wǎng)絡(luò)。也沒必要選擇 10k RPM 的硬盤,性能并不會(huì)強(qiáng)多少,性價(jià)比不高。
根據(jù) Backblaze 的硬盤統(tǒng)計(jì)數(shù)據(jù)[16],硬盤價(jià)格越高,越不容易發(fā)生故障。我也考慮過購買 $400 的硬盤,因?yàn)樗鼈兊墓收下史浅5?#xff0c;但后來仔細(xì)一想,花兩倍的錢將故障率降低幾個(gè)百分點(diǎn)是不劃算的。
最后強(qiáng)調(diào)一點(diǎn):不要購買使用 SMR(Shingled Magnetic Recording,疊瓦式磁記錄)技術(shù)的硬盤[17],因?yàn)?ZFS 在 SMR 硬盤上的表現(xiàn)非常差[18]。建議直接購買傳統(tǒng)的使用 CMR(Conventional Magnetic Recording,傳統(tǒng)式磁記錄)技術(shù)的硬盤。
最終我選擇了東芝 N300[19] 和希捷 IronWolf[20],主要是因?yàn)?TrueNAS 論壇和 Reddit 上面對這兩款硬盤的評價(jià)都比較積極,而且價(jià)格也很合理,都在 $180-190 之間。
系統(tǒng)盤
TrueNAS 需要將系統(tǒng)安裝在獨(dú)立的硬盤中,但是對硬盤要求不高,只需要 2GB 的空間,而且不會(huì)經(jīng)常讀寫。
金士頓 A400 固態(tài)硬盤,容量 120GB,價(jià)格 $32最終我選擇了金士頓 A400[21],因?yàn)閮r(jià)格便宜,120GB 只要 $32,而且是 M.2 固態(tài)硬盤。M.2 好啊,不需要連數(shù)據(jù)線也不需要連電源線,而且外形小巧纖薄,幾乎不占用任何空間。
內(nèi)存條
經(jīng)過我的研究發(fā)現(xiàn),很多人會(huì)提到 ZFS 的一條法則:系統(tǒng)中每 TB 的硬盤空間需要 1GB 的內(nèi)存。但 ZFS 研發(fā)人員 Richard Yao 又說根本沒有這種規(guī)則[22],ZFS 的確有部分功能對內(nèi)存的要求比較高(比如刪除重復(fù)數(shù)據(jù)),其他情況下 ZFS 只需要很少的內(nèi)存[23]。
內(nèi)存的選購非常無聊,根本找不到可信的基準(zhǔn)測試和用戶報(bào)告,我的選購過程是這樣的:
查看有哪些內(nèi)存條與華碩 A320I-K 主板兼容[24]。
篩選出 16GB 和 32GB 的內(nèi)存條,因?yàn)槲倚枰獌筛鶅?nèi)存條來組成 32GB 或 64GB內(nèi)存。
篩選出值得信任的品牌(Corsair, Crucial, G.SKILL, Kingston, Samsung, Patriot, Mushkin, HyperX)。
篩選出價(jià)格低于 $150 的內(nèi)存條。
最終我選擇了 CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB)[25],價(jià)格只有 $128。
CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB) 與 A320I-K 主板兼容,價(jià)格合理電源(power supply unit,PSU)
如果只看電源功率,基本上選擇任何消費(fèi)級 PSU 都夠用了。根據(jù) PCPartPicker 的數(shù)據(jù)[26],我的系統(tǒng)只需要 218 瓦的電源。本來我想買的是 300-400 瓦的 PSU,但市面上沒有這個(gè)功率的半模組 PSU,最終只能選擇 500 瓦的 EVGA 110-BQ-0500-K1[27]。
EVGA 110-BQ-0500-K1 是一款半模組 PSU,功率為 500 瓦,完全夠用90 度角 SATA 電纜
由于機(jī)箱空間限制,我需要一個(gè) 90 度角 SATA 電纜在這之前我從來沒有用過 90 度角 SATA 電纜,但我的主板和 PSU 之間的空間太小了,放不下標(biāo)準(zhǔn)的 SATA 電纜,只能使用 90 度角的 SATA 電纜來解決這個(gè)問題。
暫不考慮的硬件
由于價(jià)格、復(fù)雜性或物理空間的原因,有幾個(gè)硬件不在我的考慮范圍之內(nèi)。
顯卡(GPU)
由于物理空間限制,再加上主板接口有限,我就不使用專用顯卡了,直接使用支持 Radeon 圖像處理技術(shù)的主板即可。
主機(jī)總線適配器(HBA)
NAS 一般都需要一個(gè)主機(jī)總線適配器[28](HBA),HBA 是一個(gè)可以放入主板 PCI 插槽的芯片,用來增加主板可以支持的硬盤數(shù)量。
我暫時(shí)還不需要 HBA,華碩 A320I-K 主板的 4 個(gè) SATA 接口足以滿足我當(dāng)下的需求,我只需留出一個(gè) PCI 插槽為將來的 HBA 做準(zhǔn)備即可。
ECC 內(nèi)存
在研究不同的 TrueNAS 組裝方案時(shí),我看到了一部分貼子說 ECC 內(nèi)存(使用了能夠?qū)崿F(xiàn)錯(cuò)誤檢查和糾正技術(shù)的內(nèi)存條)是防止數(shù)據(jù)損壞的必備條件,但最終我還是選擇了普通的內(nèi)存條。雖然我也不希望內(nèi)存數(shù)據(jù)被破壞,但我在過去 30 年中一直用的都是普通的內(nèi)存條,并沒有遇到過內(nèi)存數(shù)據(jù)損壞的情況,而且我只是家用而已,普通內(nèi)存條應(yīng)該夠用了。
單獨(dú)的 SLOG 硬盤
許多人使用 ZFS 會(huì)用到一塊單獨(dú)的專用 SSD,這塊單獨(dú)的 SSD 被稱為 SLOG (separate intent log)[29]。
系統(tǒng)向文件系統(tǒng)寫入數(shù)據(jù)時(shí),會(huì)產(chǎn)生很多的日志文件,這些日志文件寫到專門的 SSD 比直接寫到多個(gè)數(shù)據(jù)盤中要快好幾個(gè)數(shù)量級。這樣可以顯著提高寫入速度[30],因?yàn)楫?dāng)應(yīng)用向數(shù)據(jù)盤寫入數(shù)據(jù)時(shí),ZFS 可以快速將對數(shù)據(jù)寫入操作的意圖的日志文件寫入專門的 SSD,然后直接告訴應(yīng)用寫入成功了,接下來再根據(jù)日志文件異步地將數(shù)據(jù)轉(zhuǎn)移到存儲(chǔ)池中。
受硬盤托架和接口的限制,最終我沒有選擇專門的 SLOG 硬盤,因?yàn)樵黾右粋€(gè) SLOG 硬盤就需要放棄唯一的 PCI 插槽或者浪費(fèi)其中一個(gè)硬盤托架,不劃算。我寧愿把這部分空間留出來給以后增加數(shù)據(jù)盤使用。
我的硬件列表
| CPU | AMD Athlon 3000G[31] | $105.13 |
| 主板 | 華碩 Prime A320I-K[32] | $97.99 |
| 顯卡 | 不需要,主板自帶 | $0 |
| 系統(tǒng)盤 | 金士頓 A400 120GB[33] | $31.90 |
| 內(nèi)存條 | CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB)[34] | $127.99 |
| 電源 | EVGA 110-BQ-0500-K1 500W 80+ Bronze Semi-Modular[35] | $44.99 |
| 機(jī)箱 | Fractal Design Node 304 Black[36] | $99.99 |
| SATA 電纜 | Silverstone Tek Ultra Thin Lateral 90 Degree SATA Cables[37] (x2) | $22.30 |
| 總價(jià) | $530.29 | |
| 數(shù)據(jù)盤 | 東芝 N300 HDWG480XZSTA 8TB 7200 RPM[38] (x2) | $372.79 |
| 數(shù)據(jù)盤 | 希捷 IronWolf 8TB NAS Hard Drive 7200 RPM[39] (x2) | $359.98 |
| 總價(jià) | $1,263.06 |
注意:該主板可能與 AMD Athlon 3000G CPU 不兼容,參考下文。
與商業(yè) NAS 產(chǎn)品對比
| 硬盤托架數(shù)量 | 6 | 4 | 4 |
| 內(nèi)存容量 | 32 GB | 4 GB | 4 GB |
| 最高內(nèi)存容量 | 32 GB | 8 GB | 8 GB |
| CPU 跑分 | 4479[40] | 3002[41] | 4588[42] |
| 總價(jià) | $530.29 | $549.99 | $549 |
從上述表格來看,我自己組裝的 NAS 總成本與商業(yè) NAS 產(chǎn)品差不多,但性價(jià)比更高,因?yàn)閮?nèi)存是他們的 8 倍,而且操作系統(tǒng)是開源的,沒有所謂的供應(yīng)商鎖定。
組裝花絮
所有零部件在 Fractal Design 迷你 ITX 機(jī)箱中安裝主板我太喜歡 M.2 SSD 了,不需要數(shù)據(jù)線,擰個(gè)螺絲就完了這是我組裝的第一個(gè)不把 PSU 的背面暴露在機(jī)箱外的系統(tǒng),機(jī)箱有一條很短的 NEMA 延長線,將內(nèi)部 PSU 引向機(jī)箱自身的外部電源輸入。使用 TinyPilot 管理服務(wù)器
老讀者應(yīng)該還記得,我用 Raspberry Pi 創(chuàng)建了一個(gè)專門用于初始化和管理服務(wù)器的工具叫 TinyPilot[43]。這臺 NAS 是我用 TinyPilot 搭建的第三個(gè)服務(wù)器,也是我用 TinyPilot 最新版本 TinyPilot Voyager 2[44] 搭建的第一臺服務(wù)器。
TinyPilot Voyager 2 可以在無需鍵盤、鼠標(biāo)和顯示器的情況下給服務(wù)器安裝操作系統(tǒng)TinyPilot Voyager 2 真是太方便了!無需將鍵盤或顯示器連接到服務(wù)器上,就可以啟動(dòng) BIOS 并安裝 TrueNAS 操作系統(tǒng),所有的這一切都在我的瀏覽器中完成。
TinyPilot 還是有一些小問題的,不過無傷大雅。比如它雖然可以加載 .img 和 .iso 等鏡像文件,但它還不知道如何與目標(biāo)計(jì)算機(jī)共享原始文件。當(dāng)我需要為華碩的 BIOS 升級加載 .CAP 文件時(shí),我將這些文件放到了 USB 中,這樣 TinyPilot 就找不到了。希望 TinyPilot 能盡快支持這種場景,下次我就好升級 BIOS 了。
是 BIOS 版本不兼容?還是我傻?
當(dāng)我把所有零部件都組裝好,接通電源之后傻眼了,顯示器(TinyPilot)上沒有看到任何圖像輸出。
什么鬼?難道我誤解了主板的兼容性要求?重新安裝內(nèi)存,重新安裝 CPU,并檢查所有電纜,結(jié)果還是一樣。。。
最后不得不搬出祖?zhèn)髅丶?#xff1a;谷歌搜索。一番搜索之后,看到有人提到華碩 Prime A320I-K 主板需要升級 BIOS 才能與 AMD Athlon 3000G 兼容。雖然我之前挑選主板的時(shí)候看到過這個(gè)警告,但被我忽視了。
現(xiàn)在就比較尷尬了,這是一個(gè)先有雞還是先有蛋的問題。。。因?yàn)橹挥?CPU 正常工作,我才好升級 BIOS。不過問題不大,我 2017 年 Homelab 服務(wù)器[45]中使用的 Ryzen 7 CPU 和華碩 Prime A320 主板是兼容的[46],我將那臺服務(wù)器的 CPU 和 GPU 拿下來插到 NAS 服務(wù)器上,終于成功開機(jī)了!
使用舊的 Homelab 服務(wù)器 CPU 來升級 NAS 的 BIOS最讓我無語的是,系統(tǒng)啟動(dòng)之后,主板顯示我的 BIOS 版本仍然是 2203,也就是華碩聲稱它與 AMD Athlon 3000G CPU 兼容的 BIOS 版本。可是我明明已經(jīng)將 BIOS 更新到了最新的 5862 版本,不管它了。。
華碩 Prime A320I-K 主板的 CPU 兼容性頁面聲稱兼容 AMD Athlon 3000G CPU 的最低 BIOS 版本為 2203到這里問題還沒有解決,系統(tǒng)啟動(dòng)后仍然看不到啟動(dòng)畫面。排查了一通后發(fā)現(xiàn)我把 HDMI 線插到了 DisplayPort 接口中,我被自己蠢哭了😂
DisplayPort 接口為啥和 HDMI 這么像?很容易讓人插錯(cuò)線誒現(xiàn)在在回過頭來看一下之前的問題,細(xì)思極恐,問題真的是 BIOS 和 CPU 不兼容嗎?現(xiàn)在沒法驗(yàn)證了,我想大概有兩種可能:
我太蠢了,將 HDMI 線插到 DisplayPort 接口里了,直到我升級了 BIOS 之后才發(fā)現(xiàn)這個(gè)問題。
華碩才是蠢貨,誤導(dǎo)大眾,AMD Athlon 3000G CPU 與 BIOS 2203 版本根本就不兼容。
不管如何,現(xiàn)在終于啟動(dòng)成功了,而且不需要再借助外部的硬件了,可以松一口氣了。
性能測試
目前還找不到較好的基準(zhǔn)測試工具來測試 NAS 的性能,因?yàn)榇蟛糠譁y試工具都是對本地磁盤 I/O 進(jìn)行測試,而真實(shí)世界的使用場景是通過網(wǎng)絡(luò)訪問的,所以這種測試結(jié)果是沒有參考價(jià)值的。
我是這么測試的:先生成兩組帶有隨機(jī)數(shù)據(jù)的文件[47],然后使用 robocopy[48] 來測試本地客戶端和 NAS 之間的傳輸速度。這種測試方法也不是很嚴(yán)格,因?yàn)槲覜]有使用完全獨(dú)立的網(wǎng)絡(luò)進(jìn)行測試,測試時(shí)也沒有關(guān)閉桌面上的其他進(jìn)程。作為對照,我對舊的群暉 DS412+ 也進(jìn)行了測試。
每一個(gè) NAS 測試了兩組不同的文件。第一組文件總共有 20 GiB,每個(gè)文件大小是 1 GiB;第二組文件總共有 3 GiB,每個(gè)文件大小是 1 MiB。而且我對加密卷和非加密卷分別進(jìn)行了測試,每一組測試 3 次,取平均值。
讀取性能
非加密卷的測試結(jié)果顯示,已經(jīng)使用 7 年開始生銹的群暉比全新的 TrueNAS 性能更好。群暉讀取小文件比 TrueNAS 快 31%,讀取大文件比 TrueNAS 快 10%。
到加密卷測試部分,群暉就不行了,被 TrueNAS 碾壓。群暉對加密卷的讀取速度比非加密卷下降了 67-75%,而 TrueNAS 卻幾乎沒有變化。最終結(jié)果表明 TrueNAS 對加密卷小文件的讀取速度是群暉的 2.3 倍,對加密卷大文件的讀取速度是群暉的 3 倍。我的大部分?jǐn)?shù)據(jù)都是加密的,所以這個(gè)測試結(jié)果更能代表我的使用場景。
寫入性能
盡管群暉讀取非加密卷的速度超越了 TrueNAS,在寫入方面卻不盡人意。即便是非加密卷,TrueNAS 對小文件的寫入速度也比群暉快了 77%,對大文件的寫入速度和群暉不相上下。
加密卷就更離譜了,TrueNAS 對加密卷小文件的寫入速度是群暉的 5.2 倍,對加密卷大文件的寫入速度是群暉的 3.2 倍。
功耗測試
我使用 Kill A Watt P4460 電力使用監(jiān)控器[49]來測量 TrueNAS 和群暉的功耗情況:
| Idle | 38 W | 60 W |
| Load | 43 W | 67 W |
測試結(jié)果表明新服務(wù)器的功耗比舊的群暉多了 60%,這讓我有點(diǎn)懵逼,我這邊的電費(fèi)是 $0.17/千瓦時(shí),這么一算服務(wù)器每個(gè)月的成本是 $7.20。
具體什么原因還不太清楚,可能是 PSU 的緣故。群暉的 PSU 和其他組件的功耗完全匹配,而 TrueNAS 的 500W PSU 可能利用率只有 15%,系統(tǒng)不需要這么大的功率。
使用感受
主板
我對華碩 Prime A320I-K 主板最大的意見就是兼容性,也有可能是我搞錯(cuò)了(前面解釋過)。
即便是我搞錯(cuò)了,我還是要吐槽一下它的 BIOS 升級體驗(yàn),按道理應(yīng)該可以直接下載升級最新的 BIOS 固件,但是我升級了之后它還是提示我需要升級,最后我不得不手動(dòng)下載固件并上傳到 USB 進(jìn)行手動(dòng)升級。
修復(fù) Realtek 網(wǎng)絡(luò)驅(qū)動(dòng)
當(dāng)我的系統(tǒng)網(wǎng)絡(luò)負(fù)載很高時(shí),主板上的以太網(wǎng)適配器經(jīng)常會(huì)掛掉。Reddit 論壇上的一位網(wǎng)友幫我找到了原因,FreeBSD 針對 A320I-K 主板的 Realtek 網(wǎng)卡的驅(qū)動(dòng)不穩(wěn)定,我們可以將其替換為官方的驅(qū)動(dòng),步驟如下:
打開 TrueNAS 可視化界面,依次進(jìn)入 System > Tunables;
添加下面兩個(gè)選項(xiàng):
| if_re_load | YES | loader |
| if_re_name | /boot/modules/if_re.ko | loader |
機(jī)箱
說實(shí)話,整體使用下來,我對 Fractal Design Node 304 這個(gè)機(jī)箱很失望,我還是比較喜歡之前使用的 Fractal Design Meshify C[50],因?yàn)樗幸徊糠止δ苁俏以谄渌麢C(jī)箱身上從來沒見過的。
雖然 Fractal Design Node 304 看起來還不錯(cuò),但實(shí)際使用時(shí)卻是非常尷尬,沒有任何文檔可供參考,官方提供的案例也是不痛不癢的。
當(dāng)然了,我知道機(jī)箱設(shè)計(jì)師為了縮小機(jī)箱的體積必須在其他方面有所犧牲,或許是我太苛刻了。
CPU
CPU 我非常滿意,Athlon 3000G 對我來說性能過剩,過去一個(gè)月的 CPU 負(fù)載一直都是 99% 空閑。
這個(gè) CPU 最吸引我的一點(diǎn)是支持 AMD 的 Radeon 圖像處理技術(shù),這樣就不需要單獨(dú)的顯卡了。價(jià)格只有 $105,很劃算。
數(shù)據(jù)盤
數(shù)據(jù)盤暫時(shí)不作評判,目前一切安好,五年后再看。
一開始我擔(dān)心數(shù)據(jù)盤噪聲太大,可結(jié)果表明,只有在性能測試期間刪除文件的時(shí)候,才會(huì)聽到硬盤的聲音。
電源(PSU)
我的系統(tǒng)空轉(zhuǎn)功率是 60 瓦,明顯用不到這么大功率的電源,當(dāng)時(shí)要是多花點(diǎn)精力挑選功率更低的電源就好了,實(shí)際上我只需要一個(gè) 300-400 瓦的電源。
系統(tǒng)盤
系統(tǒng)盤選擇金士頓 A400 是明智的,非常穩(wěn)定,容量用來承載 TrueNAS 操作系統(tǒng)綽綽有余。
TrueNAS
我安裝的是 TrueNAS Core 13,使用的 FreeBSD 版本相對而言比較成熟。你也可以安裝 TrueNAS Scale,它基于 Debian,具有更廣泛的硬件和軟件兼容性。
如果要比較用戶界面,群暉是很難被打敗的,這是見過的 NAS 中最優(yōu)雅直觀的界面,非常簡潔,用戶無需了解地層文件系統(tǒng)的技術(shù)細(xì)節(jié)。而 TrueNAS 有一股黑客風(fēng),它的界面似乎是由一個(gè)對命令行以外的東西不屑一顧的人設(shè)計(jì)的。
TrueNAS 想要?jiǎng)?chuàng)建一個(gè)新卷,并通過 SAMBA 共享出去,需要在幾個(gè)毫不相干的菜單之間來回切換,而且沒有任何提示告訴我接下來該怎么操作。群暉就比較簡單了,它會(huì)一步一步地引導(dǎo)我完成所需的設(shè)置。
TrueNAS 安裝第三方應(yīng)該也比較麻煩,就拿 Plex 舉例,雖然 Plex 是 TrueNAS 的預(yù)裝插件,但我還是花了一個(gè)小時(shí)的時(shí)間來搜索文檔。相比之下,在群暉上安裝 Plex 就是點(diǎn)兩下鼠標(biāo)的事情,兩分鐘就可以搞定。
即便如此,我還是堅(jiān)持使用 TrueNAS,因?yàn)槲腋P(guān)心的是廠商和平臺鎖定,而且我喜歡開源軟件。如果我要給不在乎意識形態(tài)的朋友推薦 NAS,我一定會(huì)推薦群暉。
ZFS
ZFS 功能很強(qiáng)大,但目前我只用到了 RAID 功能,其他功能暫時(shí)沒有需求。
很多人喜歡 ZFS 的快照功能,但我的 restic 備份方案中已經(jīng)有快照功能了,所以暫時(shí)也用不到 ZFS 的快照功能。我已經(jīng)使用 restic 兩年了,印象中只一次需要從快照中恢復(fù)數(shù)據(jù)。
還有一個(gè)功能是為加密數(shù)據(jù)創(chuàng)建快照,這個(gè)功能比較有趣,它可以在不解密數(shù)據(jù)的情況下直接創(chuàng)建快照。我有很多不需要經(jīng)常訪問的加密數(shù)據(jù),使用這個(gè)功能就能夠在無需解密的情況下進(jìn)行定期備份。
總結(jié)
總的來說,我還是很喜歡這個(gè)新 NAS 的,折騰的過程中也學(xué)到了很多東西。畢竟這不是我第一次使用 NAS,之前使用群暉已經(jīng)儲(chǔ)備了相關(guān)的技術(shù)能力,切換到 TrueNAS 之后也就沒有那么吃力。當(dāng)然了,該學(xué)還是要學(xué)的,我已經(jīng)準(zhǔn)備好惡補(bǔ) ZFS 和 TrueNAS 的相關(guān)知識了。
引用鏈接
[1]
網(wǎng)絡(luò)附加存儲(chǔ)(Network-attached storage): https://en.wikipedia.org/wiki/Network-attached_storage
[2]數(shù)據(jù)囤積狂: https://www.reddit.com/r/DataHoarder/
[3]群暉 DS412+: https://www.newegg.com/synology-ds412/p/N82E16822108113
[4]Hacker News 上的一位大佬: https://news.ycombinator.com/item?id=31549755
[5]從一個(gè)非群暉系統(tǒng)中恢復(fù)群暉的混合 RAID 卷: https://kb.synology.com/en-us/DSM/tutorial/How_can_I_recover_data_from_my_DiskStation_using_a_PC
[6]TrueNAS: https://truenas.com/
[7]正在積極開發(fā)中: https://github.com/openzfs/zfs/pull/12225
[8]ZFS 不是一種備份策略: https://www.raidisnotabackup.com/
[9]restic: https://restic.net/
[10]Backblaze: https://www.backblaze.com/blog/backblaze-hard-drive-stats-for-2020/
[11]ASUS Prime A320I-K: https://www.asus.com/Motherboards-Components/Motherboards/PRIME/PRIME-A320I-K/
[12]下面的討論: https:///icloudnative.io/posts/budget-nas/#%E4%B8%BB%E6%9D%BF-1
[13]B450: https://www.newegg.com/asus-rog-strix-b450-i-gaming/p/N82E16813119143
[14]ASUS Prime A320I-K: https://www.asus.com/Motherboards-Components/Motherboards/PRIME/PRIME-A320I-K/
[15]CPU 基準(zhǔn)測試: https://www.cpubenchmark.net/cpu.php?cpu=AMD+Athlon+3000G&id=3614
[16]Backblaze 的硬盤統(tǒng)計(jì)數(shù)據(jù): https://www.backblaze.com/blog/backblaze-drive-stats-for-2021/
[17]使用 SMR(Shingled Magnetic Recording,疊瓦式磁記錄)技術(shù)的硬盤: https://www.truenas.com/community/resources/list-of-known-smr-drives.141/
[18]ZFS 在 SMR 硬盤上的表現(xiàn)非常差: https://www.servethehome.com/wd-red-smr-vs-cmr-tested-avoid-red-smr/
[19]東芝 N300: https://www.newegg.com/toshiba-n300-hdwg480xzsta-8tb/p/N82E16822149793
[20]希捷 IronWolf: https://www.newegg.com/seagate-ironwolf-st8000vn004-8tb/p/N82E16822184796
[21]金士頓 A400: https://www.newegg.com/kingston-a400-120gb/p/N82E16820242474
[22]根本沒有這種規(guī)則: https://www.reddit.com/r/DataHoarder/comments/5u3385/linus_tech_tips_unboxes_1_pb_of_seagate/ddrngar/
[23]ZFS 只需要很少的內(nèi)存: https://www.reddit.com/r/DataHoarder/comments/3s7vrd/so_you_think_zfs_needs_a_ton_of_ram_for_a_simple/
[24]與華碩 A320I-K 主板兼容: https://www.asus.com/Motherboards-Components/Motherboards/CSM/PRIME-A320I-K-CSM/HelpDesk_QVL/
[25]CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB): https://www.newegg.com/corsair-32gb-288-pin-ddr4-sdram/p/N82E16820233854
[26]PCPartPicker 的數(shù)據(jù): https://pcpartpicker.com/
[27]EVGA 110-BQ-0500-K1: https://www.newegg.com/evga-500-bq-110-bq-0500-k1-500w/p/N82E16817438101
[28]主機(jī)總線適配器: https://www.truenas.com/community/threads/whats-all-the-noise-about-hbas-and-why-cant-i-use-a-raid-controller.81931/
[29]SLOG (separate intent log): https://www.truenas.com/docs/references/slog/
[30]顯著提高寫入速度: https://www.servethehome.com/exploring-best-zfs-zil-slog-ssd-intel-optane-nand/
[31]AMD Athlon 3000G: https://www.newegg.com/amd-athlon-3000g/p/274-000M-001B8
[32]華碩 Prime A320I-K: https://www.asus.com/Motherboards-Components/Motherboards/PRIME/PRIME-A320I-K/
[33]金士頓 A400 120GB: https://www.newegg.com/kingston-a400-120gb/p/N82E16820242474
[34]CORSAIR Vengeance LPX 32GB CMK32GX4M2A2400C14 (2 x 16GB): https://www.newegg.com/corsair-32gb-288-pin-ddr4-sdram/p/N82E16820233854
[35]EVGA 110-BQ-0500-K1 500W 80+ Bronze Semi-Modular: https://www.newegg.com/evga-500-bq-110-bq-0500-k1-500w/p/N82E16817438101
[36]Fractal Design Node 304 Black: hhttps://www.newegg.com/black-fractal-design-node-304-mini-itx-tower/p/N82E16811352027
[37]Silverstone Tek Ultra Thin Lateral 90 Degree SATA Cables: https://www.newegg.com/p/N82E16812162042
[38]東芝 N300 HDWG480XZSTA 8TB 7200 RPM: https://www.newegg.com/toshiba-n300-hdwg480xzsta-8tb/p/N82E16822149793
[39]希捷 IronWolf 8TB NAS Hard Drive 7200 RPM: https://www.newegg.com/seagate-ironwolf-st8000vn004-8tb/p/N82E16822184796
[40]4479: https://www.cpubenchmark.net/cpu.php?cpu=AMD+Athlon+3000G&id=3614
[41]3002: https://www.cpubenchmark.net/cpu.php?cpu=Intel+Celeron+J4125+%40+2.00GHz&id=3667
[42]4588: https://www.cpubenchmark.net/cpu.php?cpu=AMD+Ryzen+Embedded+V1500B&id=4304
[43]TinyPilot: https://mtlynch.io/tinypilot/
[44]TinyPilot Voyager 2: https://tinypilotkvm.com/product/tinypilot-voyager2?ref=mtlynch.io
[45]2017 年 Homelab 服務(wù)器: https://mtlynch.io/building-a-vm-homelab-2017/
[46]Ryzen 7 CPU 和華碩 Prime A320 主板是兼容的: https://www.asus.com/us/Motherboards-Components/Motherboards/PRIME/PRIME-A320I-K/HelpDesk_CPU/
[47]生成兩組帶有隨機(jī)數(shù)據(jù)的文件: https://github.com/mtlynch/dummy_file_generator
[48]robocopy: https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/robocopy
[49]Kill A Watt P4460 電力使用監(jiān)控器: http://www.p3international.com/products/p4460.html
[50]我還是比較喜歡之前使用的 Fractal Design Meshify C: https://mtlynch.io/building-a-vm-homelab/#my-2020-server-build
你可能還喜歡
點(diǎn)擊下方圖片即可閱讀
如何在 Mac 上愉快地使用 Docker
2022-06-10
理解 Kubernetes 中的 NUMA 架構(gòu)
2022-06-08
讓 M1 芯片的 MacBook Pro 同時(shí)支持兩個(gè) 4k 顯示器
2022-06-07
K8s 的核心是 API 而非容器:從理論到 CRD 實(shí)踐
2022-06-06
云原生是一種信仰?🤘
關(guān)注公眾號
后臺回復(fù)?k8s?獲取史上最方便快捷的 Kubernetes 高可用部署工具,只需一條命令,連 ssh 都不需要!
點(diǎn)擊?"閱讀原文"?獲取更好的閱讀體驗(yàn)!
發(fā)現(xiàn)朋友圈變“安靜”了嗎?
總結(jié)
以上是生活随笔為你收集整理的构建我的第一个 22TB 容量的家庭存储服务器的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ArcGIS应用视频教程(视频+PPT+
- 下一篇: 秩和比(RSR)指标计算