如何將 Raspberry Pi 變成 NAS 以實現全屋文件共享
已發表: 2022-01-29我的房子非常整潔有序,但是當談到我的數字生活時,我會想到“囤積者”這個詞。 如果這聽起來像您,那麼網絡附加存儲設備(或簡稱 NAS)是讓您的文件在您家中的任何設備上無線訪問的完美投資。 但是這些設備可能會變得昂貴,因此省錢的一種方法是自己構建一個以 Raspberry Pi 為核心的廉價設備。
什麼是 NAS?
網絡附加存儲允許您從一個始終在線的設備共享您家中的文件。 通過網絡上的 NAS,您可以使用它來存儲您的電影並從多個 Kodi 盒子播放它們,從您的 PC 上存儲備份,或者將其用作 24/7 播種文件的 BitTorrent 盒子。
當然,您可以使用您的主 PC 完成所有這些操作,但 NAS 的功耗較低,而且它設計為日夜運行,即使您的桌面無法使用。 一旦開始使用,就很難回頭。
市面上有大量現成的 NAS 設備,來自 Synology、QNAP 和 Asustor 等公司。 只需購買一個,插入磁盤驅動器,您就可以參加比賽了。 但是它們可能會變得昂貴,而且如果您不確定 NAS 是否適合您,那麼就很難證明投資的合理性——尤其是如果您想要一些可以隨著您的存儲需求而增長的東西。
另一方面,Raspberry Pi 是一個多功能的小板,它可以充當便宜的試用 NAS,一旦你從它長大,就可以重新用於其他用途。 它不像 Synology NAS 單元那樣堅如磐石,如果你想要數據冗餘,RAID 在 Pi 上的工作並不特別好。 您需要確保基於 Pi 的 NAS 上的任何重要數據也備份到其他地方。
但是,如果您身邊有一個 Pi 並想了解 NAS 生活的全部內容,那麼這是一個很棒的項目。 然後,一旦上癮,您就可以升級到符合您長期需求的專用 Synology 或 QNAP 型號。
你需要什麼...
一個帶有所有裝飾的樹莓派
顯然,這個項目需要一個 Raspberry Pi,以及必要的配件:電源、microSD 卡、鼠標、鍵盤和用於初始設置的顯示器。 任何最新型號的 Pi 都應該適用於該項目,您可以在我們的 Raspberry Pi 入門指南中閱讀有關其他配件的更多信息。
一個磁盤驅動器(或兩個或三個)
除非您隻共享幾個文件,否則您的 microSD 卡可能不足以存儲 NAS。 您需要一些驅動器來裝滿您想要在設備之間共享的電影、音樂或其他文件。 在大多數情況下,標準的外部驅動器可以解決問題,儘管您可能需要一個單獨插入牆壁的驅動器 - 或一個有源 USB 集線器 - 因為 Pi 可能無法為所有驅動器提供足夠的電力。 如果您想要更清潔的設置,您也可以使用專為網絡附加存儲設計的內部驅動器,但這需要一個案例。
適合 NAS 的機箱(可選) :
如果你想讓你的系統看起來乾淨,你可能應該為你的 Pi 和驅動器買一個外殼,所以它不僅僅是電線和磁盤的章魚。 例如,Geekworm 製作了一個名為 X825 的板子,它允許您對接一個 2.5 英寸的內部硬盤驅動器,將其連接到您的 Pi,然後將其全部安裝在一個小巧的小機箱中。 (只要確保你得到一個與你的 Pi 兼容的設備——Pi 3、Pi 4 等都有不同的情況。)
目前,我只是使用標準的 Raspberry Pi 外殼,頂部帶有 USB 外置驅動器,但如果您願意發揮創意,這裡的世界就是您的牡蠣。 一旦您掌握了所有組件,就該啟動並運行您的 NAS。
安裝操作系統
有像 Openmediavault 這樣的特殊操作系統可以將您的 Pi 變成 NAS,但對於初學者設置,我實際上推薦常規的舊 Raspbian——它靈活、易於使用,並且足以通過網絡共享一些文件。 首先按照我們的初學者指南中的描述使用推薦的軟件安裝 Raspbian。
我建議通過以太網將您的 Pi 連接到您的網絡以進行快速文件傳輸,但 Wi-Fi 將在緊要關頭完成。 首次啟動 Raspbian、指定新密碼並下載所有更新後,將硬盤驅動器連接到 Pi 的一個 USB 端口。
您會看到它顯示在桌面上,但我們將在終端中完成大部分工作。 (如果您願意,您可以通過 SSH 連接到您的 Pi 並從另一台 PC 執行這些命令。)
卸載驅動器
在繼續之前,我們需要擦除您連接的驅動器,因此如果您有重要文件,您必須先將它們存儲在其他地方,然後再將它們傳輸到您的 Pi-NAS。 在終端窗口中,運行以下命令以查看連接到 Pi 的磁盤:
sudo fdisk -l
找到要用於文件的外部驅動器——在我的例子中,它是一個名為“MyExternalDrive”的 80GB 驅動器——並記下它的路徑。 在上面的屏幕截圖中,插入我的 Pi 的 80GB 驅動器對應於 /dev/sda。 (確保您記下正確的驅動器,因為我們即將擦除它!)首先,您需要卸載驅動器。 如果您使用的是 Raspbian 界面,您只需單擊驅動器旁邊的彈出按鈕即可將其卸載。 但是,如果您通過 SSH 使用終端,則必須運行:
umount /dev/sda1
根據驅動器的不同,您可能還需要運行umount /dev/sda2 、 umount /dev/sda3等,具體取決於驅動器上之前使用的分區數。
然後,要擦除和格式化您的閃存驅動器以供 Linux 使用,請運行:
sudo parted /dev/sda
這將打開一個名為 Parted 的嚮導,它允許您在驅動器上創建一個新分區。 運行此命令,在嚮導中的每個答案後按 Enter 並將MyExternalDrive替換為您要用於驅動器的名稱:
mklabel gpt
如果提示擦除驅動器,請鍵入y並按 Enter。 然後運行:
mkpart
MyExternalDrive
ext4
0%
100%
quit
最後的退出命令將退出 Parted 嚮導。 顯然,您可以調整這些命令以適應您的驅動器的名稱、您想要在其上創建的分區的數量和大小等等——但對於大多數剛開始使用的基本用戶來說,這些命令應該可以正常工作。
分區您的驅動器
接下來,我們需要格式化該分區。 如果您的驅動器位於/dev/sda ,則新分區將位於/dev/sda1 (如果驅動器是/dev/sdb ,您將使用/dev/sdb1 ,依此類推):
sudo mkfs.ext4 /dev/sda1
當詢問您是否要繼續時,按y和 Enter。 然後運行:
sudo e2label /dev/sda1 MyExternalDrive
只需將MyExternalDrive替換為您想要命名驅動器的任何內容。 格式化需要幾分鐘,特別是如果您有一個大驅動器,所以請耐心等待。 完成後,運行以下命令重新啟動您的 Pi:
sudo shutdown -r now
當您的 Pi 啟動備份時,您應該會發現外部驅動器會自動出現在桌面上,準備好執行操作。 但是,您必須運行最後一個命令來授予自己將新文件寫入驅動器的權限。 在終端中,運行:
sudo chown -R pi /media/pi/MyExternalDrive
共享驅動器
現在是時候在您的網絡上共享該驅動器了,這樣您就可以添加您的文件並從家裡的任何設備訪問它們。 為此,我們將使用一個名為 Samba 的工具,它是 Windows 的 SMB/CIFS 文件共享協議的開源實現。 它不是您共享文件的唯一選擇,但它易於設置並與您在網絡上可能擁有的幾乎任何系統兼容,因此這是我推薦的。
默認情況下,Raspbian 沒有安裝 Samba,因此您需要確保您的存儲庫是最新的並使用以下命令安裝它:
sudo apt update
sudo apt upgrade
sudo apt install samba samba-common
安裝程序將詢問您是否要修改 smb.conf 以使用來自 DHCP 的 WINS 設置。 選擇是,然後按 Enter。 現在您自己編輯該配置文件,以共享您的驅動器。 跑:
sudo nano /etc/samba/smb.conf
然後,從出現的命令行文本編輯器中,使用箭頭鍵滾動到文檔底部。 您需要添加如下所示的文本塊:
[MyMedia]
path = /media/pi/MyExternalDrive/
writeable = yes
create mask = 0775
directory mask = 0775
public=no
在您的版本中, MyMedia將是您的共享名稱(您可以隨意命名),而/media/pi/MyExternalDrive將是您的驅動器的安裝位置。 (您可能需要打開文件管理器並前往/media/pi/以了解它的名稱。)完成後,按 Ctrl+X 退出 nano,在詢問是否要退出時按y和 Enter保存文件。
創建密碼並添加用戶
最後,您需要為 Samba 創建一個密碼,以便您可以從其他機器上查看您的共享。 (有一些方法可以在不需要密碼的情況下配置 Samba,但這通常不是很好的安全做法,所以我建議添加密碼。)要為現有 Pi 用戶添加密碼,請運行:
sudo smbpasswd -a pi
出現提示時輸入所需的密碼——它不必與 Pi 本身的用戶密碼相同,但可以——然後按 Enter。
您可以使用sudo adduser jeff添加其他用戶,其中jeff是您要添加的用戶,然後運行sudo smbpasswd -a jeff為該用戶提供自己的密碼。 這不是絕對必要的,但如果您的家庭中有多個人您希望對某些共享授予不同的讀取和寫入權限,則它會很有用。
完成後,運行以下命令重新啟動 Samba:
sudo systemctl restart smbd
訪問您的媒體
一切都應該準備就緒。 前往您的 Windows PC,打開文件資源管理器窗口,然後在地址欄中鍵入\\raspberrypi\MyMedia (將MyMedia替換為您的共享名稱)。 如果您按 Enter,您應該能夠輸入您的 Samba 用戶名 (pi) 和密碼並查看您的共享驅動器。 如果遇到麻煩,您可能不得不使用 Pi 的 IP 地址,例如\\192.168.1.10\MyMedia 。
要在 Mac 上連接,請打開 Finder 並單擊Go > Connect to Server ,在出現提示時輸入smb://raspberrypi 。
這只是觸及了您可以使用基於 Pi 的 NAS 所做的事情的表面。 隨著存儲需求的發展,您可以添加更多驅動器和共享,添加更多具有不同權限的用戶,或設置 RAID 陣列以避免在硬盤驅動器故障時丟失數據。 但是,一旦達到這一點,可能值得在專用 NAS 設備上多花一點錢以獲得更好的性能。