APP下载 微博 微信

Hao4K影音


[经验心得] 树莓派3B+搭建家用NAS

[复制链接]

发表于 2019年09月26日 17:24 284894 0 来源:媒体存储> 经验心得 |只看大图 回帖奖励 |倒序浏览 |

mysterymask 帖主

2019-9-26 17:24

树莓派3B+搭建家用nas
硬件组装
Raspberry Pi 3
专用壳子(带散热片、风扇),某宝上有,自行搜就是了
5V 2.5A电源头、电源线(带开关),某东上买的
自家的移动硬盘,如果带的硬盘大(多),建议买个带电源的硬盘座
系统安装
安装操作系统在https://www.raspberrypi.org/downloads/ 下载Raspbian操作系统,下载完成后解压缩得到镜像文件(.img),然后我们需要一个工具把镜像文件烧录到SD卡上, 我知道有两款工具,Win32DiskImager,USB Image Tool,另外这两款工具还可以备份整个SD卡为一个镜像文件。下面以Win32DiskImager为例说明如何烧录,如图Figure 1所示。
把micro SD card插入读卡器中,连接上电脑. 等电脑识别后会分配一个盘符(例如G
http://sourceforge.net/projects/win32diskimager/ 下载 Win32DiskImager, 然后安装
安装完成后以系统管理员权限运行
选择之前解压缩得到的镜像文件,选择SD卡所在盘符
点击Write按钮开始写入镜像文件,然后就是等待,完成后会弹出提示框
file:///C:/Users/Zhaocs/AppData/Local/Temp/enhtmlclip/Image.jpg
Image.jpg
如何英文还可以,也可以直接参考官方文档:
https://www.raspberrypi.org/docu ... g-images/windows.md
登录SSHRaspbian默认用户名密码为pi/raspberry
系统配置raspi-config配置接下来就是进行系统的一些基本配置,输入,
[size=1em]sudo raspi-config
这里面可以进行一些系统相关设置,如图Figure 7所示,我们主要设置以下方面:
选择Expand Filesystem,然后把整个系统的可用空间扩展到储存卡的大小。
选择Change User Password设置新密码,按提示步骤完成
选择Internationalisation Options—>Change Timezone设置时区,在中国大陆,选择Asia—>Chongqing(或者Hong_Kong)都可以
按’Tab键,选中<Finish>,回车,提示Reboot(重启),选<Yes>,回车,RPi就会重启,SSH会自动断开连接,然后重新连接SSH,记得输入你设置的新密码。
file:///C:/Users/Zhaocs/AppData/Local/Temp/enhtmlclip/Image(1).jpg
Image2.jpg
其他一些选项,我反正是没设置,保持默认,想折腾的可以试试,比如Overclock(超频)
有线网卡设置静态IP地址,如果前面绑定过IP地址和MAC地址,那么这一步可以选择跳过。
编辑网络接口文件:
[size=1em]sudo nano /etc/network/interfaces
默认配置如下:
[size=1em]auto lo
[size=1em]iface lo inet loopback
[size=1em]iface eth0 inet dhcp
[size=1em]allow-hotplug wlan0
[size=1em]iface wlan0 inet manual
[size=1em]wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf
[size=1em]iface default inet dhcp
如果你要设置的是有线网卡的 IP 地址,那么把 eth0 的 dhcp 改成 static 然后在下一行追加 IP 信息,内容如下:
[size=1em]iface eth0 inet static
[size=1em]address 192.168.1.118        # 静态IP地址
[size=1em]netmask 255.255.255.0        # 子网掩码
[size=1em]gateway 192.168.1.1          # 网关
[size=1em]dns-nameservers 192.168.1.1  #  DNS服务器
关闭dhcpcd服务,启动networking服务
sudo systemctl disable dhcpcd
sudo systemctl enable networking
重启树莓派
无线网卡等更新…
软件更新源由于默认的镜像源网站在国外,导致下载速度非常慢,因此需要修改为国内镜像站点。先备份配置文件,做什么改动之前先备份是个好习惯。
[size=1em]sudo cp /etc/apt/sources.list /etc/apt/sources.list.orig
然后编辑配置文件,输入
[size=1em]sudo nano /etc/apt/sources.list 或者sudo vi /etc/apt/sources.list
删除所有内容,从下面选一个速度最快的源(ping一下可知, ping mirrors.neusoft.edu.cn),然后复制粘贴,保存。下面列出的是目前(2015/11/04)还有效的。
[size=1em]#大连东软信息学院(北方用户)
[size=1em]deb http://mirrors.[size=1em]neusoft.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]deb-src http://mirrors.[size=1em]neusoft.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]#中国科学技术大学
[size=1em]deb http://mirrors.[size=1em]ustc.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]deb-src http://mirrors.[size=1em]ustc.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]#清华大学
[size=1em]deb http://mirrors.[size=1em]tuna.tsinghua.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]deb-src http://mirrors.[size=1em]tuna.tsinghua.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]#重庆大学(中西部用户)
[size=1em]deb http://mirrors.[size=1em]cqu.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]deb-src http://mirrors.[size=1em]cqu.edu.cn/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]#前面几个都是教育网的
[size=1em]#搜狐
[size=1em]deb http://mirrors.[size=1em]sohu.com/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]deb-src http://mirrors.[size=1em]sohu.com/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]#阿里云
[size=1em]deb http://mirrors.[size=1em]aliyun.com/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]deb-src http://mirrors.[size=1em]aliyun.com/raspbian[size=1em]/raspbian/ wheezy main contrib non-free rpi
[size=1em]#debian源(后主要用于安装debhelper)
[size=1em]ftp.cn.debian.org/debian [size=1em]sid main
更多的镜像列表可以访问官方网站http://www.raspbian.org/RaspbianMirrors/
硬盘功耗管理

hdparm树莓派系统自带,不过不一定支持,http://mkitby.com/2016/05/15/raspberry-pi-nas-manage-hdd-power/
安装和配置 hd-idle
hd-idle 使用一个特殊的系统文件来检测磁盘活动, 如果没有这个文件,那么就不能使用hd-idle。输入
[size=1em]cat /proc/diskstats
应该会看到如下的输出, 如果提示找不到文件或目录,那就不支持hd-idle。
8 16 sdb 5604 130363 146538 16780 1814 51838 429152 763380 0 18230 780150
8 17 sdb1 5075 130363 139418 15370 8 0 8 10 0 8680 15370
8 18 sdb2 512 0 6984 1290 1805 51838 429144 763360 0 9770 764650
hd-idle的自己编译,首先安装编译环境:build-essential、fakeroot、debhelper
[size=1em]sudo apt-get install build-essential fakeroot debhelper -y
获取源代码,
[size=1em]wget http://sourceforge.net/projects/hd-idle/files/hd-idle-1.05.tgz
解压缩进入目录
[size=1em]tar -xvf hd-idle-1.05.tgz && cd hd-idle
编译安装,
[size=1em]dpkg-buildpackage -rfakeroot
[size=1em]sudo dpkg -i ../hd-idle_*.deb
继续检查硬盘是否支持hd-idle,
[size=1em]sudo hd-idle -i 0 -a sda -i 300 -d
You should see output like this
probing sda: reads: 13418, writes: 594344
probing sdb: reads: 146538, writes: 429152
按 Ctrl+C 停止 hd-idle
编辑配置文件,
[size=1em]sudo vim /etc/default/hd-idle
修改下面来开启hd-idle
[size=1em]START_HD_IDLE=true
调整空闲时间为10分钟 (60 秒 * 10)
[size=1em]HD_IDLE_OPTS="-i 0 -a sda -i 600"
重启服务,
[size=1em]sudo service hd-idle restart
安装流媒体miniDLNA

安装miniDLNA
如果采用sudo apt-get install miniDLNA,可能安装的不是最新版本,并且miniDLNA默认是不支持rmvb格式的视频,所以我们最好自己下载源代码,只需要做很少改动就可以支持rmvb,然后编译安装。
如果已经安装Raspbian仓库的miniDLNA,需要先移除
sudo apt-get purge minidlna -y
sudo apt-get remove minidlna
sudo apt-get autoremove -y
然后安装miniDLNA所依赖的包
sudo apt-get build-dep minidlna -y
如果提示出错,可以手动安装
sudo apt-get install libjpeg-dev libsqlite3-dev libexif-dev libid3tag0-dev libvorbis-dev libflac-dev libavformat-dev libavcodec-dev –y
安装编译相关工具
sudo apt-get install autoconf automake autopoint build-essential
下载miniDLNA源代码,目前最新的是1.1.5版
wget http://sourceforge.net/projects/ ... nidlna-1.1.5.tar.gz
tar -xvf minidlna-1.1.5.tar.gz
cd minidlna-1.1.5
修改源代码支持rmvb/rm
## metadata.c
//line 840
else if( strncmp(ctx->iformatctx->name, "matroska", 8) == 0 )
    xasprintf(&m.mime, "video/x-matroska");
else if( strcmp(ctx->iformatctx->name, "flv") == 0 )
    xasprintf(&m.mime, "video/x-flv");
//----add----
else if( strcmp(ctx->iformat->name, "rm") == 0 )
    xasprintf(&m.mime, "video/x-pn-realvideo");
else if( strcmp(ctx->iformat->name, "rmvb") == 0 )
    xasprintf(&m.mime, "video/x-pn-realvideo");
//---end----
if( m.mime )
    goto video_nodlna;
## upnpglobalvars.h
// Line 169
    "http-get:*:audio/mp4:*," \
    "http-get:*:audio/x-wav:*," \
    "http-get:*:audio/x-flac:*," \
    "http-get:*:application/ogg:*," \
    "http-get:*:video/x-pn-realvideo:*" // Add this
#define DLNA_FLAG_DLNA_V1_5      0x00100000
#define DLNA_FLAG_HTTP_STALLING  0x00200000
## utils.c
//line 381
        ends_with(file, ".m2t") || ends_with(file, ".mkv")   ||
        ends_with(file, ".vob") || ends_with(file, ".ts")    ||
        ends_with(file, ".flv") || ends_with(file, ".xvid")  ||
//----add----
        ends_with(file, ".rm")  || ends_with(file, ".rmvb")  ||
//----end----
#ifdef TIVO_SUPPORT
        ends_with(file, ".TiVo") ||
#endif
        ends_with(file, ".mov") || ends_with(file, ".3gp"));
配置,编译和安装miniDLNA,大概需要5分钟完成
./configure && make && sudo make install
复制默认配置文件
sudo cp minidlna.conf /etc/
复制启动脚本,来自动启动miniDLNA.
sudo cp linux/minidlna.init.d.script /etc/init.d/minidlna
为启动脚本添加执行权限
sudo chmod +x /etc/init.d/minidlna
然后更新rc,添加自启动服务
sudo update-rc.d minidlna defaults
先备份然后编辑配置文件
sudo cp /etc/minidlna.conf /etc/minidlna.conf.orig
sudo vim /etc/minidlna.conf
修改如下设置
media_dir=/home/pi/nas-data/DLNA
media_dir=/home/pi/usbhdd/usbhdd1
media_dir=/home/pi/usbhdd/usbhdd2
db_dir=/home/pi/nas-data/DLNA/db
log_dir=/home/pi/nas-data/DLNA/log
friendly_name=RasPi DLNA Server
创建文件夹
mkdir /home/pi/nas-data/DLNA
mkdir /home/pi/nas-data/DLNA/{Music,Pictures,Videos,db,log}
最后重启miniDLNA服务
sudo service minidlna restart
打开计算机网络,可以看到RasPi DLNA Server媒体设备,如图Figure 1所示。同时如果是使用Windows 10(win7没有,win8没测试过),在我的电脑->网络位置还会显示RasPi DLNA Server,如图Figure 2所示,这一点配合WMP比较有用,正好弥补了WMP的不足,后面会有详细介绍。
安装samba

安装samba所需软件
sudo apt-get install samba samba-common-bin –y
先备份,然后编辑/etc/samba/smb.conf文件
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.orig
sudo vim /etc/samba/smb.conf
创建shares文件夹
mkdir /home/pi/nas-data/DLNA/shares
需要修改添加的内容如下,
[global]
security = user
encrypt passwords = true
guest account = nobody
map to guest = bad user
#======================= Share Definitions =======================
[share]
comment = Guest access shares
path = /home/pi/nas-data/shares
browseable = yes
writable = yes
#read only = yes
guest ok = yes
public = yes
[NAS-Data]
comment = Nas data folder
path = /home/pi/nas-data/
browseable = yes
writable = yes
valid users = root pi
[USBHDD]
comment = Media folder
path = /home/pi/usbhdd
browseable = yes
writable = yes
valid users = root pi
share共享目录访问不需要密码,而NAS-Data, USBHDD访问需要验证,用户为root和pi。
最后重启samba服务。然后同一局域网的其他设备就可以访问RPi的共享目录
sudo service samba restart
Android可以使用ES File Explorer,IOS可以使用FileExplorer, FileBrowser, Documents和Remote File Free,或其他支持访问共享的文件管理器。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

返回列表 本版积分规则



绑定微信 + 关注公众号,第一时间获得消息通知!
:
新手玩家
:
介绍未填写

主题

帖子

积分8

图文推荐

  • 小量的影视、音频存储方案之我见

    最近,一块使用了近十年的4T移动硬盘挂了(曾被摔

  • 极空间挂载阿里云、115、百度、夸克等20个

    理论上使用如下教实现程极空间可以挂载阿里云网盘

  • 群辉加USB3.0千兆网卡成功,教程分享

    具体安装替换参考此贴https://www.hao4k.cn/threa

  • 科普:什么是硬盘MTBF?那MTTF、MTTD、MTTR

    买固态硬盘,我们会比较关注颗粒寿命,机械硬盘虽

  • 搭建私有云—华芸AS6404T NAS+华硕 AC68U体

    帮朋友搭建私有云—华芸AS6404T NAS+华硕 AC68U体

  • 机械硬盘该怎么选?教你最全机械硬盘选购指

    机械硬盘该怎么选?教你最全机械硬盘选购指南

  • 分享蜗牛星际A\B\C\D款机箱和功能分别有

    历经一个月研究:蜗牛星际ABCD款机箱和功能分

  • 利用NAS建立DNS缓存服务器Pi-hole

    在家用环境中利用NAS建立DNS缓存服务器 1 前

  • NAS都有哪些品牌?带你了解几大NAS名牌介绍

    NAS都有哪些品牌?带你了解几大NAS名牌介绍 前

  • 群晖硬盘迁移到新群晖,插在另外一台群晖NA

    之前有一台蜗牛星际做的黑群晖系统nas,然后现在

  • Hao4K影音app客户端下载