学习呦
7 8月 2019 8 min read

树莓派的又一次折腾-搭建家用NAS

NAS-网络附属存储,就是把服务和存储分离开来,分别实现。说到这个,为什么搭建NAS呢,先说下家里的电子设备的环境,4台电脑,两个笔记本两个台式。之间传输资源数据都是靠移动硬盘什么的,自己的网盘seafile。很不方便。而且家里的媒体服务器没有,现在投屏看一看视频或者是一遍看视频一遍下载文件这样的形成了一种带宽的两极化,用的时候几乎占满带宽,不用的时候根本不占带宽。算是一种资源的浪费,也就让我萌生了自建NAS的想法。 话不多说,现在就开始。

Written by 米豆

NAS-网络附属存储,就是把服务和存储分离开来,分别实现。说到这个,为什么搭建NAS呢,先说下家里的电子设备的环境,4台电脑,两个笔记本两个台式。之间传输资源数据都是靠移动硬盘什么的,自己的网盘seafile。很不方便。而且家里的媒体服务器没有,现在投屏看一看视频或者是一遍看视频一遍下载文件这样的形成了一种带宽的两极化,用的时候几乎占满带宽,不用的时候根本不占带宽。算是一种资源的浪费,也就让我萌生了自建NAS的想法。

话不多说,现在就开始。

NAS系统有很多,群晖、FreeNAS、NAS4FREE、还有我用的OpenMediaVault。选择OMV的原因是正好看见有树莓派的镜像,因为家里闲置的能长时间运行并且功耗小的也就树莓派了,虽然OMV官方都有“善意”提示

OMV善意提示

不过,家里除了我们一家三口用一用应该就没别人用了,性能足够了。还有就是以前听过的FreeNas,没选它的原因就是人家只支持64位。。树莓派是arm-v7

首先是去官网下载镜像,还有去找一个烧录镜像的工具

官网链接点这里(建议玩这些都要有小飞机)

官方提供的镜像下载地址(没用小飞机下载真的很痛苦哦)

我把镜像( Raspberry Pi 2B, 3B and 3B+ 都可以用)放到了百度云 (提取码:5xhn) 上和自己的网盘seafile上

制作系统的工具也是在百度云(提取码:ljqv)和私有云盘上

制作的过程真是一键操作,把SD卡插入电脑用工具一键制作就行了

速度挺快

之后就是插卡上电~

登录的用户名和密码不一样

Web应用的用户是admin,shell的用户是root

注意要用root用户登录

登录之后看到没有IP,如果你的树莓派插上路由器网线都没有获取到IP那么可以通过命令

armbian-config

进入armbian的配置界面,或者通过命令

nmtui

进入网卡的设置界面,配置自己的网卡

这里我碰到一个有趣的问题,我们家里的拓扑结构是这样的

家庭网络拓扑

为了方便,交换机,网关,路由器都变画成路由器了

刚开始给NAS(树莓派)分配IP的时候错误的连接到了子网路由器(TP-Link上),结果就是分配了子网网段的IP,但是手动给配置的IP和网关都是天翼网关的。结果就是局域网内能连通,无法上外网。

反正,我也搞不懂家里为什么这种拓扑结构。。

如果你的家里只有一个路由器就能解决一些问题。

之后进入系统(我因为手动配置IP的时候直接用的HDMI外接显示器,树莓派的输出都在显示器上,不要吐槽我手机拍屏幕)发现nginx启动不了。这可不行啊,Web服务都是在nginx上,这样就用不了Web应用。

用命令看下nginx的状态

systemctl status nginx

提示地址簇不支持这种协议

nginx地址簇错误

好吧,来到/etc/nginx/sites-available/openmediavault-webgui下看(OMV配置文件)

OMV nginx配置文件

listen这里怎么会这样写?

“#”注释的是错误的,[::]正则表达式代表0.0.0.0任何访问的IP,后面的80就是http了,只要用下面的写法就行。

成功启动nginx进程

nginx成功启动

去浏览器访问web应用吧

Web登录页面

这里的登录用户是admin哦

之后就是配置一气了,首先注意要先允许root用户通过ssh登录shell,要不然,只能外接显示器连接服务器了哦

SSH root登录配置

注意了,ssh很关键的。远程ssh后期的维护都是靠shell呢

基本的配置在System栏

OMV System配置面板

可以设置web服务器监听的端口,配置https,域名(外网访问)。设置时间时区。邮件通知(需要stmp服务器,其他两个协议的也行pop3和IMAP。性能监视,还有有意思的定时任务(比如备份策略什么的)还有就是装东西的OMV-Plugin(OMV插件)和OMV-Extras(OMV拓展)

Storage栏:

存储设备设置的地方,有物理磁盘(physical disks)磁盘监视器,RAID冗余磁盘阵列。一键挂载的file system设置和u盘flash(不建议用u盘)

正好家里的一块希捷的1T的HDD只是作为移动设备使用,来,格式化成ext4之后挂载了。

磁盘格式化挂载

插到树莓派上就可以,不知道能不能热插拔

现在只是识别了这一块硬盘,当然,如果你的硬盘是ntfs最好要转换格式成ext4哦,否则会出一些错误

这里的错误是系统内核的错误

系统内核错误

倒不是内核编译问题导致模块不能用,而是内核版本太低不支持虚拟化磁盘

apt-get install kernel*

上面的命令就是升级内核的

升级内核

选中磁盘可以擦除磁盘

擦除磁盘

在File Systems中挂载磁盘,之后才能使用
当然,你有RAID可以使用RAID的管理器

先说Diagnostics和information:

Diagnostics就是显示系统的一些运行日志,运行的状态,系统信息,服务信息状态的。

information就是“关于”(可以看看QQ和微信的“关于”)

Services:

这里就是NAS支持的服务了,有很多

OMV服务列表

自己看吧

Apple Filing没有mac,用不了时光机

FTP,通过ftp协议进行传输的一种文件协议。基于这种协议的文件服务器。顾名思义,传输文件。实时文件共享,双向传输。权限划分

NFS,树莓派就是一个文件服务器,很多设备可以访问树莓派拿到数据。这也就是解决我的家里很多PC和Laptop之间传输文件的解决方案

SMB:这个是微软和因特尔共同推出的文件共享协议,不知道大家用没用过windows上面的文件共享,两天电脑之间拷贝文件不需要u盘只需要文件共享和同一个局域网下就可以拷贝文件了。用这个协议也可以实现我要完成的功能,但是这个会话的建立要双方,所以必须请求机器和目标机器同时在线,所以就算了吧

ssh:不要问我

媒体服务器media server(PlexMediaServer):

超级简单的安装,不需要shell,一键安装。

拓展里打开

plugin里面找到安装

先看看 PlexMediaServer 原理

懂了吗

一部电影,一首歌曲,多个设备,连续播放

里面就是通过注册一个账号之后一步一步设置,没什么可截图的。

注意,如果要开启外网访问要用到内网穿透

我这里通过ftp方式添加媒体

把媒体拖到自己的媒体文件夹

在plex中添加自己的媒体文件夹

我这里就演示下多端同步

有些人说你这还要先下载,之后拖到相应文件夹,麻不麻烦。

下载的步骤可以用OMV提供的下载插件,拖到相应的文件夹完全可以用shell编程解决。有些人还要说我手机一个APP什么的,直接联网看。我只能说完全不一样的东西你非要杠我也没办法。

最方便的应该就是照片的查看

总结:

好吧,本来要介绍下OVM系统。但是仅仅是写这一篇博客的话总感觉是一次实验而已。树莓派做NAS真的就仅仅是玩具。所以最后决定还是老老实实准备购置一套1000以内的散件,自己组一台正真的NAS!

↑