樹莓派-家庭NAS(1) http://www.reibang.com/p/9be7ada37863
樹莓派-家庭NAS(2) http://www.reibang.com/p/91405ca824b8
樹莓派-家庭NAS(3) http://www.reibang.com/p/80777ed85246
需求
本人是一個(gè)軟件行業(yè)從業(yè)者材义,在平常會(huì)關(guān)注各式各樣的電子設(shè)備、也會(huì)了解各種各樣的技術(shù)窍奋。經(jīng)過多年的學(xué)習(xí)和實(shí)踐后發(fā)現(xiàn)自己有各種各樣的資料需要保存冬筒。還有自己在學(xué)習(xí)過程中總結(jié)出的各式的內(nèi)容娘荡。所以,就一直在研究怎么把這些東西存儲(chǔ)起來。
最開始我非常討厭有自己的電腦觉渴,因?yàn)楹芏鄷r(shí)候網(wǎng)絡(luò)的誘惑會(huì)非常的大。我沒有那么強(qiáng)大的能力去抵制這些誘惑徽惋,所以一直就不準(zhǔn)備給自己購買電腦案淋,電視,游戲機(jī)等等電子設(shè)備险绘。但會(huì)持續(xù)的關(guān)注踢京。(現(xiàn)在使用的電腦,還是我老婆的電腦(^-^)!)
沒有電腦宦棺,就意味著沒有地方去存儲(chǔ)資料瓣距。最開始的時(shí)候,大概是2012年左右從零擔(dān)上買了一塊300G的硬盤代咸。那時(shí)候硬盤還很貴蹈丸,這塊硬盤應(yīng)該是500塊大洋。一直就存著各種各樣的文件呐芥。后來用百度云(最早的時(shí)候百度云盤叫百度云逻杖,后來百度為了開展自己的云產(chǎn)品才改了名),那時(shí)候用了很多方法去免費(fèi)的增大自己的百度云盤思瘟。但后來荸百,百度云盤開始對(duì)版權(quán),敏感信息進(jìn)行過濾滨攻。很多東西都沒有辦法存儲(chǔ)到百度云盤上够话。并且國內(nèi)的環(huán)境越來越差,國外的Dropbox光绕、Google Drive更鲁、Microsoft OneDrive……國內(nèi)的360云盤(已掛)、華為網(wǎng)盤(已掛)奇钞、UC網(wǎng)盤(已掛)澡为、金山快盤(已掛)、新浪微盤(已掛)景埃、迅雷快盤(已掛)媒至。所以說不定哪天百度云盤也掛了顶别。所以一直在探索個(gè)人/家庭存儲(chǔ)解決方案。
后來慢慢的了解到有很多的廠商已經(jīng)想到并已經(jīng)解決了個(gè)人/家庭存儲(chǔ)的問題拒啰,甚至還能解決部分家庭計(jì)算的需求驯绎。所以,了解了一些這方面的商業(yè)化廠商或產(chǎn)品谋旦。
群暉剩失、威聯(lián)通、鐵威馬册着。家用NAS設(shè)備的三大廠商拴孤。小米路由器 HD,華為榮耀立方甲捏,華三魔術(shù)家等帶硬盤的路由器演熟。這些廠商和設(shè)備都能幫我們解決存儲(chǔ)的問題,并且還有其他的功能加入司顿。為我們的"家庭計(jì)算中心"芒粹,提供了可能。為之后智能家庭提供了最基礎(chǔ)的硬件支持大溜。
功能分析
上面提到了很多廠商和設(shè)備化漆。如果機(jī)遇這些設(shè)備提供的功能的去評(píng)估設(shè)備的價(jià)值/價(jià)格是非常合適的。如果有經(jīng)濟(jì)能力钦奋、或者沒有很多的閑暇時(shí)間获三,購買這樣的設(shè)備覺得是物超所值的。
但是锨苏,本人是一個(gè)喜歡折騰的人疙教。并且從前一篇文章可以知道我為了"折騰"買了樹莓派。所以伞租,就想怎樣基于樹莓派搭建《家用NAS》或者《個(gè)人網(wǎng)盤》贞谓。下面大概的分析一下《家用NAS》平臺(tái)所需要的功能:
編號(hào) | 功能 | 描述 | 備注 |
---|---|---|---|
1 | 家庭部署 | 1.設(shè)備管理權(quán),數(shù)據(jù)歸屬權(quán)全部都由個(gè)人負(fù)責(zé)葵诈。 2.設(shè)備所處的網(wǎng)絡(luò)也需要控制裸弦。 3.數(shù)據(jù)安全有控制方法。 |
|
2 | 文件共享 | 1.需要在家庭內(nèi)各種設(shè)備上都能訪問文件作喘。 2.可以控制訪問權(quán)限理疙。不同的成員訪問不同的目錄。 |
|
3 | 存儲(chǔ)能力 | 1.有存儲(chǔ)能力泞坦,并可以進(jìn)行存儲(chǔ)的擴(kuò)展窖贤。 2.可以支持?jǐn)?shù)據(jù)的備份與故障恢復(fù)。 |
|
4 | 遠(yuǎn)程同步 | 1.可以在外面的時(shí)候(公司、旅游等)赃梧,將數(shù)據(jù)同步到家用NAS上滤蝠。 2.可以在外面的時(shí)候訪問家用NAS上的數(shù)據(jù)。 |
|
5 | 遠(yuǎn)程管理 | 1.支持遠(yuǎn)程管理授嘀,可以在外面的時(shí)候?qū)Σ榭醇矣肗AS的狀態(tài)物咳。 2.可以支持?jǐn)U展接入其他家用設(shè)備,并控制蹄皱。 |
|
6 | 離線下載 | 1.可以在家用NAS設(shè)備上進(jìn)行離線下載操作览闰。 2.查看離線下載進(jìn)度,控制下載到目錄等巷折。 |
|
7 | 各種終端 | 1.需要支持PC端管理功能压鉴。 2.需要支持手機(jī)端管理功能。 |
|
8 | 影音中心 | 1.可以進(jìn)行DLNA盔几,WebDav等協(xié)議 | |
9 | 很多應(yīng)用 | 可以支持很多應(yīng)用晴弃,如:百度網(wǎng)盤同步掩幢,家用監(jiān)控存儲(chǔ)逊拍,遠(yuǎn)程家用設(shè)備控制,IFTTT等 |
因?yàn)槭羌矣迷O(shè)備际邻,所以這里考慮安全芯丧,可用性方面的內(nèi)容少一些。家用NAS基本上可以上傳下載世曾,可以看視頻基本上就夠用了缨恒。所以其他方面的內(nèi)容不再這里考慮。所以這個(gè)方案不適用與公司內(nèi)部文件共享轮听,網(wǎng)站文件存儲(chǔ)等方面骗露。
開源軟件研究
有了上面的需求,就有了目標(biāo)血巍。開始研究開源軟件萧锉,使用開源軟件把整體的環(huán)境搭建起來。因?yàn)槭腔跇漭傻募矣肗AS解決方案述寡,所以柿隙,都會(huì)基于樹莓派上的一些解決方案進(jìn)行。
樹莓派上又多種方式開源項(xiàng)目鲫凶,或者免費(fèi)項(xiàng)目禀崖。可以簡單的分為:樹莓派操作系統(tǒng)鏡像螟炫,應(yīng)用軟件波附,Docker鏡像。一項(xiàng)一項(xiàng)的看看這些形式的項(xiàng)目的支持:
-
樹莓派操作系統(tǒng)鏡像:
LibreELEC,KODI叶雹,OSMC是樹莓派官方上能找到的幾個(gè)影音系統(tǒng)的樹莓派鏡像财饥。這幾個(gè)系統(tǒng)都是國外的大神開發(fā)的,所以對(duì)國內(nèi)的情況支持較少折晦。例如之前使用LibreELEC想看個(gè)Bilibili都沒有插件進(jìn)行擴(kuò)展钥星,國內(nèi)的各大視頻網(wǎng)站的支持也很弱。操作起來比較像是一個(gè)機(jī)頂盒满着,所以必須把設(shè)備放在電視附近使用HDMI進(jìn)行連接谦炒。比較限制使用方式,所以在這里不考慮這幾個(gè)系統(tǒng)风喇。
Raspbian是樹莓派基于Debian的一個(gè)純凈版本宁改。可以使用操作系統(tǒng)界面魂莫,也可以使用命令行方式安裝还蹲。
CentOS也有專門的樹莓派版本,不過支持的比較差耙考。在使用一段時(shí)間后莫名其妙的啟動(dòng)不了谜喊,不支持ntfs-3g文件系統(tǒng),安裝軟件各種不支持樹莓派版本倦始。所以斗遏,CentOS的樹莓派支持還是差一些的。
-
樹莓派應(yīng)用:
樹莓派上有些應(yīng)用層的軟件鞋邑,例如:OpenMediaVault诵次,F(xiàn)reeNAS,RaspNAS枚碗。這些應(yīng)用層軟件可以使用多種方式安裝逾一,有些大神已經(jīng)把這些系統(tǒng)生成了樹莓派鏡像,可以直接下載刷到SD卡上就可以用肮雨。也可以根據(jù)安裝步驟進(jìn)行應(yīng)用層的安裝遵堵。
在樹莓派上安裝這些軟件之后,使用時(shí)發(fā)現(xiàn)一些問題酷含。在使用OpenMediaVault時(shí)發(fā)現(xiàn)鄙早,這個(gè)系統(tǒng)支持RAID。厲害了支持RAID方式的磁盤管理椅亚,不過要支持RAID就需要多塊硬盤限番。在沒有多塊硬盤的情況下使用這些軟件完成NAS的部署,比較困難呀舔。并且弥虐,在樹莓派上運(yùn)行這些程序事也會(huì)發(fā)現(xiàn)一些不穩(wěn)定的問題扩灯,并且對(duì)終端支持的種類也有限,要不就是終端軟件是收費(fèi)的了霜瘪。所以珠插,整體考慮這幾個(gè)應(yīng)用系統(tǒng)不可用。不過有一些大神也使用這幾個(gè)系統(tǒng)去實(shí)現(xiàn)NAS颖对,可能大神們對(duì)這些系統(tǒng)進(jìn)行了改造捻撑。
Seafile - 開源的企業(yè)私有網(wǎng)盤。國產(chǎn)的私有化部署網(wǎng)盤系統(tǒng)缤底,不過對(duì)樹莓派的支持稍差一些顾患。因?yàn)镾eafile是使用Python語言開發(fā)的,可以使用Sqlite3作為數(shù)據(jù)庫个唧。但是在安裝過程中會(huì)和其他的軟件依賴發(fā)成沖突江解,并且不支持樹莓派上使用Docker作為環(huán)境隔離。
Pydio | Enterprise File Sharing & Sync Platform徙歼。也是一個(gè)不錯(cuò)的應(yīng)用軟件犁河,比較遺憾的是不支持樹莓派。 -
樹莓派Docker鏡像:
NextCloud魄梯,ownCloud桨螺,Samba,aria2等等画恰∨硭可以滿足家用NAS的基本要求吸奴。但是需要進(jìn)行組裝工作允扇。還可以進(jìn)行環(huán)境隔離,不影響其他軟件的運(yùn)行则奥。
離線下載之前使用過迅雷的linux版本考润,但是及其不穩(wěn)定,而且已經(jīng)停止維護(hù)了读处。所以在樹莓派上沒有比較好的離線下載工具糊治。
解決方案設(shè)計(jì)
綜上的開源軟件的調(diào)研,發(fā)現(xiàn)沒有現(xiàn)成的罚舱、完善的解決方案可以滿足我們上面提到的軟件需求井辜。需要進(jìn)行組裝才能完成。俗話說的自己動(dòng)手豐衣足食管闷,所以先整一個(gè)整體方案粥脚。
分幾個(gè)部分:訪問側(cè),設(shè)備側(cè)包个,設(shè)備刷允。其中各部分的意義為:
-
訪問側(cè):
訪問側(cè)主要解決在公網(wǎng)上訪問NAS服務(wù)的網(wǎng)絡(luò)可達(dá)。這里因?yàn)榧依锸褂玫氖请娦诺木W(wǎng)絡(luò),所以是有公網(wǎng)IP的树灶。這里只需要解決路由器與樹莓派之間的端口映射以及撥號(hào)后IP的只變更的問題既可以纤怒。如果是其他網(wǎng)絡(luò),沒有公網(wǎng)IP的情況可以借助于花生殼等類似技術(shù)完成天通。
-
設(shè)備側(cè):
設(shè)備側(cè)主要是運(yùn)行的軟件泊窘。負(fù)責(zé)有Samba,NextCloud組成像寒。Samba用于家庭內(nèi)部的文件共享州既,端口不對(duì)外開放。NextCloud主要完成家庭網(wǎng)盤功能萝映,可以在公網(wǎng)訪問吴叶。
-
設(shè)備:
設(shè)備為上層運(yùn)行的軟硬件環(huán)境。設(shè)備上硬件主要是有路由器序臂、樹莓派和西數(shù)硬盤組成硬件蚌卤,Raspbian為樹莓派操作系統(tǒng),Docker為軟件運(yùn)行環(huán)境奥秆。
以上從需求來源到調(diào)研軟件逊彭,然后在形成整體解決方案。下一篇文章將會(huì)介紹其中的具體操作過程构订。
參見
Dietpi玩轉(zhuǎn)SBC
Plex完美個(gè)人影音云盤搭建教程-Plex Media Server安裝與使用方法
利用Pydio搭建免費(fèi)私有云存儲(chǔ)-多終端自動(dòng)同步可在線播放音樂視頻
Oneinstack安裝NextCloud以及使用Aria2離線下載和ocDownloader插件配置
用樹莓派制造一個(gè)像樣的 NAS
推薦幾個(gè)樹莓派 raspbian 系統(tǒng) 可用的 arm docker源
https://nextcloud.com/athome/
https://nextcloud.com/yourdata/