【树莓派】从零搭建DAS服务器,挂载扩容硬盘,实现文件存储与自动下载

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/deng_xj/article/details/88097210

树莓派搭建家庭DAS服务器,实现自动下载

配置树莓派
挂载
配置树莓派
树莓派
文件共享功能
准备硬盘
安装和配置samba
映射至本地
自动下载功能
安装并配置aria2
启动

本文主要介绍了树莓派购买后的配置方法,并通过samba以及aria2简单搭建带有下载功能的家庭nas服务器。尽量详细分解了各个流程,适合跟做,事半功倍。


需要提前准备的材料:
  1. 树莓派1/2/3型 开发板(我用的是3B+),适配的5V2A电源;
  2. TF卡(不小于4G),TF 读卡器;
  3. 一块移动硬盘,最好再配个有源USB-Hub;
  4. TF镜像。找到对应Pi的型号的镜像,这里提供一个已开启SSH等各种功能的镜像:
    下载链接:https://pan.baidu.com/s/16erz8pZ6yjPVyPjoU_lkwQ
    提取码:ilpo
  5. 磁盘格式化工具SDFormatter:
    下载链接:https://pan.baidu.com/s/12VaGB3daeowpgqZRClmbvg
    提取码:hq77
  6. 镜像读写工具 win32diskimager:
    下载链接:https://pan.baidu.com/s/184oU57y0Oqq8nqiksP0HPg
    提取码:jf53
  7. 一台计算机,Windows系统;
  8. 远程SSH 本文以Xshell为例;
  9. 一台显示器或都电视机,HDMI接口,HDMI线。(其实不用显示设备也可以,通过SSH操作)。

一、 配置树莓派

1. 写入镜像

将SD卡插入读卡器连接电脑,运行 SDFormatter.exe 对SD卡进行格式化后,打开 Win32DiskImager.exe 烧写镜像,点击“Write”,完成后把SD卡插入树莓派。
对SD卡进行格式化

烧写镜像

2. 连接WIFI与SSH

(1) 树莓派通电开机,进入主界面,右上角连接WIFI

进入主界面

(2) 固定IP

由于我们日常都是使用ssh来开发跟管理树莓派,偶尔用一下远程桌面,但是路由器的DHCP服务器经常会给树莓派分配不同的IP地址,每次登录路由器查看比较麻烦,因此需要将树莓派的IP地址设置为固定IP。

使用浏览器登录路由器,在地址栏输入:192.168.1.1,然后回车,默认的账号密码都是admin,将IP与MAC绑定。
固定IP

(3) 连接SSH

打开Xshell,点击右上角:文件—>新建—>连接—>主机处输入树莓派IP地址—>用户身份验证—>用户名:pi—>密码:yahboom(默认)—>确定

至此,之后的操作全部可以在Xshell中完成。


二、 安装samba实现文件共享

1. 准备硬盘

(1)安装软件,实现硬盘读写功能
#更新
sudo apt-get update

#安装所需软件包
sudo apt-get install ntfs-3g

#加载内核模块
modprobe fuse
(2)将硬盘插入树莓派USB接口,查看硬盘的设备目录
sudo fdisk -l

通常是/dev/sda1,查看已连接的储存设备,可以看到/dev/sda1,比对存储大小后确认设备目录。

查看硬盘的设备目录

(3)挂载硬盘
# 创建要挂载的文件夹并修改权限
sudo mkdir /samba
sudo chmod 777 /samba
# 挂载硬盘
sudo mount -t ntfs-3g /dev/sda1 /samba
(4)实现开机自动挂载到指定目录
# 编辑fstab让移动硬盘开机自动挂载
sudo vim /etc/fstab
# 在最后一行添加如下内容
/dev/sda1 /samba ntfs-3g defaults,noexec,umask=0000 0 0
# 查看挂载情况
df -h

查看挂载情况
可以看到932G的移动硬盘已经成功挂载在samba目录下。

2. 安装和配置samba

有关samba的配置详解与常用命令格式,可 参见此处

# 安装
sudo apt-get install samba samba-common-bin
# 配置
sudo vim /etc/samba/smb.conf

在文件最后面添加:

[share]                                   #共享文件的名称,将在网络上以此名称显示
        path = /samba                     #共享文件的路径
        browseable = yes                  #允许浏览
        public = yes                      #共享开放
        writable = yes                    #可写
        guest ok=yes                      #允许访客
出于安全考虑,还可以选择加入以下:
        security = user                   #局域网的人访问你的电脑都需要用户名和密码
        security = share                  #无需密码
添加用户并设置密码命令:
sudo useradd <username> -m -G users
sudo passwd  <username>
# 重启samba
sudo /etc/init.d/samba restart
# 把用户加入Samba中
sudo smbpasswd -a <username>
# <username>处将前面出于安全考虑新建的账户加入,如无需考虑安全问题,建议用 pi 作为<username>

当然, < username > 是否需要写取决于是否处于root权限下

把用户加入Samba中

# 设置开机自启(同硬盘自启)
sudo vim /etc/rc.local、
# 添加下面内容
sudo /etc/init.d/samba restart

3. 映射至本地

我的电脑—>映射网络驱动器—>任意盘符(有默认,无需修改):\\树莓派IP地址\share
注意斜杠个数与方向,IP地址斜杠后填写smb.con配置文件中[ ]自定义的共享文件的名称。
映射至本地
如果具体地址不清楚,可以在网络列表中找到相应设备,再把设备名改为设备的固定内网IP地址,输入到映射网络驱动器的地址中去添加映射。

在这里插入图片描述


三、安装aria2实现自动下载

# 安装aria2
sudo apt-get install aria2
# 开始配置
cd ~
# 前往挂载硬盘目录
cd /samba
# 创建aria2目录
mkdir aria2 && cd aria2
# 创建缓存文件
touch aria2.session
# 创建修改配置文件
vim aria2.conf

在aria2.conf中输入以下内容:

#允许rpc  
enable-rpc=true  
#允许所有来源, web界面跨域权限需要  
rpc-allow-origin-all=true  
#允许非外部访问  
rpc-listen-all=true  
#最大同时下载数(任务数), 路由建议值: 3  
max-concurrent-downloads=20  
#断点续传  
continue=true  
#同服务器连接数  
max-connection-per-server=5  
#最小文件分片大小, 下载线程数上限取决于能分出多少片, 对于小文件重要  
min-split-size=10M  
#单文件最大线程数, 路由建议值: 5  
split=10  
#下载速度限制  
max-overall-download-limit=0  
#单文件速度限制  
max-download-limit=0  
#上传速度限制  
max-overall-upload-limit=30K  
#单文件速度限制  
max-upload-limit=0  
#断开速度过慢的连接  
#lowest-speed-limit=0  
#验证用,需要1.16.1之后的release版本  
#referer=*  
input-file=/samba/aria2/aria2.session  
save-session=/samba/aria2/aria2.session  
#定时保存会话,需要1.16.1之后的release版  
save-session-interval=60  
#文件保存路径, 默认为当前启动位置**********(在挂载硬盘的目录内创建download文件夹保存下载文件)
dir=/samba/download  
#文件缓存, 使用内置的文件缓存, 如果你不相信Linux内核文件缓存和磁盘内置缓存时使用, 需要1.16及以上版本  
#disk-cache=0  
#另一种Linux文件缓存方式, 使用前确保您使用的内核支持此选项, 需要1.15及以上版本(?)  
#enable-mmap=true  
#文件预分配, 能有效降低文件碎片, 提高磁盘性能. 缺点是预分配时间较长  
#所需时间 none < falloc ? trunc << prealloc, falloc和trunc需要文件系统和内核支持  
file-allocation=prealloc  
#启用本地节点查找  
bt-enable-lpd=true	  
#单种子最大连接数  
#bt-max-peers=55  
#强制加密, 防迅雷必备  
#bt-require-crypto=true  
#当下载的文件是一个种子(以.torrent结尾)时, 自动下载BT  
follow-torrent=true  
#BT监听端口, 当端口屏蔽时使用  
#listen-port=6881-6999  
disable-ipv6=true  
log=/samba/aria2/aria2.log  
log-level=notice  
#添加额外的tracker  
bt-tracker=  
http://121.14.98.151:9090/announce,  
http://121.14.98.151:9090/announce,  
http://anisaishuu.de:2710/announce,  
http://bigfoot1942.sektori.org:6969/announce,  
http://bt.careland.com.cn:6969/announce,  
http://bt2.careland.com.cn:6969/announce,  
http://exodus.desync.com/announce,  
http://exodus.desync.com:6969/announce,  
http://hdreactor.org:2710/announce,  
http://i.bandito.org/announce,  
http://open.nyaatorrents.info:6544/announce,  
http://shadowshq.yi.org:6969/announce.php,  
http://siambit.org/announce.php,  
http://tracker.bestxl.com:8077/announce,  
http://tracker.nwps.ws:6969/announce,  
http://tracker.trackerfix.com/announce,  
http://tracker.trackerfix.com:80/announce,  
http://tracker1.torrentino.com/announce,  
http://tracker1.wasabii.com.tw:6969/announce,  
http://tracker2.torrentino.com/announce,  
http://tracker3.torrentino.com/announce,  
udp://12.rarbg.me:80/announce,  
udp://9.rarbg.com:2710/announce,  
udp://9.rarbg.me:2710/announce,  
udp://bt.rutor.org:2710,  
udp://coppersurfer.tk:6969/announce,  
udp://eddie4.nl:6969/announce,  
udp://exodus.desync.com:6969,  
udp://explodie.org:6969/announce,  
udp://open.demonii.com:1337,  
udp://open.demonii.com:1337/announce,  
udp://shadowshq.yi.org:6969/announce,  
udp://tracker.coppersurfer.tk:6969/announce,  
udp://tracker.ex.ua:80/announce,  
udp://tracker.istole.it:6969,  
udp://tracker.istole.it:80,  
udp://tracker.istole.it:80/announce,  
udp://tracker.istole.it:80/announcea,  
udp://tracker.leechers-paradise.org:6969/announce
# 启动
aria2c --conf-path=/samba/aria2/aria2.conf
# 后台启动
aria2c --conf-path=/samba/aria2/aria2.conf -D

# 添加开机启动
sudo vim /etc/rc.local
# 添加下面内容  
sudo aria2c --conf-path=/home/pi/samba/aria2/aria2.conf -D
# 退出后添加可执行权限
sudo chmod +x /etc/rc.local

–conf-path= 后面的路径为 aria2.conf 配置文件的绝对路径。

${HOME} 表示 /Users/用户名,此处无需使用。

启动后可以通过该网站进行管理,亦可下载yaaw的Chrome插件或者使用命令行的方式进行下载使用。

http://webui-aria2.ghostry.cn/

在这里插入图片描述
下载任意文档测试,正常运行,即已实现自动下载功能。


四、写在最后的话

至此,DAS服务器以及全部搭建完成,考虑到开发板长时间启动,建议加装散热风扇及外壳,按此方法完成DAS服务器搭建后树莓派重启后仍可以正常运行,无需更多操作;

此外,针对移动设备访问,苹果用户可以在App Store下载「FileExplorer」或「nPlayer」来访问局域网中的共享文件;安卓用户可以下载「ES文件浏览器」来访问局域网的共享文件夹;

FileExplorer


最后,如果还有兴趣了解如何在互联网环境下,基于Nextcloud,挂载Google drive,搭建Aria2+AriaNg,实现在线下载BT磁链/在线观看/全功能文件管理/无限容量云盘点击此处阅读

挂载google drive
离线下载

参考:
1: https://www.jianshu.com/p/308fb22a7dab
2: http://aria2c.com/usage.html
3: https://www.linuxprobe.com/how-pai-nas.html
4: https://www.bilibili.com/video/av19369685
5: https://blog.csdn.net/zhangjianying/article/details/74937378
6: https://www.linuxprobe.com/how-pai-nas.html
7: https://segmentfault.com/a/1190000016097376
8: https://www.cnblogs.com/tanhangbo/p/4282597.html

猜你喜欢

转载自blog.csdn.net/deng_xj/article/details/88097210