树莓派搭建个私人的NAS网盘(双场景)

树莓派 · 2021-04-27 · 82 人浏览

前几期已经成功对树莓派做足了当服务器的准备,是时候用树莓派做出一些实用的事情了...


前言

树莓派4B版本的网口与USB相比之前有了较大提升,尤其是网口提升到了千兆的速率,这样一来树莓派更加适合做一些小型网络服务器,正如今天所搭建的私人NAS网盘...

经过前几期的准备,我们的树莓派已经可以实现软件上内网穿透,硬件上自动温控保护,目前的环境已经稳定下来,可以去搭建小型服务器了。本文中将会使用树莓派接入外置硬盘,通过有线网络实现搭建NAS网盘,且提供两种不同思路,给不同场景使用。


准备工作

1、Frp内网穿透(参考:用云服务器搭建自己的Frp服务
2、硬件温度保护(参考:为树莓派制作个简单温控系统
3、软件源更换(参考:树莓派4b上手“装机必备” - 2


场景:自用、云同步、个人NAS网盘

使用网盘平台:samba

步骤:

1、安装Samba服务:sudo apt install samba -y

2、编辑Samba配置文件:sudo nano /etc/samba/smb.conf

3、在文件末尾添加如下内容并保存(文件目录根据实际调整):
其中,path(共享路径)此处填写的为接下来要映射外置硬盘的文件夹,如果使用的是u盘或者外置固态硬盘则可以忽略,如果使用的是外置机械硬盘(推荐使用带自动休眠功能的硬盘盒),推荐直接修改为/home/pi,否则每次当windows资源管理器加载网络储存时都会导致机械硬盘启动,从而会加大损耗硬盘寿命(尽可能使用带自动休眠的硬盘盒,仅sata转换器无法达成自动休眠硬盘效果,还需安装相关软件)。缺点是无法在windows网络硬盘中看到外置硬盘容量,好处是更方便的传输文件到/home/pi目录。

[share]
   path = /home/pi/share
   valid users = pi
   browseable = yes
   writable = yes

注:如需将samba用户名pi修改为其他用户名,需要添加一个新的系统账户。因该账户仅用于samba分享服务,因此可以将其设置为无登陆权限的账户,如下过程即可:

//添加用户组samba,设置id为2000(id和名字可随意)
sudo groupadd samba -g 2000
//添加用户yanhy,用户id为2000,并将其添加进id为2000的用户组
sudo useradd yanhy -u 2000 -g 2000 -s /sbin/nologin -d /dev/null
//授予访问权限
sudo chown -R yanhy:samba /home/ubuntu/
//同时再给自己一边权限
sudo chown -R ubuntu:ubuntu /home/ubuntu/
//添加samba用户密码
sudo smbpasswd -a yanhy

4、根据以下内容将外部硬盘连接到共享文件夹:

--接入外置硬盘(3.5寸机械硬盘需要额外供电,如果2.5寸机械硬盘太多也需要额外供电)
--ssh连接树莓派,使用 sudo fdisk -l 查看储存信息,看容量识别硬盘,一般是/dev/sda1
--创建个目录用来挂载硬盘 sudo mkdir /home/pi/nas
--改权限 sudo chmod 777 /home/pi/nas
--将硬盘通过mount挂载到该文件夹 sudo mount /dev/sda1  /home/pi/nas

--(此条方法可能有问题,新版本系统谨慎尝试,如果卡开机了请取出sd卡,手动修改/etc/fstab中的内容)写入硬盘启动信息,下次重启后自动挂载数据盘 echo "/dev/sdb1 /home/pi/nas/ ext4 defaults 0 0" >> /etc/fstab
--使用 df -h 查看硬盘状态,如果第一列有显示/dev/sda1且后面目录为/home/pi/nas说明挂载成功

5、配置完后重启Samba服务:sudo systemctl restart smbd

6、设置访问用户:sudo smbpasswd -a pi(如根据第三步新建用户,可以跳过这步)

7、电脑输入smb://树莓派ip 即可访问到共享文件夹,或者打开 网络 ,开启局域网共享,也可以发现树莓派设备并连接(老版本教程)

8、兼容ntfs
树莓派不支持写入ntfs文件系统,如果硬盘已经有文件不想格式化,可以安装软件包来兼容:sudo apt install ntfs-3g -y ,更新内核模块:sudo modprobe fuse , 重启系统:sudo reboot


场景:多人使用网盘、协作、小型下载站、图床

使用网盘平台:Cloudreve

步骤:

1、手动访问 https://github.com/cloudreve/Cloudreve/releases 选择cloudreve_x.x.x_linux_arm64.tar.gz右键复制下载链接
31598-1047l7nmrd3.png

2、ssh连接树莓派,创建一个文件夹 mkdir nas 并进入 cd nas ,并使用 wget 复制的链接 下载软件包

3、下载完后使用 tar -zxvf cloudreve_x.x.x_linux_arm64.tar.gz 解压,得到 cloudreve 文件(无后缀)

4、如果树莓派上有安装防火墙,需要使用 sudo ufw allow 5212 手动放行cloudreve的端口

5、输入 ./cloudreve 启动程序,接下来会自动显示出账号与密码,需要记下来,第一次登陆需要(后期可以修改),如果忘记了生成的账号密码,删除当前目录的db数据库文件后再次启动程序即可

6、如果此时在内网环境中,在本地浏览器输入树莓派ip加端口即可访问cloudreve了,如192.168.31.73:5212(由于我已经安装过,直接演示进入浏览器界面)

52800-2t88q9nsqj6.png

10436-r2lrfanky1g.png

7、登陆后点击右上角头像,即可进入管理面板,里面可以修改是否允许用户注册等功能,其他功能暂不详细叙述

55056-ucm80jnagn.png

8、给树莓派挂载硬盘并使该网盘使用外置硬盘来储存:

ssh部分

--接入外置硬盘(3.5寸机械硬盘需要额外供电,如果2.5寸机械硬盘太多也需要额外供电)
--ssh连接树莓派,使用 sudo fdisk -l 查看储存信息,看容量识别硬盘,一般是/dev/sda1
--创建个目录用来挂载硬盘 sudo mkdir /home/pi/nas/sda1
--将硬盘通过mount挂载到该文件夹 sudo mount /dev/sda1 /home/pi/nas/sda1
--写入硬盘启动信息,下次重启后自动挂载数据盘 echo "/dev/sdb1 /home/pi/nas/sda1 ext4 defaults 0 0" >> /etc/fstab
--使用 df -h 查看硬盘状态,如果第一列有显示/dev/sda1且后面目录为/home/pi/nas/sda1说明挂载成功

网页管理面板部分

--进入管理面板,打开 存储策略 标签页
--修改默认策略,使用 向导模式编辑
--在路径处可以看到当前使用的路径,将其改成 /home/pi/nas/sda1/{uid}/{path} 即可在硬盘内创建文件
--路径内{uid}/{path}无需修改,分别为用户id和用户文件路径,如:管理员uid为1,在网盘内上传了a.MP4文件,路径则为/home/pi/nas/sda1/1/a.MP4,不同用户之间文件不相通,管理员在管理面板可以管理全部文件
--如果需要用图床功能,需要在第二步开启永久直链功能,其他选项根据个人使用去修改


其他软件如openmediavault(omv)等也可以实现局域网共享,本文不再细说
本文参考链接:
树莓派挂载移动硬盘
挂载 机械硬盘_利用树莓派和闲置硬盘,搭建起家中的个人网盘
树莓派使用cloudreve搭建nas和离线下载

本篇文章到此结束,需要更多内容请持续关注本博客!

树莓派 手工 实用 Linux
Theme Jasmine by Kent Liao
皖公网安备34122202000364号