樹莓派自建 NAS 雲盤之——樹莓派搭建網路儲存盤
跟隨這些逐步指導構建你自己的基於樹莓派的 NAS 系統。
我將在接下來的這三篇文章中講述如何搭建一個簡便、實用的 NAS 雲盤系統。我在這個中心化的儲存系統中儲存資料,並且讓它每晚都會自動的備份增量資料。本系列文章將利用 NFS 檔案系統將磁碟掛載到同一網路下的不同裝置上,使用 Nextcloud 來離線訪問資料、分享資料。
本文主要講述將資料盤掛載到遠端裝置上的軟硬體步驟。本系列第二篇文章將討論資料備份策略、如何新增定時備份資料任務。最後一篇文章中我們將會安裝 Nextcloud 軟體,使用者通過 Nextcloud 提供的 web 介面可以方便的離線或線上訪問資料。本系列教程最終搭建的 NAS 雲盤支援多使用者操作、檔案共享等功能,所以你可以通過它方便的分享資料,比如說你可以傳送一個加密連結,跟朋友分享你的照片等等。
最終的系統架構如下圖所示:
硬體
首先需要準備硬體。本文所列方案只是其中一種示例,你也可以按不同的硬體方案進行採購。
最主要的就是樹莓派 3,它帶有四核 CPU、1G RAM,以及(比較)快速的網路介面。資料將儲存在兩個 USB 磁碟驅動器上(這裡使用 1TB 磁碟);其中一個磁碟用於每天資料儲存,另一個用於資料備份。請務必使用有源 USB 磁碟驅動器或者帶附加電源的 USB 集線器,因為樹莓派無法為兩個 USB 磁碟驅動器供電。
軟體
在該社群中最活躍的作業系統當屬 Raspbian,便於定製個性化專案。已經有很多 操作指南 講述如何在樹莓派中安裝 Raspbian 系統,所以這裡不再贅述。在撰寫本文時,最新的官方支援版本是 Raspbian Stretch,它對我來說很好使用。
到此,我將假設你已經配置好了基本的 Raspbian 系統並且可以通過 ssh
訪問到你的樹莓派。
準備 USB 磁碟驅動器
為了更好地讀寫資料,我建議使用 ext4 檔案系統去格式化磁碟。首先,你必須先找到連線到樹莓派的磁碟。你可以在 /dev/sd/<x>
中找到磁碟裝置。使用命令 fdisk -l
,你可以找到剛剛連線的兩塊 USB 磁碟驅動器。請注意,操作下面的步驟將會清除 USB 磁碟驅動器上的所有資料,請做好備份。
pi@raspberrypi:~ $ sudo fdisk -l
<...>
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xe8900690
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 1953525167 1953523120 931.5G 83 Linux
Disk /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x6aa4f598
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 1953521663 1953519616 931.5G 83 Linux
由於這些裝置是連線到樹莓派的唯一的 1TB 的磁碟,所以我們可以很容易的辨別出 /dev/sda
和 /dev/sdb
就是那兩個 USB 磁碟驅動器。每個磁碟末尾的分割槽表提示了在執行以下的步驟後如何檢視,這些步驟將會格式化磁碟並建立分割槽表。為每個 USB 磁碟驅動器按以下步驟進行操作(假設你的磁碟也是 /dev/sda
和 /dev/sdb
,第二次操作你只要替換命令中的 sda
為 sdb
即可)。
首先,刪除磁碟分割槽表,建立一個新的並且只包含一個分割槽的新分割槽表。在 fdisk
中,你可以使用互動單字母命令來告訴程式你想要執行的操作。只需要在提示符 Command(m for help):
後輸入相應的字母即可(可以使用 m
命令獲得更多詳細資訊):
pi@raspberrypi:~ $ sudo fdisk /dev/sda
Welcome to fdisk (util-linux 2.29.2).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): o
Created a new DOS disklabel with disk identifier 0x9c310964.
Command (m for help): n
Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): p
Partition number (1-4, default 1):
First sector (2048-1953525167, default 2048):
Last sector, +sectors or +size{K,M,G,T,P} (2048-1953525167, default 1953525167):
Created a new partition 1 of type 'Linux' and of size 931.5 GiB.
Command (m for help): p
Disk /dev/sda: 931.5 GiB, 1000204886016 bytes, 1953525168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x9c310964
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 1953525167 1953523120 931.5G 83 Linux
Command (m for help): w
The partition table has been altered.
Syncing disks.
現在,我們將用 ext4 檔案系統格式化新建立的分割槽 /dev/sda1
:
pi@raspberrypi:~ $ sudo mkfs.ext4 /dev/sda1
mke2fs 1.43.4 (31-Jan-2017)
Discarding device blocks: done
<...>
Allocating group tables: done
Writing inode tables: done
Creating journal (1024 blocks): done
Writing superblocks and filesystem accounting information: done
重複以上步驟後,讓我們根據用途來對它們建立標籤:
pi@raspberrypi:~ $ sudo e2label /dev/sda1 data
pi@raspberrypi:~ $ sudo e2label /dev/sdb1 backup
現在,讓我們安裝這些磁碟並儲存一些資料。以我運營該系統超過一年的經驗來看,當樹莓派啟動時(例如在斷電後),USB 磁碟驅動器並不是總被掛載,因此我建議使用 autofs 在需要的時候進行掛載。
首先,安裝 autofs 並建立掛載點:
pi@raspberrypi:~ $ sudo apt install autofs
pi@raspberrypi:~ $ sudo mkdir /nas
然後新增下面這行來掛載裝置 /etc/auto.master
:
/nas /etc/auto.usb
如果不存在以下內容,則建立 /etc/auto.usb
,然後重新啟動 autofs 服務:
data -fstype=ext4,rw :/dev/disk/by-label/data
backup -fstype=ext4,rw :/dev/disk/by-label/backup
pi@raspberrypi3:~ $ sudo service autofs restart
現在你應該可以分別訪問 /nas/data
以及 /nas/backup
磁碟了。顯然,到此還不會令人太興奮,因為你只是擦除了磁碟中的資料。不過,你可以執行以下命令來確認裝置是否已經掛載成功:
pi@raspberrypi3:~ $ cd /nas/data
pi@raspberrypi3:/nas/data $ cd /nas/backup
pi@raspberrypi3:/nas/backup $ mount
<...>
/etc/auto.usb on /nas type autofs (rw,relatime,fd=6,pgrp=463,timeout=300,minproto=5,maxproto=5,indirect)
<...>
/dev/sda1 on /nas/data type ext4 (rw,relatime,data=ordered)
/dev/sdb1 on /nas/backup type ext4 (rw,relatime,data=ordered)
首先進入對應目錄以確保 autofs 能夠掛載裝置。autofs 會跟蹤檔案系統的訪問記錄,並隨時掛載所需要的裝置。然後 mount
命令會顯示這兩個 USB 磁碟驅動器已經掛載到我們想要的位置了。
設定 autofs 的過程容易出錯,如果第一次嘗試失敗,請不要沮喪。你可以上網搜尋有關教程。
掛載網路儲存
現在你已經設定了基本的網路儲存,我們希望將它安裝到遠端 Linux 機器上。這裡使用 NFS 檔案系統,首先在樹莓派上安裝 NFS 伺服器:
pi@raspberrypi:~ $ sudo apt install nfs-kernel-server
然後,需要告訴 NFS 伺服器公開 /nas/data
目錄,這是從樹莓派外部可以訪問的唯一裝置(另一個用於備份)。編輯 /etc/exports
新增如下內容以允許所有可以訪問 NAS 雲盤的裝置掛載儲存:
/nas/data *(rw,sync,no_subtree_check)
更多有關限制掛載到單個裝置的詳細資訊,請參閱 man exports
。經過上面的配置,任何人都可以訪問資料,只要他們可以訪問 NFS 所需的埠:111
和 2049
。我通過上面的配置,只允許通過路由器防火牆訪問到我的家庭網路的 22 和 443 埠。這樣,只有在家庭網路中的裝置才能訪問 NFS 伺服器。
如果要在 Linux 計算機掛載儲存,執行以下命令:
you@desktop:~ $ sudo mkdir /nas/data
you@desktop:~ $ sudo mount -t nfs <raspberry-pi-hostname-or-ip>:/nas/data /nas/data
同樣,我建議使用 autofs 來掛載該網路裝置。如果需要其他幫助,請參看 如何使用 Autofs 來掛載 NFS 共享。
現在你可以在遠端裝置上通過 NFS 系統訪問位於你樹莓派 NAS 雲盤上的資料了。在後面一篇文章中,我將介紹如何使用 rsync
自動將資料備份到第二個 USB 磁碟驅動器。你將會學到如何使用 rsync
建立增量備份,在進行日常備份的同時還能節省裝置空間。
via: https://opensource.com/article/18/7/network-attached-storage-Raspberry-Pi
作者:Manuel Dewald 選題:lujun9972 譯者:jrg 校對:wxy
相關文章
- 樹莓派自建 NAS 雲盤之——雲盤構建樹莓派
- 樹莓派自建 NAS 雲盤之——資料自動備份樹莓派
- 利用NextCloud在樹莓派4b上搭建網盤Cloud樹莓派
- 樹莓派使用入門:如何更新樹莓派樹莓派
- 樹莓派搭建git伺服器 | 樹莓派小無相系列樹莓派Git伺服器
- 樹莓派是什麼 樹莓派能做什麼 樹莓派的功能用途樹莓派
- 樹莓派使用入門:用樹莓派學 Linux樹莓派Linux
- 樹莓派使用樹莓派
- 樹莓派搭建下載機樹莓派
- 樹莓派使用入門:慶祝樹莓派的 14 天樹莓派
- 樹莓派使用入門:如何用樹莓派來娛樂樹莓派
- 樹莓派使用入門:如何購買一個樹莓派樹莓派
- 樹莓派CM4(四):樹莓派映象替換核心樹莓派
- 樹莓派4b 搭建網路攝像頭樹莓派
- 樹莓派筆記樹莓派筆記
- 樹莓派配置watchdog樹莓派
- 樹莓派與FileZilla樹莓派
- 使用樹莓派搭建區域網監控樹莓派
- 樹莓派使用入門:如何為樹莓派社群做出貢獻樹莓派
- 「玩轉樹莓派」樹莓派 3B+ 配置無線WiFi樹莓派WiFi
- 利用樹莓派和閒置硬碟,搭建起家中的個人網盤樹莓派硬碟
- 樹莓派使用入門:如何啟動一個新的樹莓派樹莓派
- 樹莓派 | 修改樹莓派3熱點的名稱和密碼樹莓派密碼
- 使用樹莓派搭建Ubuntu伺服器樹莓派Ubuntu伺服器
- 樹莓派外網ssh訪問樹莓派
- 樹莓派安裝nodejs樹莓派NodeJS
- 樹莓派 -入門篇樹莓派
- 樹莓派安裝 vscode樹莓派VSCode
- 樹莓派-進階篇樹莓派
- 樹莓派 4 來襲!樹莓派
- 樹莓派raspiOS換源樹莓派iOS
- 樹莓派桌面體驗樹莓派
- (二)樹莓派配置MySQL樹莓派MySql
- 樹莓派 —— ubuntu上透過netplan配置網路樹莓派Ubuntu
- 從網際網路遠端訪問樹莓派樹莓派
- 教你如何使用樹莓派搭建區域網監控樹莓派
- 樹莓派3B安裝64位作業系統(樹莓派無需連線顯示器鍵盤滑鼠)樹莓派作業系統
- 樹莓派3B搭建Flink叢集樹莓派