如何用树莓派搭建简单家用 NAS

花火田丁 花火田丁 2020-09-19 12:08:02 +0000


整理配件挖出了一块台式机的固态硬盘,128GB,容量不大,但闲着也是闲着,废物利用,搭个小容量的 NAS 也行啊。

硬件:

树莓派 3B+(含 TF 卡)

读卡器

固态硬盘 256GB

绿联 SATA 硬盘转 USB 线带供电的(如果是移动硬盘则不需要,我这里用的是主机硬盘)

软件:

SSH 客户端(Mac 自带 Terminal,Windows 可用 SSH Secure Shell Client 或 Putty)

准备工作:

  1. 安装树莓派操作系统

地址:raspberrypi.org/downloads/raspberry-pi-os

我下载的是 Recommended 官方推荐版

  1. 电脑上安装 BalenaEtcher 烧录软件,将第一步下载的镜像文件烧录到 TF 卡

  2. 在 TF 卡根目录中添加 ssh 文件

touch ssh
  1. 在 TF 卡根目录中添加 Wi-Fi 配置文件 wpa_supplicant.conf 文件,内容如下

country=GB
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
ssid="your wifi ssid"
psk="your wifi password"
}
  1. 将 TF 卡插到树莓派中开机,即可自动安装系统并连接指定 Wi-Fi(注:这一步好像有坑,某些情况会提示报错,太久不记得了🤦‍♀️,遇到的同学可以留言)

通过电脑连接树莓派(以 MacBook 为例)

  1. 获取树莓派的 IP:可通过路由器查看,一般显示名称为 Raspberry;也可以直接给树莓派接显示器或者电视进入网络界面查看(通过 HDMI 线连接);或者通过 arp -a 查看。

  2. 打开 Mac 的 Terminal 终端,输入 ssh pi@IP地址 连接,默认密码是 raspberry

挂载 NTFS 格式的硬盘

  1. 安装 ntfs-3g,该工具可以让挂载的分区具有读写权限

apt update
apt-get install ntfs-3g
  1. 将硬盘/移动硬盘连接到树莓派(主机硬盘需要用到 SATA 转 USB 线)

  2. 查看硬盘状态

sudo fdisk -l

(注:此处以 /dev/sda5 为例)

图片来自系统截图
  1. 查看挂载状态

df -h

(注:默认会挂在到 \media\pi\ 下,但硬盘大小不对并且文件只读,所以下一步需要换个位置挂载)

图片来自系统截图
  1. 重新挂载硬盘

# 先取消挂载
sudo umount /dev/sda5

# 创建挂载文件夹(路径自定)
mkdir /home/pi/storage

# 重新挂载
sudo mount -t /dev/sda5 /home/pi/storage
  1. 实现开机自动挂载

(注:重启后挂载会丢失,所以需要修改 /ext/fstab 文件实现开机自动挂载)

这一步非常坑,百度上找到的各种教程中的命令基本上是这样的

/dev/sda5 /home/pi/storage ext4 defaults,noexec 0 0

但一旦这样修改了 fstab 之后,树莓派启动时直接报 root locked 启动不起来,需要进紧急模式把 /ext/fstab 改回来。这也是写本文记录的主要原因之一。

我尝试成功的步骤如下:

1) 查看硬盘的 PARTUUID

blkid
图片来自系统截图

获得硬盘的 PARTUUID

2) 硬盘的格式是 NTFS,用 Vi 编辑 /etc/fstab 文件,在文件最后一行添加

 PARTUUID=上一步取得的UUID /home/pi/storage ntfs defaults,noatime 0 0

其中,/home/pi/storage 是之前步骤中硬盘挂载的路径。

3) 重启并查看挂载情况

# 重启树莓派
sudo reboot

# 重启后,查看硬盘挂载
df -h
图片来自系统截图

挂载成功

开启文件共享

  1. 安装 samba

 apt-get install samba samba-common-bin
  1. 配置 samba

 sudo vi /etc/samba/smb.conf

# 如果发现权限不够,修改文件权限
sudo chmod 777 /etc/samba/smb.conf

在文件最后添加如下内容:

[share]
path = /home/pi/storage
valid users = pi
browseable = yes
public = yes
writable = yes
read only = no

其中,share 是共享文件夹的名字。

  1. 注册登录用户

sudo smbpasswd -a pi
  1. 把 samba 服务加到开机自启动

sudo /etc/init.d/samba restart
  1. 重启 samba 服务

sudo service smbd restart

愉快地访问吧!

  1. 从 Mac 上访问

在 Finder(访达)右击,选择「连接服务器」,地址中填写

smb://树莓派的IP/share

其中,share 为 上一步中设置的共享文件夹的名字

  1. 从 Windows 访问

1) 打开 「运行」输入

 \\树莓派的IP\share

2) 在文件夹中设置「映射」,比如映射到 Z 盘,地址同上,这样就可以在我的电脑中随时打开。

注:弹出输入用户名和密码,即为树莓派的用户名和密码。

至此,一个简单的家庭共享就搭好了,当然,读写速度不会很高,毕竟树莓派的限制在那里。我搭这个的初衷是为了不让树莓派闲置,以及,Mac 和 Windows 之间做临时的文件共享。正经想做家庭影音共享或者文件备份的还是购买现成的 NAS 存储比较好,比如群晖。




关于「HOW TO」系列

这个系列的初衷,我在 回归初心 中提到的,因为平时写的关于「WHY」或者心理活动方面的文章,「HOW TO」系列更偏向于实用。另外一点在于,我发现,有些本行业内认为小儿科或者不值得一提的工具或者方法,对于大多数行业外的人来说,还是比较陌生的,本着「抛砖引玉」的想法,想让大家可以通过这些「砖」打开思路,也可以了解到一些平常不太接触得到的一些东西。

旧文参考:

用 Keynote 做个动画有多简单?

你以为它只是一个「预览」工具?

如何用 Ghostscript 处理 PDF

如何批量修改“乱码”文件名

一句话生成卡通版照片

如何用 aria2 打造 Mac 上强大的下载工具

如何用 Swift 写一个手电筒 App

如何快速制作「一图看懂」

如何用 GitHub 搭建个人博客

如何用 RSSHub 打造个性阅读器

QuickTime Player 实用技巧

如何用 ImageMagick 处理图片

如何用 iMovie 做看上去很高级的视频

如何用 Python 写一个最简单的爬虫

如何用 ffmpeg 处理视频

如何用 ifttt 做一些自动化提醒



撒欢吧
谈理想
聊人生
讲故事
相对论
花火田丁
微信号:huahuoding
花火田丁
不折腾不人生