虽然之前尝试过路由器上连接硬盘,或者在 Raspberry Pi 上安装 OpenMediaVault 等方式,间接体验过 NAS,但由于稳定性等各方面因素,只是简单地玩一玩,没有真正地当做工具来使用。

在去年的 10 月份,我购买了一台运行 DSM 操作系统Synology DS918+,从此拥有了一台真正能够日常使用 NAS. 经过半年的使用,现在来分享一下自己的使用体验,供大家参考。

Synology NAS 操作系统 Diskstation Manager 的桌面截图

先说一下自己目前的网络环境:我使用的是杭州电信 100M 宽带,上行带宽之前为 4M,最近升级到了 20M,最高可通过多拨最高能叠加到到 40M。拥有公网 IP,没有 IPv6。家中网络基本上自己一个人使用,有若干有线和无线网络设备。

我的 NAS 上安装了四块 IronWolf 4T 硬盘,组成 RAID 6 阵列。文件系统采用 Btrfs. (如果有四块硬盘,更推荐使用 RAID 10,而我因为之前是使用两块硬盘做 RAID 1,不方便直接迁移到 RAID 10,就使用了 RAID 6.)

对于在 Synology NAS 上使用 RAID 5/6 + Btrfs 的安全性,可以参考如下链接:

备份

Time Machine

做为 macOS 用户,通过 NAS,可以方便地使用 Time Machine,备份电脑中所有文件,以及文件的历史版本。从而能够查看文件的修改记录,或在电脑故障、丢失时恢复数据。

Apple 官方推荐使用使用 macOS Server,或者 AirPort 无线路由器进行 Time Machine 网络备份。但由于 Time Machine 支持任何兼容 SMBAFP 协议的网络驱动器,所以也可以备份到 NAS 上。经过半年的使用,发现将 Time Machine 数据备份到 NAS 上,也同样稳定,没有出现太大问题。

同时 NAS 还可以为 Time Machine 备份目录设置配额,避免 Time Machine 无限制占用 NAS 的存储空间。

macOS 上,Time Machine 设置界面的截图。从截图中可以看到 NAS 上的 Time Machine 备份磁盘。

WordPress 博客备份

我的博客是使用 WordPress 搭建的,通过 BackWPup 插件定期将博客文章备份到 Dropbox

有了 NAS 的之后,通过 DSM (Synology NAS 的内置操作系统) 自带的 Cloud Sync 工具,可将 Dropbox 上备份的博客文章,同步到 NAS 上,从而多留一份备份。由于 Cloud Sync 具有单向同步的功能,只将 Dropbox 中新增的备份同步回 NAS,而 Dropbox 中删除的内容,NAS 中不会也跟着删除。如果 Dropbox 账号被盗、博客被攻击,仍能保证 NAS 中的博客备份不会因为「同步」的原因被删除。

Update(2019-10-25):已改用 Active Backup for Business,通过 rsync 的方式备份博客。

Amazon Glacier 文件归档

Amazon Glacier 是一款价格低廉的归档存储服务,主要用于企业数据的归档,也可用于个人。由于 Amazon Glacier 默认不提供桌面客户端,需要开发者通过 Glacier 提供的 API 进行访问。

在 Synology NAS 中,可以找到 Glacier Backup 的工具,能够用直观的图形化界面将数据备份在 Glacier 上。我也尝试将自己的文档与照片,按年份打包之后,在 Amazon Glacier 上再留一份备份。如果遇到特殊情况,本地数据丢失,可从 Glacier 取回数据。

NAS 上 Glacier Backup 工具的截图。图中为设置页面,将 NAS 上的一个本地目录,备份到 Amazon Glacier 上。

文档同步与管理

WebDAV + DEVONthink 笔记同步

DEVONthink 是一款功能强大的笔记与文档管理软件,支持通过 WebDAV 协议在电脑、手机、平板之间进行笔记的同步。

在 DSM 中,可安装 WebDAV Server 工具,搭建 WebDAV 服务器,实现笔记的同步,从此不再受流量和存储空间的限制。

DEVONthink 的「同步」设置页面。设置为使用自己 NAS 上的 WebDAV 服务器进行同步。

Synology Drive 文件同步

Synology Drive 相当于运行在 NAS 上的 Dropbox,可以理解为一款带有同步功能的网盘,同时支持版本控制等功能。

目前对我来说,已使用 Synology Drive 代替 Dropbox 和 iCloud Drive,做为日常文件同步的工具。虽然稳定性和不少细节与 Dropbox 相比,还有一些差距。但是由于其运行在局域网,容量和速度都更有优势。也希望 Synology 能够不断完善这款工具。

Synology Drive macOS 客户端的设置页面。设置为 macOS 上的一个目录,与 Synology Drive 双向同步。

下载

Download Station: HTTP, BT, eMule 下载

DSM 自带的 Download Station,是一款功能全面的下载工具,支持 HTTP/HTTPS 多线程下载,以及 BT、eMule 等协议。

对于我来说,主要使用 Download Station 进行 PT 下载。由于 NAS 一般 24 小时开机,用 NAS 进行 PT 下载后,可以长期做种,提高分享率。

Docker JDownloader: 国外网盘资源下载

国外论坛里,经常见到一些人通过网盘共享资源。这些资源往往被分成几个、十几个压缩文件,而且不少网盘限制下载频率和下载速度,通过网页下载体验非常差。

JDownloader 这款下载工具,内置了主流网盘的插件,直接复制资源链接,就可以在 NAS 中添加对应的下载任务,并开始下载。

JDownloader Docker 容器的状态页面

百度网盘资源下载

在国内,有时候可能还需要下载其他人使用百度网盘分享的资源,或者使用百度网盘的离线下载功能,来下载冷门资源。由于百度网盘有限速,直接使用自己的电脑下载,需要等比较久的时间。

DSM 的 Cloud Sync 工具能够将 NAS 中的制定目录,与百度网盘的中的目录进行同步。只需在百度网盘中,将需要下载的文件或目录,复制到与 NAS 同步的目录,NAS 上即可自动开始下载。

多媒体

Plex 媒体服务器

Plex Media Server 是一款界面漂亮、功能强大的媒体服务器,可讲电影、电视剧、照片、音乐等资源统一管理,并以漂亮的方式展示。可通过网页,以及电脑、手机、平板、游戏机、电视盒子、Raspberry Pi 等设备上的 App 中观看。

我个人并不喜欢收藏大量资源,所以只能算是 Plex 的轻度用户。所以,即使不订阅高级会员,Plex 的功能对我就已经够用了。另外,在 iOS 上,我没有使用 Plex 官方的客户端,而是使用了 Infuse,其界面和易用性比官方客户端好很多。

Plex Media Server 网页版的界面。页面中展示的是 Spy in the Wild 纪录片。

Synology Moments 相册

我的照片主要保存在 Google Photos 上,同时会在 NAS 上保留一份备份,防止 Google Photos 上的照片因为一些原因以外丢失,并方便在网络不好的情况下浏览照片。

网络

网络加速

在 NAS 上,运行自制的 Privoxy Docker 镜像,通过 HTTP 代理,实现国内外网站分流,为 Nintendo Switch 等设备提供下载加速。

其实很想在 NAS 上通过虚拟机运行 macOS Server,并安装 Surge for Mac,运行在网关模式,这样手机、电脑和 NAS 都能共享同一套配置文件,并相互同步了。只是在 KVM 上运行 macOS 需要较长时间的折腾,最终放弃。

VPN 服务器

我也在 NAS 上搭建了 PPTP VPN 服务器,主要用于出门时连接家庭网络,查看路由器、光猫等状态,访问未开放到公网的服务,或以更安全的方式进行远程桌面连接。

OpenWrt 软路由

我之前在用的无线路由器RT1900ac,这款路由器功能挺强大,稳定性也不错,另外能够提供及时的安全更新。不过由于性能的原因,一些功能实现得不好:

  1. QoS. 在 RT1900ac 上启动 QoS 之后,NAT 硬件加速就会关闭,这时候只能靠 CPU 进行软件 NAT。虽然 RT1900ac 的 CPU,在家用路由器中,已经比较强大了。但因为 QoS、NAT 等消耗了较多的 CPU 资源,在百兆宽带下,打开 QoS 会严重影响带宽。
  2. IDS/IPS. 在 RT1900ac 上,提供了 Intrusion Prevention 工具,用于分析网络流量,并检测并丢弃可能有害的报文。该工具基于开源软件 Suricata,同时 Synology 为其添加了漂亮的图形界面,以及推送通知等功能。但由于 RT1900ac 的内存 (RAM) 只有 256MB,远远不够 Suricata 使用,即使接上 SSD 做为 swap,表现也不是很好。

对于 DS918+,由于采用了 x86 处理器和较大的内存,不用过多担心性能问题。而且 DSM 提供了基于 KVMVirtual Machine Manager,以及 Open vSwitch 等工具,可方便地通过虚拟机创建软路由。

对于我来说,选择了自己更为熟悉的 OpenWrt 做为软路由操作系统(以后可能会尝试更专业的 RouterOSpfSense )。通过 SQM 实现免配置的智能 QoS。并打算在以后尝试安装 Snort,做为 IPS/IDS 工具使用。

通过 NAS 做软路由之后,我的家庭网络拓扑图如下:

我的家庭网络拓扑图。Synology DS918+ NAS 具有两个以太网接口。NAS 上运行有 OpenWrt 虚拟机,虚拟机中 OpenWrt 的 LAN 口通过 Open vSwitch 与 NAS 上的第一个以太网口相连,OpenWrt 的 WAN 口通过 Open vSwtich,分别连接 NAS 操作系统的内部网络,和 NAS 上另外一个以太网接口。同时,这个以太网接口与 RT1900ac 相连,做为无线 AP 和交换机,为家中其他设备提供网络。

Update(2018-06-16):

已改用 pfSense 做为软路由系统,并通过 Docker 中的 ELK Stack 实现日志的可视化。具体配置请参考本文:我的 pfSense 软路由配置:QoS、IDS、ELK 日志分析与流量监控

智能家居体验

HomeBridge

HomeKit 是 Apple 发布的用于智能家居的软件框架。对于支持 HomeKit 的设备,可通过 iOS 上的「家庭」App,或通过 Siri 进行控制。

HomeBridge 是一个模拟 HomeKit API 的软件,能够使不支持 HomeKit 的设备,通过 HomeBridge,接入 HomeKit.

我家有三个 Yeelight LED 灯泡,支持通过手机 App 控制,但不支持 HomeKit。这时候,只需要在 NAS 上,通过 Docker 运行 HomeBridge,即可在 iOS 上对灯泡进行控制。对我来说,最常用的用法,是每天睡觉前,对着手机或 Apple Watch 说一声「Hey Siri,把灯调暗一些」,灯泡即可自动变暗。

Update (2018-09-09):

目前已经为 HomeBridge 安装了更多插件,并将 Plex 的电影播放状态,以及 Surveillance Station 的 Home Mode 开关接入了 HomeKit. 具体可参考这篇文章:再次折腾 HomeBridge.

Surveillance Station 视频监控

Surveillance Station 是 DSM 中的一套视频监控软件,能使 NAS 变成 NVR,通过连接多个摄像头,实现统一的视频监控,并保存监控录像。

我使用了 FOSCAM C1 摄像头,通过连接 Surveillance Station,实现在 NAS 上统一查看监控画面并录像。同时,在路由器上禁止摄像头访问 Internet,避免了摄像头可能会出现的安全漏洞

其他

OpenGrok 代码在线阅读

OpenGrok 是一款在线代码阅读工具,具有强大的交叉引用功能,方便对大型代码进行约阅读。

本来想讲 OpenGrok 搭建在我的 VPS 上,但由于硬盘和内存空间有限,就通过 Docker 搭在了 NAS 上,并反向代理到 VPS 上。可通过 https://code.blanboom.org/source/ 访问。

Docker + Ubuntu + VNC:应急使用的 Linux 桌面环境

在 NAS 上,可通过 Docker 运行一套 Linux 桌面环境,并通过 VNC 连接。
之前出差的时候,只带了 iPad,没带电脑。当时因为一些原因,需要一个桌面版的 Chrome 浏览器,就通过在 NAS 上运行一套应急的 Linux 环境,VPN 连接家庭网络后,通过 VNC 登录桌面,并安装使用 Chrome.

运行在 Docker 中的 Ubuntu 桌面环境,通过 Web VNC 连接。

Syslog 服务器

DSM 中的日志中心,不仅可以记录 NAS 自己的日志,还可以做为 Syslog 服务器,收集其他设备的 Log。目前,我已经将自己的 RT1900ac 无线路由器,设置为将 Syslog 发送至 NAS。

接下来还打算将 VPS 上的各种 Log,以及自己用 Raspberry Pi 完成的 DIY 项目中的 Log,都发送至 NAS,由 NAS 统一保存和管理。

DSM 日志中心截图。设置为从我的无线路由器 RT1900ac 中接收日志。

小结

经过六个月的体验,NAS 对我来说虽然不是生活必需品,但却是能让自己的数字生活更加方便一些。最重要的是,能够满足自己的折腾欲望😂。希望今后自己能够探索出 NAS 的更多玩法。

最后修改日期: 2021-05-13

留言

赞,使用的很深入了

恳请发我一份自制的 Privoxy Docker 镜像,非常感谢!

写的是在太详尽了,实在忍不住赞一个

Amazon Glacier的使用成本有没有详细一点的分析啊?

    我的不到 100G 数据,被压缩打包成若干成十几个文件上传,主要用于归档备份,不到本地所有备份丢失的时候不取回。这种情况下费用基本上可以忽略。 具体的收费可能还要看下官网,或者参考下这些链接: https://www.v2ex.com/t/72822 https://imlonghao.com/38.html

在 NAS 上,可通过 Docker 运行一套 Linux 桌面环境,并通过 VNC 连接。 之前出差的时候,只带了 iPad,没带电脑。当时因为一些原因,需要一个桌面版的 Chrome 浏览器,就通过在 NAS 上运行一套应急的 Linux 环境,VPN 连接家庭网络后,通过 VNC 登录桌面,并安装使用 Chrome. 這個怎設定,要Router 開Port?

    可以使用 fcwu/docker-ubuntu-vnc-desktop,然后在路由器(Router)上设置端口映射(Port Mapping),就可以在公网访问了。 不过为了安全起见,最好将流量进行加密,可以通过 SSH 端口转发的方式,加密 VNC 流量(参考这篇文章,在 iPad 上,Screen VNC 自带对 VNC over SSH 的支持)。也可以在 NAS 上运行一个 VPN 服务器,在路由器上通过端口映射打开 VPN 服务器的端口,然后通过 VPN 的方式访问内网的 VNC 服务。

An Junlong 

你好! 能详细讲一下DEVONThink如何与NAS通过WebDAV同步吗,我在设置的同时一直提示授权失败,谢谢!

    安装完 WebDAV Server 之后,用 NAS 的用户名和密码就能登录。如果不行的话,检查下对应用户是否有访问 NAS 共享文件夹的权限、访问 WebDAV 服务的权限,以及 WebDAV 服务器的端口是否被防火墙阻止。

      你好,我正在找Devon和群晖链接的问题,一直出现dtcloud无权限之类的提示,有没有什么解决方案可以推荐? 谢谢!

        确定下用户名和密码是否正确,访问的目录是否有权限。可以先用电脑上的 WebDAV 客户端试一下。 我这边没有遇到过类似的问题。

回复 Michael 取消回复

发布留言必须填写的电子邮件地址不会公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据