利用樹莓派建構一個網路儲存設備的方法
導讀 | 你有閒置的行動硬碟和樹莓派嗎?你可以用這些來打造一個便宜又低能耗的NAS。最後的效果肯定比不上售價500美刀的NAS,像是Synology DiskStation出品的那些。但可以搭建出一個低能耗的網路儲存平台——而且特別適用於已經厭倦了國家安全局的資料監控的人,你可以把資料藏在這個「小閣樓」裡。 |
你需要一個樹莓派,和一兩個閒置著的移動硬碟。體積較小的2.5硬碟可以由USB介面直接供電,但是我們需要一個有供電功能的USB分線器,因為樹莓派的USB介面提供的電力是不足以給行動硬碟供電的。除此之外你也可以用thumbdrive,甚至是一張SD卡。事實上我現在在用的就是一個USB口的行動硬碟和一個thumbdrive搭建的,操作流程都是一樣的。
只用一個硬碟,也可以搭建分享檔案的網路記憶體,但是用兩個硬碟,就可以設定資料備份,以防有一個硬碟壞掉。
最初的步驟是在桌上型電腦上格式化硬碟。這是為了方便,如果出了問題,我們可以把硬碟從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是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
只有第一塊硬碟的配置-之後我們將用第二塊硬碟和第一塊同步,以進行備份。
# 然後用下面的命令重啟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那些华丽的特性,但是它也能漂亮地完成任务,而且耗电会少很多。
有问题请在评论区提出,我会尽力帮忙的,但是请确定你在使用最新的树莓派系统镜像。
以上是利用樹莓派建構一個網路儲存設備的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

CentOS 和 Ubuntu 的關鍵差異在於:起源(CentOS 源自 Red Hat,面向企業;Ubuntu 源自 Debian,面向個人)、包管理(CentOS 使用 yum,注重穩定;Ubuntu 使用 apt,更新頻率高)、支持週期(CentOS 提供 10 年支持,Ubuntu 提供 5 年 LTS 支持)、社區支持(CentOS 側重穩定,Ubuntu 提供廣泛教程和文檔)、用途(CentOS 偏向服務器,Ubuntu 適用於服務器和桌面),其他差異包括安裝精簡度(CentOS 精

CentOS 安裝步驟:下載 ISO 映像並刻錄可引導媒體;啟動並選擇安裝源;選擇語言和鍵盤佈局;配置網絡;分區硬盤;設置系統時鐘;創建 root 用戶;選擇軟件包;開始安裝;安裝完成後重啟並從硬盤啟動。

CentOS 已停止維護,替代選擇包括:1. Rocky Linux(兼容性最佳);2. AlmaLinux(與 CentOS 兼容);3. Ubuntu Server(需要配置);4. Red Hat Enterprise Linux(商業版,付費許可);5. Oracle Linux(與 CentOS 和 RHEL 兼容)。在遷移時,考慮因素有:兼容性、可用性、支持、成本和社區支持。

如何使用 Docker Desktop? Docker Desktop 是一款工具,用於在本地機器上運行 Docker 容器。其使用步驟包括:1. 安裝 Docker Desktop;2. 啟動 Docker Desktop;3. 創建 Docker 鏡像(使用 Dockerfile);4. 構建 Docker 鏡像(使用 docker build);5. 運行 Docker 容器(使用 docker run)。

Docker利用Linux內核特性,提供高效、隔離的應用運行環境。其工作原理如下:1. 鏡像作為只讀模板,包含運行應用所需的一切;2. 聯合文件系統(UnionFS)層疊多個文件系統,只存儲差異部分,節省空間並加快速度;3. 守護進程管理鏡像和容器,客戶端用於交互;4. Namespaces和cgroups實現容器隔離和資源限制;5. 多種網絡模式支持容器互聯。理解這些核心概念,才能更好地利用Docker。

CentOS 停止維護後,用戶可以採取以下措施應對:選擇兼容髮行版:如 AlmaLinux、Rocky Linux、CentOS Stream。遷移到商業發行版:如 Red Hat Enterprise Linux、Oracle Linux。升級到 CentOS 9 Stream:滾動發行版,提供最新技術。選擇其他 Linux 發行版:如 Ubuntu、Debian。評估容器、虛擬機或云平台等其他選項。

Docker 進程查看方法:1. Docker CLI 命令:docker ps;2. Systemd CLI 命令:systemctl status docker;3. Docker Compose CLI 命令:docker-compose ps;4. Process Explorer(Windows);5. /proc 目錄(Linux)。

Docker鏡像構建失敗的故障排除步驟:檢查Dockerfile語法和依賴項版本。檢查構建上下文中是否包含所需源代碼和依賴項。查看構建日誌以獲取錯誤詳細信息。使用--target選項構建分層階段以識別失敗點。確保使用最新版本的Docker引擎。使用--t [image-name]:debug模式構建鏡像以調試問題。檢查磁盤空間並確保足夠。禁用SELinux以防止干擾構建過程。向社區平台尋求幫助,提供Dockerfile和構建日誌描述以獲得更具體的建議。
