樹莓派-家庭NAS(1) http://www.itdecent.cn/p/9be7ada37863
樹莓派-家庭NAS(2) http://www.itdecent.cn/p/91405ca824b8
樹莓派-家庭NAS(3) http://www.itdecent.cn/p/80777ed85246
需求
本人是一個軟件行業(yè)從業(yè)者,在平常會關注各式各樣的電子設備、也會了解各種各樣的技術。經過多年的學習和實踐后發(fā)現(xiàn)自己有各種各樣的資料需要保存。還有自己在學習過程中總結出的各式的內容。所以,就一直在研究怎么把這些東西存儲起來。
最開始我非常討厭有自己的電腦,因為很多時候網絡的誘惑會非常的大。我沒有那么強大的能力去抵制這些誘惑,所以一直就不準備給自己購買電腦,電視,游戲機等等電子設備。但會持續(xù)的關注。(現(xiàn)在使用的電腦,還是我老婆的電腦(^-^)!)
沒有電腦,就意味著沒有地方去存儲資料。最開始的時候,大概是2012年左右從零擔上買了一塊300G的硬盤。那時候硬盤還很貴,這塊硬盤應該是500塊大洋。一直就存著各種各樣的文件。后來用百度云(最早的時候百度云盤叫百度云,后來百度為了開展自己的云產品才改了名),那時候用了很多方法去免費的增大自己的百度云盤。但后來,百度云盤開始對版權,敏感信息進行過濾。很多東西都沒有辦法存儲到百度云盤上。并且國內的環(huán)境越來越差,國外的Dropbox、Google Drive、Microsoft OneDrive……國內的360云盤(已掛)、華為網盤(已掛)、UC網盤(已掛)、金山快盤(已掛)、新浪微盤(已掛)、迅雷快盤(已掛)。所以說不定哪天百度云盤也掛了。所以一直在探索個人/家庭存儲解決方案。
后來慢慢的了解到有很多的廠商已經想到并已經解決了個人/家庭存儲的問題,甚至還能解決部分家庭計算的需求。所以,了解了一些這方面的商業(yè)化廠商或產品。
群暉、威聯(lián)通、鐵威馬。家用NAS設備的三大廠商。小米路由器 HD,華為榮耀立方,華三魔術家等帶硬盤的路由器。這些廠商和設備都能幫我們解決存儲的問題,并且還有其他的功能加入。為我們的"家庭計算中心",提供了可能。為之后智能家庭提供了最基礎的硬件支持。
功能分析
上面提到了很多廠商和設備。如果機遇這些設備提供的功能的去評估設備的價值/價格是非常合適的。如果有經濟能力、或者沒有很多的閑暇時間,購買這樣的設備覺得是物超所值的。
但是,本人是一個喜歡折騰的人。并且從前一篇文章可以知道我為了"折騰"買了樹莓派。所以,就想怎樣基于樹莓派搭建《家用NAS》或者《個人網盤》。下面大概的分析一下《家用NAS》平臺所需要的功能:
| 編號 | 功能 | 描述 | 備注 |
|---|---|---|---|
| 1 | 家庭部署 | 1.設備管理權,數(shù)據(jù)歸屬權全部都由個人負責。 2.設備所處的網絡也需要控制。 3.數(shù)據(jù)安全有控制方法。 |
|
| 2 | 文件共享 | 1.需要在家庭內各種設備上都能訪問文件。 2.可以控制訪問權限。不同的成員訪問不同的目錄。 |
|
| 3 | 存儲能力 | 1.有存儲能力,并可以進行存儲的擴展。 2.可以支持數(shù)據(jù)的備份與故障恢復。 |
|
| 4 | 遠程同步 | 1.可以在外面的時候(公司、旅游等),將數(shù)據(jù)同步到家用NAS上。 2.可以在外面的時候訪問家用NAS上的數(shù)據(jù)。 |
|
| 5 | 遠程管理 | 1.支持遠程管理,可以在外面的時候對查看家用NAS的狀態(tài)。 2.可以支持擴展接入其他家用設備,并控制。 |
|
| 6 | 離線下載 | 1.可以在家用NAS設備上進行離線下載操作。 2.查看離線下載進度,控制下載到目錄等。 |
|
| 7 | 各種終端 | 1.需要支持PC端管理功能。 2.需要支持手機端管理功能。 |
|
| 8 | 影音中心 | 1.可以進行DLNA,WebDav等協(xié)議 | |
| 9 | 很多應用 | 可以支持很多應用,如:百度網盤同步,家用監(jiān)控存儲,遠程家用設備控制,IFTTT等 |
因為是家用設備,所以這里考慮安全,可用性方面的內容少一些。家用NAS基本上可以上傳下載,可以看視頻基本上就夠用了。所以其他方面的內容不再這里考慮。所以這個方案不適用與公司內部文件共享,網站文件存儲等方面。
開源軟件研究
有了上面的需求,就有了目標。開始研究開源軟件,使用開源軟件把整體的環(huán)境搭建起來。因為是基于樹莓派的家用NAS解決方案,所以,都會基于樹莓派上的一些解決方案進行。
樹莓派上又多種方式開源項目,或者免費項目??梢院唵蔚姆譃椋簶漭刹僮飨到y(tǒng)鏡像,應用軟件,Docker鏡像。一項一項的看看這些形式的項目的支持:
-
樹莓派操作系統(tǒng)鏡像:
LibreELEC,KODI,OSMC是樹莓派官方上能找到的幾個影音系統(tǒng)的樹莓派鏡像。這幾個系統(tǒng)都是國外的大神開發(fā)的,所以對國內的情況支持較少。例如之前使用LibreELEC想看個Bilibili都沒有插件進行擴展,國內的各大視頻網站的支持也很弱。操作起來比較像是一個機頂盒,所以必須把設備放在電視附近使用HDMI進行連接。比較限制使用方式,所以在這里不考慮這幾個系統(tǒng)。
Raspbian是樹莓派基于Debian的一個純凈版本??梢允褂貌僮飨到y(tǒng)界面,也可以使用命令行方式安裝。
CentOS也有專門的樹莓派版本,不過支持的比較差。在使用一段時間后莫名其妙的啟動不了,不支持ntfs-3g文件系統(tǒng),安裝軟件各種不支持樹莓派版本。所以,CentOS的樹莓派支持還是差一些的。
-
樹莓派應用:
樹莓派上有些應用層的軟件,例如:OpenMediaVault,F(xiàn)reeNAS,RaspNAS。這些應用層軟件可以使用多種方式安裝,有些大神已經把這些系統(tǒng)生成了樹莓派鏡像,可以直接下載刷到SD卡上就可以用。也可以根據(jù)安裝步驟進行應用層的安裝。
在樹莓派上安裝這些軟件之后,使用時發(fā)現(xiàn)一些問題。在使用OpenMediaVault時發(fā)現(xiàn),這個系統(tǒng)支持RAID。厲害了支持RAID方式的磁盤管理,不過要支持RAID就需要多塊硬盤。在沒有多塊硬盤的情況下使用這些軟件完成NAS的部署,比較困難。并且,在樹莓派上運行這些程序事也會發(fā)現(xiàn)一些不穩(wěn)定的問題,并且對終端支持的種類也有限,要不就是終端軟件是收費的了。所以,整體考慮這幾個應用系統(tǒng)不可用。不過有一些大神也使用這幾個系統(tǒng)去實現(xiàn)NAS,可能大神們對這些系統(tǒng)進行了改造。
Seafile - 開源的企業(yè)私有網盤。國產的私有化部署網盤系統(tǒng),不過對樹莓派的支持稍差一些。因為Seafile是使用Python語言開發(fā)的,可以使用Sqlite3作為數(shù)據(jù)庫。但是在安裝過程中會和其他的軟件依賴發(fā)成沖突,并且不支持樹莓派上使用Docker作為環(huán)境隔離。
Pydio | Enterprise File Sharing & Sync Platform。也是一個不錯的應用軟件,比較遺憾的是不支持樹莓派。 -
樹莓派Docker鏡像:
NextCloud,ownCloud,Samba,aria2等等。可以滿足家用NAS的基本要求。但是需要進行組裝工作。還可以進行環(huán)境隔離,不影響其他軟件的運行。
離線下載之前使用過迅雷的linux版本,但是及其不穩(wěn)定,而且已經停止維護了。所以在樹莓派上沒有比較好的離線下載工具。
解決方案設計
綜上的開源軟件的調研,發(fā)現(xiàn)沒有現(xiàn)成的、完善的解決方案可以滿足我們上面提到的軟件需求。需要進行組裝才能完成。俗話說的自己動手豐衣足食,所以先整一個整體方案。

分幾個部分:訪問側,設備側,設備。其中各部分的意義為:
-
訪問側:
訪問側主要解決在公網上訪問NAS服務的網絡可達。這里因為家里使用的是電信的網絡,所以是有公網IP的。這里只需要解決路由器與樹莓派之間的端口映射以及撥號后IP的只變更的問題既可以。如果是其他網絡,沒有公網IP的情況可以借助于花生殼等類似技術完成。
-
設備側:
設備側主要是運行的軟件。負責有Samba,NextCloud組成。Samba用于家庭內部的文件共享,端口不對外開放。NextCloud主要完成家庭網盤功能,可以在公網訪問。
-
設備:
設備為上層運行的軟硬件環(huán)境。設備上硬件主要是有路由器、樹莓派和西數(shù)硬盤組成硬件,Raspbian為樹莓派操作系統(tǒng),Docker為軟件運行環(huán)境。
以上從需求來源到調研軟件,然后在形成整體解決方案。下一篇文章將會介紹其中的具體操作過程。
參見
Dietpi玩轉SBC
Plex完美個人影音云盤搭建教程-Plex Media Server安裝與使用方法
利用Pydio搭建免費私有云存儲-多終端自動同步可在線播放音樂視頻
Oneinstack安裝NextCloud以及使用Aria2離線下載和ocDownloader插件配置
用樹莓派制造一個像樣的 NAS
推薦幾個樹莓派 raspbian 系統(tǒng) 可用的 arm docker源
https://nextcloud.com/athome/
https://nextcloud.com/yourdata/