用樹莓派打造一個NAS

你有閒置的移動硬盤和樹莓派嗎?你可以用這些來打造一個廉價而且低能耗的NAS。最後的效果肯定比不上售價500美刀的NAS,比如Synology DiskStation出品的那些。但可以搭建出一個低能耗的網絡存儲平臺——而且特別適用於已經厭倦了國家安全局的數據監控的那些人,你可以把數據藏在這個“小閣樓”裏。

 

你需要一個樹莓派,和一兩個閒置着的移動硬盤。體積較小的2.5硬盤可以由USB接口直接供電,但是我們需要一個帶有供電功能的USB分線器,因爲樹莓派的USB接口提供的電是不足以給移動硬盤供電的。除此之外你也可以用U盤,甚至是一張SD卡。事實上我現在在用的就是一個USB口的移動硬盤和一個U盤搭建的,操作流程都是一樣的。

只用一個硬盤,也可以搭建分享文件的網絡存儲器,但是用兩個硬盤,就可以設置數據備份,以防有一個硬盤壞掉。

 

準備硬盤

最初的步驟是在臺式機上格式化硬盤。這是爲了方便,如果出了問題,我們可以把硬盤從NAS上拔下來,還可以在一臺PC上讀上面的數據。

可以在樹莓派上格式化,但是會花上幾個小時,從臺式機上格式化會快很多。現在就去做吧。

設置SSH,開啓root用戶,首先爲root用戶設置密碼:
sudo -i
passwd root
(輸入你的密碼)

然後在命令行下面運行raspi-config腳本,可以用sudo命令,也可以註銷當前用戶,然後以root用戶的身份登陸。在高級選項菜單中,開啓SSH。

重啓後,你應該可以從聯網的另一臺機器登陸(如果在windows上,可以使用Putty):
SSH root@[IP地址]

登陸之後,搞清楚插上去的硬盤在/dev下面的編號是什麼。下文假設使用兩個硬盤,創建數據備份。輸入
fdisk -l

會顯示出已經掛載的存儲設備。你應該看到類似於這樣的畫面:

/dev/mmc是樹莓派系統的分區,mmc指的是SD卡。/dev/sda1和/dev/sdb1和SD卡沒有關係,這些是你插上去的USB硬盤(本意是SCSI驅動器,但是現在用來指任何SATA口的或其他存儲器)

安裝ntfs-3g模塊,於是我們就能讀寫NTFS格式的硬盤了。
apt-get install ntfs-3g

然後創建一個目錄,以這個目錄作爲掛載點掛載硬盤。爲簡單起見,下文用1和2來指代。
mkdir /media/1
mkdir /media/2
mount -t auto /dev/sda1 /media/1
mount -t auto /dev/sdb1 /media/2
mkdir /media/1/shares
mkdir /media/2/shares

 

Samba

下一步我們來設置Samba。Samba是Windows使用的網絡文件共享協議(最新的OSX Mavericks也支持)
apt-get install samba
apt-get install samba-common-bin
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
nano /etc/samba/smb.conf

如果你不熟悉這類配置文件,行首的#表示這一行是註釋,於是這一行的配置也就不會生效。要開啓一項功能,可以自己添加一行,也可以把某一行前面的註釋符號去掉,讓它生效。

我們先來啓動用戶安全;按下CTRL-W然後輸入”security”,來找到相關的選項。去掉這一行前面的註釋符號:
security = user

然後,移動到文本末尾(或者按住CTRL V直到移動到了末尾),添加網絡共享,數目取決於你自己的需求。使用這種格式:
[test] comment = Test share
Path = /media/1/shares
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
read only = no

只有第一塊硬盤的配置——之後我們將用第二塊硬盤和第一塊同步,以進行備份。

完成編輯之後,按下CTRL X然後按y來退出。

然後用下面的命令重啓Samba。
service samba restart

現在給你的樹莓派添加一個用戶,假設你不想用同一個用戶來訪問(下文的”jamie”是用戶名)
useradd jamie -m -G users

輸入下面的命令給新用戶設置密碼,完成後確認。
passwd jamie

然後我們把這個用戶加入到Samba中。你需要兩次確認你的密碼。
smbpasswd -a jamie

然後就去測試網絡存儲功能吧,應該可以在其他機器上看到了(Windows或Mac),而且你應該可以往上面寫入文件。

現在還剩一個問題,你重啓樹莓派,驅動器的掛載就會失效。爲了解決這個問題,我們需要安裝autofs。
apt-get install autofs
nano /etc/auto.master
在+auto.master下面加入一行:
/media/ /etc/auto.ext-usb –timeout=10,defaults,user,exec,uid=1000

現在就可以安全重啓,不會破壞配置了。

數據備份

如果你安裝了兩個硬盤,我們現在就可以用一個腳本來同步數據,如果一塊硬盤壞了,還有一份備份的。我們用rsync來做備份。
apt-get install rsync
crontab -e

linux下面的crontab是用來自動運行某個任務的一個軟件。加上這一行:

30 5 * * * rsync -av –delete /media/1/shares /media/2/shares/

數字的格式是這樣子的:
分鐘|小時|一個月中哪一天|月份|一個星期中哪一天

所以我們加進去的那一行,rsync命令會在每天的早晨5點30分運行(*通配符表示“所有”,所以會在“每個月的每一天”運行)

如果你想立刻進行一次備份,只要粘貼這個rsync的命令:
rsync -av –delete /media/1/shares /media/2/shares/

取決於共享文件夾裏放的東西,耗費的時間可能只要幾秒鐘,也可能會長一些,在完成之後會給你一個報告。rsync最棒的地方在於它會記錄哪些文件更新了,哪些文件添加近來或是應該被刪除。你可以再試一遍那個命令,應該立刻就會完成的,因爲rsync知道沒有文件發生了變動。

教程到這裏就結束了——現在你搭建起了自己的NAS,雖然細節上有待改進,但是現在就可以用起來了。雖然沒有市面上出售的NAS那些華麗的特性,但是它也能漂亮地完成任務,而且耗電會少很多。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章