树莓派-家庭NAS(1)

本文涉及的产品
文件存储 NAS,50GB 3个月
简介: 本人是一个软件行业从业者,在平常会关注各式各样的电子设备、也会了解各种各样的技术。经过多年的学习和实践后发现自己有各种各样的资料需要保存。还有自己在学习过程中总结出的各式的内容。所以,就一直在研究怎么把这些东西存储起来。

树莓派-家庭NAS(1) https://www.jianshu.com/p/9be7ada37863
树莓派-家庭NAS(2) https://www.jianshu.com/p/91405ca824b8
树莓派-家庭NAS(3) https://www.jianshu.com/p/80777ed85246

需求

本人是一个软件行业从业者,在平常会关注各式各样的电子设备、也会了解各种各样的技术。经过多年的学习和实践后发现自己有各种各样的资料需要保存。还有自己在学习过程中总结出的各式的内容。所以,就一直在研究怎么把这些东西存储起来。

最开始我非常讨厌有自己的电脑,因为很多时候网络的诱惑会非常的大。我没有那么强大的能力去抵制这些诱惑,所以一直就不准备给自己购买电脑,电视,游戏机等等电子设备。但会持续的关注。(现在使用的电脑,还是我老婆的电脑(^-^)\!)

没有电脑,就意味着没有地方去存储资料。最开始的时候,大概是2012年左右从零担上买了一块300G的硬盘。那时候硬盘还很贵,这块硬盘应该是500块大洋。一直就存着各种各样的文件。后来用百度云(最早的时候百度云盘叫百度云,后来百度为了开展自己的云产品才改了名),那时候用了很多方法去免费的增大自己的百度云盘。但后来,百度云盘开始对版权,敏感信息进行过滤。很多东西都没有办法存储到百度云盘上。并且国内的环境越来越差,国外的Dropbox、Google Drive、Microsoft OneDrive……国内的360云盘(已挂)、华为网盘(已挂)、UC网盘(已挂)、金山快盘(已挂)、新浪微盘(已挂)、迅雷快盘(已挂)。所以说不定哪天百度云盘也挂了。所以一直在探索个人/家庭存储解决方案。

后来慢慢的了解到有很多的厂商已经想到并已经解决了个人/家庭存储的问题,甚至还能解决部分家庭计算的需求。所以,了解了一些这方面的商业化厂商或产品。

群晖、威联通、铁威马。家用NAS设备的三大厂商。小米路由器 HD,华为荣耀立方,华三魔术家等带硬盘的路由器。这些厂商和设备都能帮我们解决存储的问题,并且还有其他的功能加入。为我们的"家庭计算中心",提供了可能。为之后智能家庭提供了最基础的硬件支持。

功能分析

上面提到了很多厂商和设备。如果机遇这些设备提供的功能的去评估设备的价值/价格是非常合适的。如果有经济能力、或者没有很多的闲暇时间,购买这样的设备觉得是物超所值的。

但是,本人是一个喜欢折腾的人。并且从前一篇文章可以知道我为了"折腾"买了树莓派。所以,就想怎样基于树莓派搭建《家用NAS》或者《个人网盘》。下面大概的分析一下《家用NAS》平台所需要的功能:

编号 功能 描述 备注
1 家庭部署 1.设备管理权,数据归属权全部都由个人负责。
2.设备所处的网络也需要控制。
3.数据安全有控制方法。
2 文件共享 1.需要在家庭内各种设备上都能访问文件。
2.可以控制访问权限。不同的成员访问不同的目录。
3 存储能力 1.有存储能力,并可以进行存储的扩展。
2.可以支持数据的备份与故障恢复。
4 远程同步 1.可以在外面的时候(公司、旅游等),将数据同步到家用NAS上。
2.可以在外面的时候访问家用NAS上的数据。
5 远程管理 1.支持远程管理,可以在外面的时候对查看家用NAS的状态。
2.可以支持扩展接入其他家用设备,并控制。
6 离线下载 1.可以在家用NAS设备上进行离线下载操作。
2.查看离线下载进度,控制下载到目录等。
7 各种终端 1.需要支持PC端管理功能。
2.需要支持手机端管理功能。
8 影音中心 1.可以进行DLNA,WebDav等协议
9 很多应用 可以支持很多应用,如:百度网盘同步,家用监控存储,远程家用设备控制,IFTTT等

因为是家用设备,所以这里考虑安全,可用性方面的内容少一些。家用NAS基本上可以上传下载,可以看视频基本上就够用了。所以其他方面的内容不再这里考虑。所以这个方案不适用与公司内部文件共享,网站文件存储等方面。

开源软件研究

有了上面的需求,就有了目标。开始研究开源软件,使用开源软件把整体的环境搭建起来。因为是基于树莓派的家用NAS解决方案,所以,都会基于树莓派上的一些解决方案进行。

树莓派上又多种方式开源项目,或者免费项目。可以简单的分为:树莓派操作系统镜像,应用软件,Docker镜像。一项一项的看看这些形式的项目的支持:

  • 树莓派操作系统镜像:

    LibreELEC,KODI,OSMC是树莓派官方上能找到的几个影音系统的树莓派镜像。这几个系统都是国外的大神开发的,所以对国内的情况支持较少。例如之前使用LibreELEC想看个Bilibili都没有插件进行扩展,国内的各大视频网站的支持也很弱。操作起来比较像是一个机顶盒,所以必须把设备放在电视附近使用HDMI进行连接。比较限制使用方式,所以在这里不考虑这几个系统。

    Raspbian是树莓派基于Debian的一个纯净版本。可以使用操作系统界面,也可以使用命令行方式安装。

    CentOS也有专门的树莓派版本,不过支持的比较差。在使用一段时间后莫名其妙的启动不了,不支持ntfs-3g文件系统,安装软件各种不支持树莓派版本。所以,CentOS的树莓派支持还是差一些的。

  • 树莓派应用:

    树莓派上有些应用层的软件,例如:OpenMediaVault,FreeNAS,RaspNAS。这些应用层软件可以使用多种方式安装,有些大神已经把这些系统生成了树莓派镜像,可以直接下载刷到SD卡上就可以用。也可以根据安装步骤进行应用层的安装。

    在树莓派上安装这些软件之后,使用时发现一些问题。在使用OpenMediaVault时发现,这个系统支持RAID。厉害了支持RAID方式的磁盘管理,不过要支持RAID就需要多块硬盘。在没有多块硬盘的情况下使用这些软件完成NAS的部署,比较困难。并且,在树莓派上运行这些程序事也会发现一些不稳定的问题,并且对终端支持的种类也有限,要不就是终端软件是收费的了。所以,整体考虑这几个应用系统不可用。不过有一些大神也使用这几个系统去实现NAS,可能大神们对这些系统进行了改造。

    Seafile - 开源的企业私有网盘。国产的私有化部署网盘系统,不过对树莓派的支持稍差一些。因为Seafile是使用Python语言开发的,可以使用Sqlite3作为数据库。但是在安装过程中会和其他的软件依赖发成冲突,并且不支持树莓派上使用Docker作为环境隔离。
    Pydio | Enterprise File Sharing & Sync Platform。也是一个不错的应用软件,比较遗憾的是不支持树莓派。

  • 树莓派Docker镜像:

    NextCloud,ownCloud,Samba,aria2等等。可以满足家用NAS的基本要求。但是需要进行组装工作。还可以进行环境隔离,不影响其他软件的运行。

离线下载之前使用过迅雷的linux版本,但是及其不稳定,而且已经停止维护了。所以在树莓派上没有比较好的离线下载工具。

解决方案设计

综上的开源软件的调研,发现没有现成的、完善的解决方案可以满足我们上面提到的软件需求。需要进行组装才能完成。俗话说的自己动手丰衣足食,所以先整一个整体方案。

整体解决方案

分几个部分:访问侧,设备侧,设备。其中各部分的意义为:

  • 访问侧:

    访问侧主要解决在公网上访问NAS服务的网络可达。这里因为家里使用的是电信的网络,所以是有公网IP的。这里只需要解决路由器与树莓派之间的端口映射以及拨号后IP的只变更的问题既可以。如果是其他网络,没有公网IP的情况可以借助于花生壳等类似技术完成。

  • 设备侧:

    设备侧主要是运行的软件。负责有Samba,NextCloud组成。Samba用于家庭内部的文件共享,端口不对外开放。NextCloud主要完成家庭网盘功能,可以在公网访问。

  • 设备:

    设备为上层运行的软硬件环境。设备上硬件主要是有路由器、树莓派和西数硬盘组成硬件,Raspbian为树莓派操作系统,Docker为软件运行环境。

以上从需求来源到调研软件,然后在形成整体解决方案。下一篇文章将会介绍其中的具体操作过程。

参见

Dietpi玩转SBC
Plex完美个人影音云盘搭建教程-Plex Media Server安装与使用方法
利用Pydio搭建免费私有云存储-多终端自动同步可在线播放音乐视频
Oneinstack安装NextCloud以及使用Aria2离线下载和ocDownloader插件配置
用树莓派制造一个像样的 NAS

推荐几个树莓派 raspbian 系统 可用的 arm docker源

https://nextcloud.com/athome/
https://nextcloud.com/yourdata/

相关实践学习
基于ECS和NAS搭建个人网盘
本场景主要介绍如何基于ECS和NAS快速搭建个人网盘。
阿里云文件存储 NAS 使用教程
阿里云文件存储(Network Attached Storage,简称NAS)是面向阿里云ECS实例、HPC和Docker的文件存储服务,提供标准的文件访问协议,用户无需对现有应用做任何修改,即可使用具备无限容量及性能扩展、单一命名空间、多共享、高可靠和高可用等特性的分布式文件系统。 产品详情:https://www.aliyun.com/product/nas
目录
相关文章
|
11月前
|
Linux Shell 文件存储
|
5月前
|
存储 网络安全 文件存储
NAS与云存储哪个更适合家庭使用?
【6月更文挑战第30天】NAS与云存储哪个更适合家庭使用?
238 58
|
2月前
|
Ubuntu Linux 文件存储
一台UPS实现NAS、PC和服务器的自动关机
一台UPS实现NAS、PC和服务器的自动关机
|
11月前
|
网络虚拟化 网络架构 文件存储
DIY nas 之ZeroTier构建异地局域网
ZeroTier是一款用于构建异地虚拟局域网的工具,让你在世界任何地方访问家里的设备或者其他客户端
253 0
|
文件存储 Windows
家庭NAS搭建实战之samba共享
家庭NAS搭建实战之samba共享
553 0
|
域名解析 网络协议 文件存储
树莓派-家庭NAS(2)
树莓派-家庭NAS(2)
170 0
树莓派-家庭NAS(2)
|
文件存储 Docker 容器
树莓派-家庭NAS(3)
树莓派-家庭NAS(3)
158 0
树莓派-家庭NAS(3)
|
数据采集 存储 固态存储
【瞎搞】树莓派搭建多功能NAS
# 1.需求 ## 基本需求: 1. 自用的轻薄本无法扩展硬盘,只有可怜的512G,需要网络NAS扩展硬盘位(给我珍藏的小电影一个House)。要求多端可用,利用SMB实现手机、平板、电脑都有可用的扩展硬盘位,且容量不小于1T。 2. 需要有Docker,可以安装transmission下载想要的电影内容。 3. 百度云越来越昂贵(现在主要在用88VIP送的夸克云),需要搭建能自动备份手机、平板等
【瞎搞】树莓派搭建多功能NAS
|
文件存储 数据安全/隐私保护 Android开发
利用树莓派使用samba服务搭建小型NAS服务器(下)
利用树莓派使用samba服务搭建小型NAS服务器(下)
利用树莓派使用samba服务搭建小型NAS服务器(下)
|
存储 Ubuntu 文件存储
利用树莓派使用samba服务搭建小型NAS服务器(上)
利用树莓派使用samba服务搭建小型NAS服务器(上)
利用树莓派使用samba服务搭建小型NAS服务器(上)
下一篇
无影云桌面