樹莓派自建 NAS 雲盤之——樹莓派搭建網絡存儲盤 | Linux 中國

2021-02-14 Linux中國

跟隨這些逐步指導構建你自己的基於樹莓派的 NAS 系統。

我將在接下來的這三篇文章中講述如何搭建一個簡便、實用的 NAS 雲盤系統。我在這個中心化的存儲系統中存儲數據,並且讓它每晚都會自動的備份增量數據。本系列文章將利用 NFS 文件系統將磁碟掛載到同一網絡下的不同設備上,使用 Nextcloud[1] 來離線訪問數據、分享數據。

本文主要講述將數據盤掛載到遠程設備上的軟硬體步驟。本系列第二篇文章將討論數據備份策略、如何添加定時備份數據任務。最後一篇文章中我們將會安裝 Nextcloud 軟體,用戶通過 Nextcloud 提供的 web 界面可以方便的離線或在線訪問數據。本系列教程最終搭建的 NAS 雲盤支持多用戶操作、文件共享等功能,所以你可以通過它方便的分享數據,比如說你可以發送一個加密連結,跟朋友分享你的照片等等。

最終的系統架構如下圖所示:

硬體

首先需要準備硬體。本文所列方案只是其中一種示例,你也可以按不同的硬體方案進行採購。

最主要的就是樹莓派 3[2],它帶有四核 CPU、1G RAM,以及(比較)快速的網絡接口。數據將存儲在兩個 USB 磁碟驅動器上(這裡使用 1TB 磁碟);其中一個磁碟用於每天數據存儲,另一個用於數據備份。請務必使用有源 USB 磁碟驅動器或者帶附加電源的 USB 集線器,因為樹莓派無法為兩個 USB 磁碟驅動器供電。

軟體

在該社區中最活躍的作業系統當屬 Raspbian[3],便於定製個性化項目。已經有很多 操作指南[4] 講述如何在樹莓派中安裝 Raspbian 系統,所以這裡不再贅述。在撰寫本文時,最新的官方支持版本是 Raspbian Stretch[5],它對我來說很好使用。

到此,我將假設你已經配置好了基本的 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 共享[6]。

現在你可以在遠程設備上通過 NFS 系統訪問位於你樹莓派 NAS 雲盤上的數據了。在後面一篇文章中,我將介紹如何使用 rsync 自動將數據備份到第二個 USB 磁碟驅動器。你將會學到如何使用 rsync 創建增量備份,在進行日常備份的同時還能節省設備空間。

via: https://opensource.com/article/18/7/network-attached-storage-Raspberry-Pi

作者:Manuel Dewald[8] 選題:lujun9972 譯者:jrg 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出

相關焦點

  • 利用樹莓派搭建 NAS( 網絡附加存儲)-家庭網盤
    前兩天應群友熱人的邀請,今天寫一下我通過樹莓派在家搭建 NAS - 網絡附加存儲( Network Attached Storage) 的過程,
  • 樹莓派自建 NAS 雲盤之——數據自動備份 | Linux 中國
    把你的樹莓派變成數據的安全之所。在《樹莓派自建 NAS 雲盤》系列的 第一篇[1] 文章中,我們討論了建立 NAS 的一些基本步驟,添加了兩塊 1TB 的存儲硬碟驅動(一個用於數據存儲,一個用於數據備份),並且通過網絡文件系統(NFS)將數據存儲盤掛載到遠程終端上。本文是此系列的第二篇文章,我們將探討數據自動備份。
  • 在樹莓派上用 Syncthing 自建私有雲盤
    自建的私有雲網盤軟體很多,比如 Seafile、ownCloud 等,功能很實用,而 Syncthing 最大的特色是採用了與 Resilio
  • 從零開始的樹莓派搭建NAS
    ~首先給大家解釋一下NAS是什麼(畢竟看我文章的又不是什麼技術大牛)NAS(Network Attached Storage:網絡附屬存儲)按字面簡單說就是連接在網絡上,具備資料存儲功能的裝置,因此也稱為「網絡存儲器」。
  • 極客學院 | 在樹莓派上搭建私有雲存儲
    最簡單和穩妥的解決辦法當然還是購買群暉這樣高性能、多功能的NAS,但動輒幾千元的售價還是讓許多人望而卻步,市面上的私有雲盤軟體有諸如可道雲、Nextcloud/ownCloud、Seafile等,這裡IT之家來介紹如何用一塊樹莓派3B開發板搭建私有雲存儲。
  • 《樹莓派4B家庭伺服器搭建指南》第四期:用樹莓派搭建公網個人下載平臺aria2-pro,推薦6個優質種子資源站
    zhaoolee就想搭個人下載站,趁著今年國慶時間充裕,zhaoolee把下載站搭建到了樹莓派上,並對公網開放;在任何地點,zhaoolee只需通過網頁提交下載任務,家中的樹莓派就會自動把zhaoolee需要的資源,日夜不間斷地下載到zhaoolee的硬碟裡~ 本文是詳細的搭建步驟, 文末提供6個風評極好的優質種子站~(本文是《樹莓派4B家庭伺服器搭建指南
  • 手把手樹莓派搭建NAS『1』
    我決定在閒魚上把它給賣了,之後我就徹底轉向樹莓派配合外置的五盤位硬碟塢,我發現一切還是那麼的完美如群暉。所以我覺得唯一沒有做的就是寫篇公眾號文章手把手教大家怎麼搭建一個這樣的家用NAS。2、準備工作準備工作自然就是買買買,所有的材料裡面最貴的就是硬碟,其他的都很便宜,這裡我會把我使用的東西和價格列在這裡供大家參考名稱品牌型號價格樹莓派4B 4GBRaspberry Pi4B478(含電源,TF卡,讀卡器,外殼)樹莓派外殼Argon One1203.5英寸硬碟櫃ORICODS500U36594T 硬碟希捷ST4000VN008959樹莓派4B,可以從淘寶買
  • 一塊神奇的樹莓派電子板竟讓我學會了Linux系統
    而供電方面第三代樹莓派則需要搭配2.5A的USB充電器。筆者體驗的是樹莓派B和B+這兩塊板,通過av或者HDMI可以將圖像輸出到任何顯示器上,接上滑鼠和鍵盤,一臺完整的電腦就誕生了。出廠默認的樹莓派是不帶存儲設備的,我們需要一張SD卡(B+之後採用體積更小的TF卡),然後通過win32diskimager等磁碟管理工具即可將合適的作業系統燒錄到內存卡上,官方提供並推薦的作業系統是基於debian的Raspbian, Raspbian自帶了Python、Java等語言的集成開發環境,當然NOOBS也是不錯的選擇。安裝和配置完系統之後我們就可以」為所欲為」了。
  • 用樹莓派搭建一個私人社交網絡 | Linux 中國
    一個樹莓派 — 多才多藝的 Raspbian Lite 版本就可以讓你搭建很多有用的家庭服務(參照我的文章樹莓派項目)。通過搜索開源軟體你就可以實現一些令人痴迷的功能,你也可以用這個神奇的設備來感受那些功能。其中一個有趣的嘗試就是在你的樹莓派上安裝 OSSN。OSSN 是什麼?
  • 用樹莓派製造一個像樣的 NAS
    MAKER:tobychui / 譯:趣無盡 Cherry用樹莓派做網絡存儲伺服器(NAS)的案例有很多,我也一直在尋找用樹莓派 DIY NAS 所需要的各種零部件,要求是外觀漂亮、節省空間,然而一無所獲。
  • 樹莓派實戰指南
    第1章樹莓派1.1樹莓派介紹1.2樹莓派模塊B1.2.1樹莓派模塊B1.2.2樹莓派模塊B+1.3樹莓派計算機模塊1.4樹莓派2第2章樹莓派的作業系統2.1搭建樹莓派NOOBS圖形作業系統2.2搭建樹莓派Raspbian圖形作業系統2.3Raspbian
  • 如何用樹莓派搭建簡單家用 NAS
    硬體:樹莓派 3B+(含 TF 卡)讀卡器固態硬碟 256GB綠聯 SATA 硬碟轉 USB 線帶供電的(如果是移動硬碟則不需要,我這裡用的是主機硬碟)軟體:SSH 客戶端(Mac 自帶 Terminal,Windows 可用 SSH Secure Shell Client 或 Putty)
  • 樹莓派4 嵌入式Linux開發過程詳解
    通過樹莓派4B的啟動流程,看到一個Linux啟動過程,同時,通過一步一步搭建一個完整的樹莓派嵌入式Linux開發環境,來指導分析各部分的開發過程。通過對本文的閱讀,可以掌握一些嵌入式Linux開發和環境搭建的方法,也能夠對樹莓派4的運行流程以及Linux的運行流程有一個大致的了解,從romboot-->uboot-->kernel-->rootfs整個運行流程有了比較清楚的了解後,再去學習linux以及嵌入式底層,將會更加的清晰。
  • 項目分享 | 樹莓派4搭建NAS,讓硬碟輕鬆聯網
    本篇內容來自達爾聞粉絲張志選同學使用樹莓派4的實戰操作分享:如何在樹莓派4搭建NAS私人文件伺服器?跟著下面視頻一起來操作吧。NAS(Network Attached Storage:網絡附屬存儲)按字面簡單說就是連接在網絡上,具備資料存儲功能的裝置,因此也稱為「網絡存儲器」。
  • ARM搭建MC伺服器教程,適用於樹莓派
    ,本文使用華為雲的鯤鵬ARM伺服器,也適用於樹莓派(部分命令需要稍微改一下)。windows搭建MC伺服器教程:https://blog.zeruns.tech/archives/529.htmlX86 Linux搭建MC伺服器教程:https://blog.zeruns.tech/archives/584.html視頻教程(包括樹莓派):https://www.bilibili.com/video/BV1Xk4y1m7SE/
  • 樹莓派-搭建FTP伺服器
    備份文件通過SSH遠程連接到樹莓派,SSH連接可以參考上一篇文章:樹莓派-SSH遠程連接。/etc/apt/sources.list.d/raspi.list文件中為樹莓派的軟體源。替換Raspbian 源Raspbian源為樹莓派系統Raspbian 的安裝鏡像和軟體源,將原始的軟體源替換為科大源:sudo sed -i 's|raspbian.raspberrypi.org|mirrors.ustc.edu.cn/raspbian|g' /etc/apt/sources.list替換Raspberrypi
  • 菜鳥跟你一起學用樹莓派搭建NAS
    既然已經存儲已經有了,那麼我需要的還差一臺NAS主機,本著便宜、小巧、穩定、功耗低、易學易用的原則,我決定買一個樹莓派作為我的主機,那裝什麼作業系統呢?網上有人推薦FreeNAS和OpenMediaVault(OMV),我在虛擬機裡都裝了一下試了試,FreeNAS相對專業許多,但是我並不需要那麼厚重的功能,OMV足矣,確定了方案,那麼接下來就開幹吧。
  • 樹莓派搭建UI自動化環境
    有幸之前了解過"樹莓派"也是可以運行Linux系統,只要是Linux系統,理論上就可以安裝adb、appium等軟體.另外"樹莓派"雖然體積小,但是功耗低並且價格便宜.如果使用"樹莓派"作為自動化節點機,分布式執行自動化測試的方案應該是可行的.
  • 樹莓派使用入門:用樹莓派學 Linux | Linux 中國
    在本系列的 第三篇文章[1] 中開始了我們的樹莓派探索之旅,我分享了如何安裝 Raspbian,它是樹莓派的官方 Linux 版本。
  • 【暢玩NAS】使用樹莓派打造一個NAS伺服器
    ,今天筆者就教大家如何使用一個樹莓派打造一個NAS伺服器。比如配置無線網絡等。外接HDMI或者AV顯示器,USB滑鼠、鍵盤把樹莓派當作一個小電腦,可以用外接鍵盤、滑鼠操作樹莓派,樹莓派啟動界面會顯示在HDMI或者AV顯示器上,筆者不太建議這種啟動方式——抱著個顯示、滑鼠鍵盤太不方便了,而且帶HDMI的顯示器不好找(雖然可以用HDMI轉VGA接在電腦顯示器上代替)。