貓公00702-13 17:57 ================================================= 2017年3月又連續(xù)掛掉兩個(gè)硬盤之后,我痛下決心搞自己的NAS。剛開始并不知道會(huì)弄成怎樣,抱著半玩半學(xué)的態(tài)度慢慢摸索,到了6月系統(tǒng)搭建好,一直運(yùn)行至今。看大家好像對(duì)這個(gè)話題挺有興趣,把我經(jīng)歷過(guò)的和大家分享一下。不是寫論文那么嚴(yán)謹(jǐn),很多選擇也是個(gè)人化的無(wú)所謂最優(yōu),各位請(qǐng)輕噴。 1、系統(tǒng) 我花了幾周時(shí)間研究各種NAS系統(tǒng)的優(yōu)缺點(diǎn),最終選擇了原生支持ZFS文件系統(tǒng)的XigmaNAS (原來(lái)的NAS4FREE)?;贔reeBSD的XigmaNAS除了原生ZFS支持,還支持VirtualBox和bhyve兩種虛擬機(jī),其中bhyve支持部分物理機(jī)硬件Passthrough給虛擬機(jī)(目前為止我成功Passthrough過(guò)PCI-E USB3.0卡和PCI-E轉(zhuǎn)接的NVME固態(tài)硬盤)。還有一個(gè)重要的考量因素,XigmaNAS開源。 2、硬件 既然NAS 24小時(shí)開機(jī),我就想要實(shí)現(xiàn)24小時(shí)不用再開另一臺(tái)電腦就能聽音樂(lè),所以打算在NAS里面跑個(gè)虛擬機(jī)運(yùn)行一個(gè)配置好的FOOBAR2000,這臺(tái)虛擬機(jī)要通過(guò)物理主機(jī)的USB口連接到我音響系統(tǒng)的解碼器,這需要通過(guò)Passthrough功能把物理機(jī)的USB口傳遞給虛擬機(jī)。很明顯讓那些低功耗的ATOM、賽揚(yáng)或者奔騰CPU再帶一個(gè)虛擬機(jī)有點(diǎn)勉為其難,它們本身并不支持虛擬化技術(shù),所以我轉(zhuǎn)向至強(qiáng)X56XX系列的洋垃圾和配套的服務(wù)器主板(IPMI接口給我很大的驚喜,管理服務(wù)器太方便了)以及ECC內(nèi)存(可以保證存儲(chǔ)數(shù)據(jù)的完整性)。 CPU:X5675 6核12線程3.46G,16X元; 內(nèi)存:3x16G ECC DDR3L 1333,46X元; 主板:超微X8DTL-3F,45X元; 系統(tǒng)盤:Intel 545S 128G裝系統(tǒng)和用作讀緩存,41X元; 電源:振華 G550W 金牌全模組電源,57X元; 存儲(chǔ)盤:2x4T希捷酷鷹,2x71X元; 機(jī)箱:利舊。 就算買個(gè)機(jī)箱,最低3500元左右(2017年中的價(jià)格)也能弄出一臺(tái)6核12線程CPU、48G內(nèi)存、4T RAID1、最多可擴(kuò)到8塊硬盤(主板自帶的SATA接口。因?yàn)槭欠?wù)器主板,其實(shí)還可以加擴(kuò)展卡)、性能和可擴(kuò)展性都相當(dāng)強(qiáng)大的NAS。為了保護(hù)硬盤免于供電中斷而損壞,UPS是必須的,帶USB接口通信功能的650W后備式UPS就差不多了,三五百塊搞定。 3、RAID的選擇 在幾種RAID模式中權(quán)衡了可靠性、性能和可擴(kuò)展性,先用虛擬機(jī)模擬,然后找了幾塊小容量的舊硬盤進(jìn)行測(cè)試,最后決定采用先RAID1,再擴(kuò)展到RAID10的升級(jí)路徑,后期擴(kuò)容只需要逐個(gè)RAID1替換更大容量的硬盤即可。RAID的選擇有點(diǎn)類似網(wǎng)盤還是NAS,是很個(gè)人化的一種選擇,因?yàn)橥昝赖姆桨覆⒉淮嬖?,必然要在某個(gè)方面做出妥協(xié)。我認(rèn)為損失一些容量換取更高的可靠性是值得的,同時(shí)在比較強(qiáng)的硬件支持下,最簡(jiǎn)單的雙盤RAID1的讀寫,已經(jīng)基本可以跑滿千兆網(wǎng)絡(luò),升級(jí)到RAID10之后性能會(huì)更好。 4、同步 大約是XigmaNAS 11之后的某個(gè)版本,免費(fèi)開源的Syncthing開始成為內(nèi)置的功能。這個(gè)文件/文件夾同步軟件非常強(qiáng)大,支持IPv4和IPv6,不需要做任何網(wǎng)絡(luò)配置即可實(shí)現(xiàn)局域網(wǎng)穿透,數(shù)據(jù)傳輸基于TLS加密安全可靠。NAS、電腦、手機(jī)相互之間都可以同步,支持文件版本控制,可以保留文件的多個(gè)歷史版本,簡(jiǎn)直好用到爆。就算不用NAS,用于幾臺(tái)電腦間的文件同步,或者手機(jī)相冊(cè)之類和電腦之間的同步也非常棒。以一個(gè)很常見的場(chǎng)景為例,在辦公室用筆記本,回家用臺(tái)式機(jī),設(shè)置好同一個(gè)工作文件夾和NAS自動(dòng)同步。在辦公室用筆記本時(shí),對(duì)這個(gè)文件夾里面的所有改動(dòng),都會(huì)自動(dòng)同步到家里的NAS。回到家打開臺(tái)式機(jī),工作文件夾的這些改動(dòng)又會(huì)從NAS自動(dòng)同步到臺(tái)式機(jī)。反之在臺(tái)式機(jī)的改動(dòng)也通過(guò)一樣的機(jī)制會(huì)自動(dòng)同步到NAS和筆記本,U盤、移動(dòng)硬盤什么的根本不需要。 5、備份 雖然NAS的存儲(chǔ)一般都會(huì)組RAID,可靠性有一定的保障,但是RAID仍然有一定的機(jī)率無(wú)可挽回地崩潰,所以給NAS做備份仍然很有必要。現(xiàn)在是時(shí)候展示ZFS文件系統(tǒng)的強(qiáng)大了,ZFS通過(guò)快照機(jī)制來(lái)保存系統(tǒng)在不同時(shí)刻的狀態(tài),快照的生成幾乎是瞬間完成的。通過(guò)快照的發(fā)送、接收功能,把快照發(fā)送到另一臺(tái)同樣支持ZFS的主機(jī)就能完成備份,發(fā)送兩個(gè)快照的差異部分就能實(shí)現(xiàn)增量備份,不需要什么第三方的備份軟件,ZFS本身就能實(shí)現(xiàn)得相當(dāng)完美。 在第一組4T RAID1的兩個(gè)硬盤7x24小時(shí)連續(xù)運(yùn)行了接近3年之后,2020年6月中我又往存儲(chǔ)池中加入了兩個(gè)4T硬盤組成的RAID1,整個(gè)存儲(chǔ)池變成RAID10結(jié)構(gòu),容量達(dá)到了8T。雖然把兩個(gè)舊盤拆分到不同的RAID1里面,但是跑了兩年多的硬盤損壞的風(fēng)險(xiǎn)已經(jīng)上升了很多,我開始考慮給NAS做備份的問(wèn)題。家里的臺(tái)式機(jī)是Windows系統(tǒng),不可能直接接收NAS發(fā)送的快照,解決辦法就是在臺(tái)式機(jī)上建一個(gè)虛擬機(jī)安裝XigmaNAS,單獨(dú)分配一個(gè)8T硬盤給這個(gè)虛擬的XigmaNAS使用,這樣NAS發(fā)送過(guò)來(lái)的快照就可以全部保存到這個(gè)8T硬盤上了。之后研究了幾天ZFS快照發(fā)送、接收,花了一個(gè)通宵弄了一個(gè)自動(dòng)增量備份的雛形腳本。又經(jīng)過(guò)一段時(shí)間的測(cè)試和完善,這個(gè)腳本到現(xiàn)在運(yùn)行了8個(gè)多月,每天定時(shí)自動(dòng)創(chuàng)建一個(gè)快照來(lái)進(jìn)行備份,保留之前15天內(nèi)自動(dòng)生成的所有快照,至今一切順利,跨年期間也運(yùn)行正常。 6、功耗 一共4個(gè)4T機(jī)械硬盤 + 1個(gè)SATA SSD + 2個(gè)使用PCI-E轉(zhuǎn)接卡的NVME SSD + 1塊USB3.0擴(kuò)展卡,整機(jī)加上UPS功率大概80多瓦,24小時(shí)開機(jī)每天大概2度電,1塊多錢1天。 7、性能 大文件連續(xù)讀寫可以穩(wěn)定在110MB/s左右,得益于48G內(nèi)存和100G左右的SSD讀緩存,大量小文件的讀寫速度也不錯(cuò)。 8、可能的問(wèn)題 我這套NAS的主板、CPU、內(nèi)存都是洋垃圾,早期測(cè)試有一條內(nèi)存出過(guò)問(wèn)題(沒有損壞存儲(chǔ)的數(shù)據(jù),這是ECC內(nèi)存的優(yōu)點(diǎn)),其他硬件7x24小時(shí)跑了超過(guò)3年半,都還好。 9、總結(jié) 總的來(lái)說(shuō),自建NAS不是很難也不太容易。電腦小白建議直接上群暉這樣的商業(yè)化產(chǎn)品,不折騰。如果像我這樣有點(diǎn)理論基礎(chǔ)和動(dòng)手能力,又有興趣耐心研究一番,應(yīng)該可以自己搭建起來(lái)實(shí)現(xiàn)一些基本功能的NAS。進(jìn)階選手就不用說(shuō)了,可選的方案太多,問(wèn)題只在于需求和意愿。 |
|