2014年11月29日 星期六

自己動手做--土炮NAS分享


隨著自己的照片越來越多(RAW檔每個都很大),每次在存檔時都在想萬一哪天硬碟掛了會怎樣?想著想著不禁擔心了起來。
隨著這樣的念頭,開始思考幾種方案:

  1. 備份硬碟
  2. 雲端備份
  3. NAS(Network Attached Storage)
如果是備份硬碟,取得成本最低,接在原本電腦上就好,但是若要備份家中其他電腦的資料,就開始顯得麻煩(電腦同時要當成Server)。
如果是雲端同步備份(DropboxGoogle DriveMega...),免費版空間小,付費版如果達到1TB容量,一年就超過一台3TB硬碟的價格,可參考本連結
如果是NAS,取得成本高,看得上眼的國內兩大名廠SynologyQNAP的4 Bay NAS空機網拍價就要15000以上,CPU不強、記憶體小。
幾經思量比較,網路上Survey了各種方案,想想既然PC都自己組了,為何NAS就不能自己組!?就此開啟了土炮NAS之路(也是痛苦的開始)。

關於免費NAS作業系統的選擇,Survey了老半天後,發現網路上FREENAS的討論與支援最多,同時官方支援的外掛也不少,就決定採用FREENAS了。

接下來進行機殼Survey,發現國內有4 X Hotswap Bay的機殼選擇少之又少,外觀又很糟糕,但靠Google大神的幫助下,居然在淘寶找到了可接受的ITX機殼,考慮沒兩天立馬下單。另外這淘寶賣家居然有賣海盜版Synology DSM 5.0...如果哪天發現FREENAS實在不好用,再來考慮它吧。

雖然機殼賣家也有賣ITX Power,但考量這種東西壞掉的機率比機殼大太多,還是在台灣買比較保險,逛了逛沒屋頂後,找到了一個似乎可用的Power,就此下單。

ITX主機板的選擇其實不算少,雖然H61晶片就可以用又很便宜,但為了日後的保固與擴充(放棄UNIX換成Windows系統)可行性,買了一個單價不算低的GA-H97N-Wifi主機板

至於CPU,則選了一個最便宜還算有C/P值的Intel Pentium CPU G3420

本來手頭上有個2G的Server拆機ECC記憶體可以拿來用,但決定用FREENAS來當主要NAS系統時才發現它的最低記憶體需求要8G...所以只好另外再買了一條8G的記憶體

由於這些硬體都是由不同店家供應,情況就像木蘭詩一樣(東市買駿馬,西市買鞍韉,南市買轡頭,北市買長鞭),等貨到齊的時間很冗長(尤其是機殼貨在大陸,又是1111光棍節大特價,安裝時還出了意外)。

目前來做個簡單的成本計算:
CPU:1710
RAM:2060
MB:3310
Power:1360
Case:3600
Total:12040

如果用最便宜方案(主機板價格最低版)
CPU:1710
RAM:2060
MB:1860
Power:1360
Case:3600
Total:10590

各零件下單後兩三天開始陸續到貨,最先到的是主機板、CPU、Power。





既然基本的東西到了,就先來插上記憶體試試看東西是否是好的。

結果居然不能開機........
隔天趕緊把主機板拿去技嘉服務站處理,沒想到工程師當場測是好的.....
好吧,晚上回到家再接起來測一下又可以了....實在很詭異啊....

再隔一天8G記憶體到貨,插上主機板與原本就準備好的兩顆3TB硬碟拿來灌FREENAS。
FREENAS在我開始測試時的穩定版本是9.2.1.8,可選擇由硬碟或是USB充當系統碟,考量到爾後可能會有多一點系統資料的需求,用隨身碟容量有可能某些狀況下不夠,就拿某一顆不知道何時退下來的2.5吋320G硬碟來當系統碟了。下載完ISO檔燒成光碟就來開始灌。

灌完重新啟動後,由DHCP直接分配了一個位址給FREENAS,可以開始透過瀏覽器連進去玩玩了。

打開瀏覽器輸入IP後,出現在眼前的結果如下,感覺似乎滿容易設定的(這只是感覺,後面就有漫長的路程要走)。

設定了一個基本的RAID-0之後,嘗試打開一個CIFS分享(Samba)(分享設定的過程有很多次的Try & Error),丟個檔案進NAS看看速度如何,哇~~真是出乎意料的快啊...


弄到目前為止,感覺很不錯,就來把目前電腦中的資料備份到舊的小硬碟上,準備把目前電腦的3TB硬碟拆下來組成RAID-5。

隔三天後,期待已久的ITX Case總算過鹹水來到我家了,趕緊來開箱一下。

這是額外購買的2.5吋硬碟背板,把2.5吋硬碟鎖在ITX Case裡面用的。

表面有包覆一層防刮膠膜。

正面長相還不賴,面板有HTC Butterfly外殼的那種彈性塑膠表面的觸感。

背面看起來還好。

從頂上看裡面看起來也還OK,發現原來有帶SATA線,我去光華商場找老朋友賣面子坳來的SATA線白坳了。


從側面看主機板安裝的位置,發現空間很狹窄,感覺有點不妙.....,實際把硬碟抽取架抽出來時,發現這些看不到的地方稍微粗了點,觸感有點割手。

既然貨到了,當然就趕快來開工組裝了,但組裝的過程中非常不順利....首先Power的孔位有點不準,很用力喬才好不容易把Power鎖上;再來就是在主機板接線的過程中,因腳受傷無力導致渾身不對勁,一個手滑主機板滑出手,連接主機板與前面板USB模組的線居然就斷了,連模組上的電路板銅皮都扯下來...這下毀了,連加工補救的方法都沒有....

既然前面板USB都毀了,那就先將錯就錯吧,另外向淘寶賣家詢問是否可以單買模組。雖然可以,卻要另外花30RMB且運費外加,那也認了,最後貨到的時候還被海關打了177台幣的稅(稅金比物品還貴)....那也就算了,等線都接好了準備將主機板推進位子時,發現CPU風扇太高卡住了.....天啊,真是一波三折....只能怪自己沒經驗,立馬趕快在沒屋頂找到了一個27mm高的CPU風扇,期望它不要再被卡住了。

再過了三天,CPU風扇到貨,立馬來試裝,主機板好不容易塞進機殼中對好鎖點。

外殼鎖上後的樣子(反光還照到我的麵龜腳)....



硬體災難輪完一輪後,接下來是沒日沒夜的軟體災難....
首先自己手賤想試試最新版,就把9.3beta抓下來裝,雖然發現功能多了很多,功能佈局也變得比較合理直覺,但系統開始有怪怪的狀況發生。

CIFS傳檔案的速度變得很慢,我的PC在傳檔過程中還會不時定格。

試了很多種設定上的排列組合,查了很多網路文章,有人發生過類似的狀況,但並沒有真正找出問題點,且目前自己怎樣設定都沒辦法恢復第一次裝9.2.1.8版的速度,所以嘗試再回到穩定版9.2.1.9,但還是無解,這樣的循環持續了兩天。

兩天後發生了一個新問題,不知道動到哪個設定,開機後的Monitor Screen告訴我有太多次的按鍵輸入,故凍結按鍵30秒,同時不停進行同樣的循環,也無法進入Web Console,每次都是在重灌後不知道動到哪個設定導致又開始無止境循環。
發現這樣下去不行,只好一個設定存檔後重新開機,下一個設定存檔後再重新開機,用最笨的方法一步一步釐清問題點,最後在大約20步設定後發現原來打開Web Console的IPv6綁定是造成此狀況的原因
把這問題抓出來,IPv6關掉,升級到9.3 Beta版最新update後,發現一切都正常了,CIFS傳檔案不再卡卡,傳輸速度又回到該有的水準,於是就開始把該備份的檔案丟上NAS,減少本機硬碟的空間占用。

接下來測試FTP及其他分享模式,感覺都沒啥問題了,就來把機器放上視聽櫃了。



檔案全部塞進NAS後,就來開始測試一些外掛,例如感覺頗好用的OwnCloud,使用方式很直覺,跟Mega的長相還滿像的,還可以下載PC Client、Android Client、IOS Client來自動同步,用法跟Dropbox與Mega差不多,但可惜的是目前只能從內網連接Web Console,外網還有問題得處理(可能得修改OwnCloud的設定檔,還找不到頭緒),另外OwnCloud內建用SQLite來當資料庫,開發者已表明如果用量比較大建議改用MySQL(但FREENAS沒有MySQL Jail)。

在屢次安裝調整OwnCloud失敗後,感覺BSD Jail有頗多限制,且外面的支援與設定範例多以Linux比較多,考量自己不是UNIX系統大師,又想到FREENAS有個VirtualBox外掛可以裝,這樣就可以在掛上VirtualBox之後再啟動一般Linux VM,理論上就可以做到一般Linux可以做到的事情,那就著手來測試看看吧。

安裝好VirtualBox後,發現原來FREENAS的Virtubox外掛用的是PHPVirtualBox,用Web Console來管理VM,用VNC來操作VM內的OS,使用上很直覺,完全沒有困難度,唯一有狀況的是網路設定的部分,嘗試了很多次的設定排列組合才找到能夠連上Internet的設定(這部分的範例資源很少)。

搞定CentOS內firewalld設定後,總算可以連上Port 80了,後面就可以把PHP、MySQL架上去,把本來有問題的外掛改放在VM中跑,應該就可以做到大部分的事了。

但是FREENAS Jail裡面的PHPVirtualBOX有一個狀況,就是VBOX Command Line管理介面完全不認得由Web Console所建立的VM,無法將控制指令寫進rc.d中,所以沒辦法自動啟動或關閉VM,必須手動進去開關,這會造成很多問題,目前還在研究解決的方式。

我還測試了FREENAS裡面的Plex Media Server這個外掛,功能看起來很強大,但看起來仍有小問題要解決。 

設定完成後,DLNA自動啟動了,用Windows Media Player可以立即找到DLNA伺服器。

但我進一步設定使用者帳號時,發現了美中不足的事,原來如果沒有付費,只能單人使用....

結論:FREENAS是個很不錯的白牌NAS解決方案,但前提是【只使用FREENAS內建的功能】,若對FreeBSD熟悉,應該可以很快的Tune起來做一般的用途,但一些進階外掛功能,有不少限制,甚至有一些還不是真免費,除非你有不少時間Try,或者你對【解決問題】有興趣,否則建議一般使用者別碰它的外掛(或者可以考慮大陸的海盜版Synology DSM)。