混合一個樹莓皮和廉價的外部硬碟灑在一起,你就有超低功耗和網路儲存裝置的食譜。請繼續閱讀,我們將向您展示如何設定自己的基於Pi的NAS。
擁有一個始終線上的網路儲存裝置的好處是,讓您的資料(或備份目標)始終可供網路內外的計算機訪問非常方便。在大多數情況下,缺點是為了方便而消耗了相當多的能量。
例如,我們的辦公伺服器全天候執行,每年耗電近200美元。另一方面,一個基於Raspberry-Pi的網路儲存裝置每年耗電約5美元。
我們將第一個授予您一個成熟的伺服器將有更多的儲存空間和做更多工作的能力(例如在合理的時間跨度內對一個多TB的影片集合進行轉碼)。然而,對於大多數人來說,在家裡的某個地方安裝一臺始終線上的計算機的主要目的是充當檔案伺服器和檔案備份儲存庫。對於這樣的任務,Raspberry-Pi是非常強大的,它將為您節省大量的用電變化。
本教程建立在我們之前的教程:HTG指南開始與樹莓Pi,我們假設你已經完成了,換句話說,你已經有了你的樹莓Pi,把它通電,掛鉤到滑鼠和鍵盤,你已經安裝了樹莓。
除了Raspberry Pi入門教程中所需的裝備外,您只需要以下硬體:
或
就這樣!如果你只是想要一個簡單的網路連線驅動器,你只需要一個硬碟驅動器。我們強烈建議至少使用兩個硬碟,以允許本地(在Raspberry Pi)資料冗餘。在本教程中,我們將使用一對匹配的Seagate Backup Plus 1TB行動式外部硬碟。他們是超小的,不需要外部電源,並在銷售時,我們正在採購零件。
您可以使用手頭的任何外部硬碟驅動器,但如果可能,最好使用小型低功耗驅動器,因為整個專案的主題是建立一個小型和低功耗的NAS,您可以把它塞進一邊,然後忘記。
在我們繼續之前,我們在配置Raspberry Pi NAS時做了幾個設計選擇,您應該知道。雖然大多數使用者希望完全按照我們的做法操作,但您可能希望調整具體步驟,以更好地滿足您的需要以及如何使用網路上的計算機。
首先,我們使用的是NTFS格式的硬碟。如果Raspberry Pi NAS由於某種原因出現故障,或者我們希望透過USB 3.0連線而不是透過網路快速複製資訊,那麼使用NTFS格式的磁碟可以非常簡單地將我們在NAS構建中使用的行動式USB驅動器直接**我們每天使用的眾多Windows機器之一。
第二,我們使用Samba作為我們的網路共享,同樣是因為將Raspberry Pi NAS與我們主要的Windows網路相結合很方便。
一旦你準備好了硬體,接下來就是Raspberry Pi入門教程,以獲得最新的速度(並且正在執行Raspian),現在是時候開始將Pi設定為NAS了。
第一個任務是將硬碟連線到Raspberry Pi(或連線的USB集線器,具體取決於您的配置以及硬碟是自供電還是外部供電)。一旦硬碟驅動器連線和Pi是時候開始工作了。
注意:我們使用兩個硬碟。如果您決定只使用一個硬碟驅動器,請忽略本節中用於裝載/修改或以其他方式與第二個硬碟驅動器互動的所有命令。
我們將在航站樓內完成所有工作。因此,您可以使用Raspian中的LXTerminal直接處理Raspberry Pi,也可以使用Putty之類的工具SSH到Raspberry Pi。兩種方式都可以。
一旦進入命令列,您需要做的第一件事就是為Ra**ian新增對NTFS格式磁碟的支援。為此,鍵入以下命令:
sudo apt-get install ntfs-3g
下載、解包和安裝這些軟體包需要一兩分鐘的時間。一旦安裝了NTFS包,就可以查詢連線的外部硬碟驅動器的未安裝分割槽了。
sudo fdisk -l
At minimum you should see two disks, if you’ve added in a secondary disk for data mirroring (as we have) you should see three like so:
第一個磁碟/dev/mmcb1k0是安裝了Raspbian的Raspberry Pi中的SD卡。我們要把那個完全放在一邊。
第二個磁碟/dev/sda是我們的第一個1TB外部硬碟。第三個磁碟/dev/sdb是我們的第二個1TB外部硬碟。在這兩個磁碟上,我們感興趣的實際分割槽分別是/sda1/和/sdb1/。記下硬碟名稱。
在裝載驅動器之前,我們需要建立一個目錄來裝載驅動器。為了簡單起見,我們將為每個驅動器建立名為USBHDD1和USBHDD2的目錄。首先我們要做驅動器。在命令列中輸入以下命令:
sudo mkdir /media/USBHDD1
sudo mkdir /media/USBHDD2
建立了兩個目錄之後,就可以將外部驅動器裝載到每個位置了。再次在命令列中輸入以下命令:
sudo mount -t auto /dev/sda1 /media/USBHDD1
sudo mount -t auto /dev/sdb1 /media/USBHDD2
此時,我們將兩個外部硬碟驅動器分別安裝到USBHDD1和USBHDD2目錄。現在是時候在兩個驅動器中新增一個特定的目錄來儲存我們的共享檔案夾了(為了保持事情的整潔和劃分我們在驅動器上的工作)。輸入以下命令:
sudo mkdir /media/USBHDD1/shares
sudo mkdir /media/USBHDD2/shares
現在是時候安裝Samba了,這樣我們就可以從網路上的其他地方訪問儲存了。在命令列中輸入:
sudo apt-get install samba samba-common-bin
當提示繼續時,鍵入Y並輸入。坐下來放鬆一下,所有的東西都開啟並安裝好了。一旦Samba包安裝完成,就可以進行一些配置了。在我們做任何其他事情之前,讓我們**Samba配置檔案的備份副本,以防我們需要恢復到它。在命令列中,鍵入以下命令列:
sudo cp /etc/samba/**b.conf /etc/samba/**b.conf.old
這只是用檔名建立配置檔案的備份**b.conf.old檔案並將其保留在與原始配置檔案相同的目錄中。
一旦我們建立了備份,就可以在Samba配置檔案中進行一些基本的編輯了。在命令列中鍵入以下內容:
sudo nano /etc/samba/**b.conf
這將開啟nano文字編輯器並允許我們進行一些簡單的更改。如果這是您第一次使用nano,我們強烈建議您檢視Linux命令列文字編輯器nano初學者指南。您應該在終端視窗中看到如下內容:
Nano完全由鍵盤控制,使用箭頭鍵將游標移動到要編輯的位置。當您單擊配置設定時,您將看到一些值得注意或更改的設定。
第一個是工作組識別符號,預設情況下workgroup=workgroup。如果您正在為家庭工作組使用不同的名稱,請繼續,現在將箭頭指向以更改該名稱,否則將其保留為預設名稱。
我們的下一站是為我們的samba儲存開啟使用者身份驗證,否則任何可以訪問我們網路的人(如來賓Wi-Fi使用者)都可以直接進入。在Samba配置檔案中向下滾動,直到到達以下部分:
從security=user行中刪除#符號(用游標高亮顯示並按delete鍵),以啟用Samba共享的使用者名稱/密碼驗證。
接下來,我們將向配置檔案中新增一個全新的部分。一直向下滾動到檔案的最底部,然後輸入以下文字:
[Backup] comment = Backup Folder path = /media/USBHDD1/shares valid users = @users force group = users create mask = 0660 directory mask = 0771 read only = no
注意:無論你把什麼放在括號中的頂行將是資料夾的名稱,因為它出現在網路共享。如果您想要其他名稱以外的“備份”現在是時候編輯它了。
按CTRL+X退出,當詢問是否要保留更改並覆蓋現有配置檔案時按Y。返回命令提示符時,輸入以下命令以重新啟動Samba守護程式:
sudo /etc/init.d/samba restart
此時,我們需要新增一個可以訪問Pi的samba共享的使用者。我們要用使用者名稱backups和密碼backups4建立一個帳戶。你可以隨意設定使用者名稱和密碼。為此,請鍵入以下命令:
sudo useradd backups -m -G users
sudo passwd backups
系統將提示您輸入兩次密碼以確認。確認密碼後,是時候作為合法的Samba使用者新增“備份”了。輸入以下命令:
sudo **bpasswd -a backups
出現提示時輸入備份帳戶的密碼。一旦建立了使用者帳戶和密碼,就不需要再次重新啟動Samba守護程序,因為我們已經指示它監視經過身份驗證的使用者。我們現在可以跳到網路上任何支援Samba的機器上,並測試與網路共享的連線。
從附近的windows機器上,我們開啟windows檔案資源管理器,單擊網路,確認主機名RASPBERRYPI在工作組工作組中,並單擊共享資料夾備份:
當出現提示時,輸入您在上一步中建立的憑據(如果您是按行操作,則登入名為backups,密碼為backups4ever)。
一旦您的憑據被接受,您將被視為一個空資料夾,因為共享中還沒有任何內容。為了再次檢查一切工作是否順利,讓我們從測試連線的計算機(在我們的例子中是Windows7桌面)建立一個簡單的檔案。建立一個txt檔案,如下所示:
現在,從我們一直在使用的命令列,讓我們檢查一下在Windows桌面上建立的檔案是否正確地顯示在我們建立的共享目錄中。在命令列中鍵入以下命令:
cd /media/USBHDD1/shares
ls
你好,你在找我嗎-for.txt檔案在目錄中;我們的簡單共享目錄實驗是成功的!
在我們離開本節教程之前,我們只有一件事要做。我們需要配置我們的Pi,這樣當它重新啟動時,它會自動掛載外部硬碟驅動器。為此,我們需要啟動nano編輯器並進行快速編輯。在命令列鍵入:
sudo nano /etc/fstab
這將開啟nano中的檔案系統表,以便我們可以新增一些快速條目。在nano編輯器中新增以下行:
/dev/sda1 /media/USBHDD1 auto noatime 0 0
/dev/sda2 /media/USBHDD2 auto noatime 0 0
按CTRL+X退出,按Y儲存,然後覆蓋現有檔案。
如果您只使用一個硬碟驅動器進行簡單的網路共享,沒有冗餘,那麼就這樣!您已經完成了配置過程,可以開始享受超低功耗NAS。
到目前為止,我們的Raspberry Pi NAS已連線到網路,檔案傳輸工作正常,但缺少一個明顯的東西。輔助硬碟已配置,但處於完全空閒狀態。
在本教程的這一節中,我們將使用兩個簡單但功能強大的Linux工具rsync和cron來配置Raspberry Pi NAS,以執行從主驅動器上的/shares/資料夾到輔助驅動器上的/shares/資料夾的夜間資料映象。這不是像RAID那樣的實時資料映象,但是每天(或半每天)將資料備份到輔助驅動器是增加另一層資料安全性的好方法。
首先,我們需要將rsync新增到我們的Ra**ian安裝中。如果這是您第一次使用rsync,並且您希望更好地瞭解該命令,我們建議您瞭解如何使用rsync在Linux上備份資料。
在命令列中輸入以下命令:
sudo apt-get install rsync
一旦安裝了rsync,就應該設定cron作業來自動化將檔案從USBHDD1複製到USBHDD2的過程。在命令列中輸入以下命令:
crontab -e
該命令將在nano文字編輯器中開啟cron排程表,在本教程的這一點上您應該非常熟悉。繼續並向下滾動到文件底部,然後輸入以下行:
0 5 * * * rsync -av --delete /media/USBHDD1/shares /media/USBHDD2/shares/
此命令指定每天5:00AM(0.5部分)、每一天(***,年、月、日點的萬用字元),我們希望rsync比較這兩個目錄,複製從HDD1到HDD2的所有內容,並刪除備份目錄中與主目錄中的內容不再匹配的任何內容(即,如果我們有電影檔案)在HDD1上,我們刪除,我們還希望在下次同步時從備份中刪除該檔案。
有關配置此命令的重要部分是,您可以選擇一個時間,該時間不會干擾您可能已計劃的共享資料夾的任何其他網路活動。例如,如果您使用Raspberry Pi NAS作為某種自動化軟體的備份目標,該軟體會在每天早上5點將檔案複製到NAS,然後,您需要調整備份軟體中的備份時間,或者需要調整Pi上cron作業的時間,但不能同時讓遠端備份將資料轉儲到網路共享和Raspberry Pi嘗試在本地驅動器之間同步資料。
輸入crontab條目後,單擊CTRL+X退出並儲存檔案。如果您希望立即執行rsync以更快地映象資料,並使系統上的初始cron作業更輕鬆一些,請繼續並在命令列中輸入您在crontab中輸入的rsync命令,如下所示:
rsync -av --delete /media/USBHDD1/shares /media/USBHDD2/shares/
就這樣!此時您只需在接下來的一兩天內簽入Raspberry Pi,以確保計劃的作業按預期啟動,並且來自/USBHDD1/shares/的資料顯示在/USBHDD2/shares/中。
從現在開始,你在Raspberry Pi供電的NAS中輸入的任何內容都將每天在兩個硬碟上映象。
在我們完全離開本主題之前,以下是一些附加的How To Geek文章,您可能希望檢視這些文章,以便為新的Raspberry Pi供電的NAS新增更多活力:
有一個樹莓皮專案,你願意看到我們承擔?無論大小,我們都喜歡玩弄圓周率的聲音,在評論中說出你的想法。
...碼和使用者名稱可以更改,防火牆可以安裝,你甚至可以把樹莓皮鎖起來,因為它足夠小!同樣重要的是,不必要地將Pi放到網路上的風險。 ...
... 然後如何使用樹莓圓周率拍攝時間推移是由你決定的。你可能需要一個行動式電池解決方案,三腳架可能會再次有用。這一次,你可能更喜歡智慧**的三腳架(夾子應該完全適...
總是喜歡樹莓皮,但還沒來得及做?有這麼多版本的董事會,很容易分心。你要的是覆盆子皮3B+嗎?或者你應該考慮較早的樹莓皮3,或後來的樹莓皮4? ...
... 一個詳細的影片(上圖)伴隨著這個構建。您將學習如何構建電池組、連線充電器和升壓轉換器,甚至擴充套件USB埠以提高可訪問性。 ...
... 下面介紹如何在Raspberry Pi上安裝Plex伺服器,配置它,並開始流式傳輸您喜愛的電影、電視節目、音樂、家庭照片和其他媒體檔案。 ...
...道什麼連線到你的家庭網路嗎?你可能會感到驚訝。瞭解如何在Linux上使用nmap進行檢查,這將允許您瀏覽連線到網路的所有裝置。 你可能會認為你的家庭網路非常簡單,深入研究它沒有什麼可以學到的。你也許是對的,但很可...
...容量、已用空間和可用空間以及它們的裝載點。 相關:如何從Linux終端檢視可用磁碟空間和磁碟使用情況 重新安裝fstab中的所有檔案系統 在引導時掛載的所有檔案系統都在名為fstab的檔案中有條目,fstab是位於/etc中的檔案系統表...