提到家庭存储,我们在说的是什么
在我们开始组建家庭存储之前,我们应该先简单了解一下我们为何要组建家庭存储,以及家庭存储都应该满足什么功能。
家庭存储的目的
其实很多人都有一些原始的需求,而这些需求我们都潜移默化的被某些应用解决了,并且纳入到我们的日常生活习惯中,比如:我们会用 icloud 保存密码、相册,用百度网盘备份文档等等,那么,我们将这些需求做一个更全面的分类,大致分为如下几个部分:
- 备份数据
- 在多个设备之间转移数据,比如:换手机的时候
- 与其他人共享数据,比如:网盘共享
- 使用数据服务,例如:照片整理去重,离线下载等等
那么,这又牵扯出第二个问题,常用的云存储也可以满足这些要求,为何还需要家庭存储呢,其实,不用我说,大家都能说出几个云存储的缺点
- 不稳定,云存储厂商会倒闭
- 价格贵,动辄几 T 的存储空间,一年就得几百块
- 功能不够全面,例如 icloud 可能只提供一些简单的数据备份,还需要结合其他云盘进行多样化的数据管理,百度网盘提供的 app 功能也不支持直接电视播放
- 速度慢,例如用百度网盘在线观看,画质差,有些数据可能还会被封(懂得都懂)
而这些,一个好的家庭存储都可以解决,真正做到数据存在手里,随时随地取用
家庭存储通常伴随着一些计算机术语与编程概念,其实是需要一些门槛的,而对我们开发者来说,反而是日常都会用到的东西,上手难度更低,所以我更推荐开发者都去玩一玩。
家庭存储的基本要素
这里我提出一些我个人的理解,主要列举一些家庭存储的基本前提与功能。
- 我们得有一个家庭,这里说的不是狭义的家庭,有多少人这样,其实,你一个人有多台设备,也可以算一个家庭,例如:笔记本、手机、pad、电视,有些东西需要在多个设备之间共享,那么你的这些设备,就算一个家庭
- 数据,在不同的家庭成员上,我们应该有一份或者多份数据需要共享,否则,就没必要组件家庭存储,这其实比较常见,例如:一部电影,一些照片,可能平时在手机里拍摄,需要共享给其他家庭成员观看,或者简单的做一些备份
- 存储方式,唯一性,数据应存储在一个数据中心,并满足多平台网络存取,例如:可以在手机上保存数据,在电脑上整理,或者在电脑上下载,在电视上观看,存储也应该支持多种环境,例如:可以在局域网操作,也可以在公网下,在移动网络下操作
- 易于扩展,存储介质总会有用完的一天,应该方便替换,或者升级容量。
- 提供多纬度的服务,除了最基本的存储外,家庭存储厂商还应该提供数据的管理,数据的可靠性保障,多种数据服务的支持
如何选用家庭存储
首先先说结论,家庭存储推荐使用 NAS 来搭建,但是我们不妨先了解一下常用的存储架构都分为哪些。
DAS(Direct Attached Storage,直连式存储)
直接和计算机相连接的数据储存方式,像固态硬盘、机械硬盘、光盘驱动器这一类和计算机直接相连的存储设备都是属于直连式存储设备,比如我们常用的驻场开发的安全 U 盘。
SAN(Storage Area Network,存储区域网络)
一种连接外接存储设备和服务器的架构,是一种基于块的存储,该架构的特点是,连接到服务器的存储设备,将被操作系统视为直接连接的存储设备,SAN 采用光纤通道(Fibre Channel)技术,通过光纤通道交换机连接存储阵列和服务器主机,建立专用于数据存储的区域网络,换句话说,SAN 还是直接和存储打交道,只不过通过网络打交道而已。
NAS(Network Attached Storage,网络附属存储)
是一种文件级(与块级存储相对)的计算机数据存储服务器,它连接到计算机网络,并提供对异构网络用户的数据访问。它专门用于通过其硬件、软件或配置来提供文件服务。它通常作为专门制造的专用计算机设备制造。 NAS系统是包含一个或多个通常排列成逻辑存储器、冗余存储器或RAID存储驱动器的网络设备。NAS消除了从网络上的其他服务器提供文件服务的负担,它们通常使用网络文件共享协议(如NFS、SMB或AFP)提供对文件的访问。
了解了上面的架构之后,我们就更能知道为何 NAS 适用于家庭存储,一方面,他方便对多个存储结构的管理,另一方面,价格也相对便宜,不需要其他交换机或者高级技术接口。
现有的 NAS 品牌有:群晖,威联通,西数,网件,铁威马等。
由于本人用的是群晖,接下来主要就群晖给大家分享一下本人的家庭存储是怎么搭建的,都实现了什么能力
群晖
群晖科技股份有限公司(品牌名称:Synology,简称群晖或群晖科技)为台湾一家网路附加储存(NAS)服务商也是世界最大的网路附加储存(NAS)厂商,总部位于新北市。目前群晖的产品,在中小企业及家用NAS市场占有率居世界首位。
设备上,群晖从 2 盘位到 12 盘位都可以满足,同时支持扩展盘位
下面这张图主要显示目前群晖 DS 系列的设备,也就是主要针对家庭的设备,同时群晖也有针对中小企业的 NAS 设备以及 SAN 设备。
需要注意的是:型号最后带有 J 的表示该 CPU 架构为 arm 架构,而 arm 架构不支持 docker 等一些高级功能,这些型号都是入门级,我下面的应用介绍,有很多都是建立在 docker 基础之上的,如果需要这些应用,一定不要选择 J 结尾的型号。
除了硬件产品外,群晖最核心的功能还是软件,群晖的 DSM 开放系统,结合提供的套件,以及 docker 能力,能衍生出非常丰富的生态系统,以至于很多人使用廉价的硬件,搭配黑群晖使用(破解版群晖系统),当然这里不推荐黑群晖,一个是系统不容易升级,再一个容易被人攻击。
基本及套件功能
1. 控制面板
控制面板有非常多常用功能,是整个系统的核心
- 可开启局域网文件服务,同时大家也可以看到还有很多常用网络文件协议,例如:FTP、NFS,rsync 等等
值得一提的是,如果是 MAC 系统,也支持远程的 Time Machine
- 外网访问,这里,群晖提供了多种解决方案,最常用的是群晖自带的 QuickConnect 服务,这里注册的 ID 可以应用在群晖的官方 App 里,也可以通过提供的地址直接打开群晖管理后台系统
另一个就是 DDNS,DDNS 是一种内网穿透手段,简单说就是定时将我们宽带的动态 IP 指向一个固定的域名,从而实现域名访问内网,群晖提供多个域名,这里可以配置自己的子域名
- 可以配置 HTTPS 证书
我们之后会启用各种服务,有些需要安全性比较高,群晖也提供 HTTPS 证书服务,可以满足多种子域名的证书配置,群晖用的是 Let's Encrypt 服务,该服务可以免费申请 HTTPS 证书,缺点是有效期只有几个月,而群晖也贴心的为我们设置了到期自动续订的功能。
- 启用 SSH 访问
可以启用 SSH 访问群晖服务器,其实群晖本质上就是一个 Linux 服务器,可想而知我们也省了云服务器的钱,当然在中国要备案还是需要一个正式的云服务器及固定 IP,但是一旦备案成功后是不是也可以将子域名指向群晖的 DDNS 呢,这里我还没有尝试过
- 配置 Nginx
一般是用于服务的 HTTPS 进行转发
其他还有很多设置,这里就不一一赘述了
2. 文件管理
这里可以对所有硬盘的文件进行管理,可以复制剪切,拖拽,还是非常方便的
3. Download Station
一个远程下载工具,支持 BT 以及 电驴,一个离线迅雷的替代品,可以利用群晖的低功耗长时间下载,再也不用担心耗电与自动关机了
4. Cloud Sync
支持与其他网盘同步数据,不过目前国内支持比较好的只有百度网盘,其他网盘也不是不行,但是需要借助 docker 与 webdav 实现,目前我的主要影视资源都通过百度网盘转存并且同步到群晖上
5. Universal Search
全局检索,速度非常快,支持全文检索,或者按照文件类型检索,其实在你进行文件操作的时候,如果有增减,群晖会自动重新建立索引,这也是检索速度快的原因
6. Synology Drive
一个共享网盘,同时提供客户端应用(PC,手机),可以支持与客户端同步,可以生成分享链接(包括带密码的),可以创建团队,为家庭中的每个人创建账号,方便成员在不同的设备上,可以说这个功能直接替代了 OneDriver 等类似的个人网盘,而且同步稳定,不会出现失败的情况,非常强大的一个功能
MAC 客户端
7. Synology Photo
管理你的照片,同时提供手机客户端,方便将手机的照片备份到硬盘里,支持 ios 的动态照片,支持对照片的自动分组展示(这里不会创建文件夹,而是一种逻辑上的分组),比如按照头像、拍摄地点、时间分组,方便查看,对我来说,是一个不可替代的图片备份功能,有了它,不用担心不小心删掉照片,也不用担心手机空间不够了,可以放心大胆的拍拍拍
8. Note Station
一个在线笔记的替代品,提供手机、PC客户端,方便随时记录灵感,当然,我更多的是用来记录会议纪要,一些临时的想法记录
9. Vpn Server
可以开启 Vpn ,使你在其他网络环境里,也可以连接到家庭内网,需要注意的是,国内不提供该套件的下载,需要到国外的群晖网站下载,并且手动上传安装,这里我使用的是 OpenVpn,开启后,会给我分配一个内网的 192.168.2.* 的网段,我用他更多的时候是连接家庭光猫,配置端口映射,当然,也尝试过连入内网,远程开启 PS5,在 MAC 通过串流玩游戏,不过想要完美流畅的玩耍,还需要视你家的带宽情况而定。
Docker 应用
上述的一些套件,更多的是对数据进行一个管理,但是,Docker 的出现,让群晖真正变成了一个生产力工具,因为在 Docker 上,理论上有无限的开源容器可以使用,凡是可以通过 Docker 部署的服务,都可以部署在群晖上,Docker 真是人类最伟大的发明之一。
首先,我们需要安装 Docker 套件,该套件会提供一个简单的管理界面,帮助你下载镜像,开启容器,配置容器环境变量、端口、映射的外部存储等,下面是我正在运行的一些容器
1. bitwarden
一个开源密码管理器,在用这个之前,我是付费使用了 onepassword 密码管理器,二者功能差不多,都提供各平台的客户端(PC,手机,chrome扩展),bitwarden 支持从其他密码管理器导入数据,非常周到,于是很快的就可以从 onepassword 无缝切换到 bitwarden
密码管理器提供复杂密码生成功能,针对指定网站及 app 自动填充密码功能,不仅能加强自己的密码强度,也免去忘记密码的痛苦。
2. carlibre
开源电子书管理器,我们也用它做过电子阅览室项目,支持各种类型的电子书互相转换,也可以在线阅读,而且支持推送到 kindle 设备功能(必须得小于 50M),结合豆瓣刮削,可以更方便的获取电子书的元数据,我主要用来管理漫画以及小说,配合手机版的 kindle 阅读器或者其他阅读器,可以方便的管理书籍数据
3. alist
alist 是一个开源网盘同步工具,由于国内很多网盘没有提供相应的 api,所以需要手动的将登录信息 token 配置到 alist 中,实现网盘的同步,同时支持 webdav,可以结合上面说的套件 Cloud Sync 对阿里网盘、夸克网盘进行同步
4. clash + clash-webUI
clash 是开源代理工具,通过配置可以支持 shadowsocks 或者 v2ray 的代理,如果有多个可以提供测试自动选择最快的代理,本人在 PC 和手机端都用 clash 作为科学上网工具,这里我们主要提供一个 clash 的服务,这样局域网内的相应端口就开启了 http 代理,可以应用于家里的电视、PS5 或者其他没有 clash 客户端的设备进行科学上网,配合 clash-webUI 可以方便的对 clash 的运行状态进行监控
5. speedtest
speedtest 是一个测速服务,开启后,相当于家庭 NAS 变为一个测速节点,可以用来测试外网连接家庭的速度
本文到此就结束了,在使用 NAS 上我还在探索一些其他的生产力工具,尽量能将更多的需要依赖第三方 APP 的功能都转为 NAS 功能,希望能对大家起到抛砖迎玉的效果