



2012 年9月,被某D安利了NAS 威联通TS-112,配置约为单核256M。打开包装后,NAS主机被放在书房的书桌音箱旁,和路由器做邻居(那时候似乎还在用ADSL?),在宽带变更为珠江宽频后,挪至电视机后方默默工作。
经过类似于路由器的IP后台设置后,才开始理解端口的意义(自动跳转至各端口应用),首发应用为SMB及DownloadStation – MLdonkey下载。SMB无需多言,脱机下载是真香,可以想象,通过这玩意24*7地下载能大大地减轻主力电脑的负担。整个硬盘主要分为2个区,分别为多媒体区,系统盘区。刚开始不懂,买了WD/1T/7200转的蓝盘,没过多久就被smart报警报废,后入同品牌NAS专用2T/5400转红盘,一劳永逸。
多媒体区 | 电影(JP),音乐(AAC,Mp3) |
系统盘区 | 工作文件存档。操作系统镜像,软件仓库、素材,游戏,照片,图片,各种记录 |
在IPAD(IOS)以及LG optimus2x(Android)上安装了QNAP全家桶,在Dell的Inspiron 13 2009(WINDOWS7/8/whatever)电脑上使用了映射驱动器,BYOD的所有设备在家中均互联互通。后来于201X年X月加设小米盒子双核版本,顺利实现电视上听歌看视频功能。2014年,TB入手INTEL 4代NUC-D54250WYKH,开启第二波GEEK WAVE。同时安装Hackintosh以及发现Wordpress之美。其中,Hackintoshed后使用OS X Mavericks,开启了AFP协议,自动找到了112 NAS(另有iTunes服务器,或者genius?)。至此,所有主流设备及主流系统均能备靠同一个仓库进行数据交换。
处理器 | Marvell 6281 1.2GHz |
内存 | 256MB DDRII RAM |
闪存 | 16MB |
支持硬盘数量类型 | 1 x 3.5″ SATA I/II 硬盘 |
网络端口 | 1 x 千兆网口 |
LED 指示灯 | USB、系统状态、HDD、eSATA、网络、电源 |
USB | 3 个 USB 2.0 (正面:1;背面:2) 支持USB打印机、移动磁盘、USB集线器以及USB不断电系统..等等 |
按键 | 电源键、USB 单键备份按钮、系统重置按钮 |
警报器 | 系统警报 |
尺寸 | 165.5 (高) x 60 (宽) x 218.4 (深) mm |
重量 | 净重: 0.79 kg/1.74 lb |
耗电量 | 休眠模式: 5W 运行中: 7W (含1颗500GB硬盘) |
电源 | 外接式电源, 36W, 100-240V |
风扇 | 1 x 静音风扇 (4 cm, 12V DC) |
初步研究过wordpress可以远程访问后,开启了QNAP内置的ddns功能——myqnapnas?日后升级为myqnapcloud。其可以通过浏览器及app?访问NAS的各种端口型服务,包括http,设置页面,文件浏览器等,但实际感受不好,一是慢,二是文件浏览器文件名经常乱码,甚至无法打开。尝试没多久后越来越慢,连本身的内置操作系统升级后主页面都十分卡顿,逐渐变为真正的仓库吃灰。
在启下之前,有必要回顾历史,看看早起的NAS都有啥功能配置。以父辈产品ts-100为例。原来ts意为Turbo Station,据考古挖坟,此产品出现于2007年左右,CPU为200MHz,内存为32M,可挂载sata硬盘。

你看,这个原型机已经包含了今天NAS的绝大多数功能,甚至打印机服务器,ddns,开源软件等。这规格让我联想到现在带usb口的路由器。
当初给父母解释这台小玩意时,统称“小型服务器”
没错,这台东西应回归传统服务器的范畴,或者说私有云。从此开始逐步恢复SaaS的荣光。有一次在张大妈看到“黑群晖”开始种草,矿难无情人有情,用二手矿机如星际蜗牛等矿渣中的战斗机3位数搞定小服务器硬件+一条黑裙岂不美哉?与此同时,不久前的笔记本(没错,就是Inspiron1320)散热清灰过程如梦魇般挥之不去——拆一次机卡扣脱落、模具变形,残值腰斩。再看看这台小服务器的黑黑的菊花,咦,真恶心。为啥电脑就不能做成像平板电脑那样地省心呢?

无风扇——3D打印支架(结合BIM)——OMV
黑群晖纠结3点:
1、硬盘不能休眠
2、系统无法升级
3、群晖云连接无法使用
还是买了个黑群晖的DOM棒试试再说(学到新知识,以前从未听说过DOM Disk)
2021年底/2022年初,经过一番百度后,决定直接跳开黑群晖,安装开源的NAS系统,经过大半年的使用,感觉真香。
1、不需要大而全的功能,支持一般的文件传输协议就行
2、需要其他的小程序,安装Docker就行
主板 | Asrock J5005-ITX | |
处理器 | Intel Pentium Silver J5005 | 1.5Ghz / 4C4H4M / 14nm |
内存 | 4G DDR2400Mhz | Yoga710拆机 |
系统盘 | ||
数据盘 | ||
电源 | 明纬 | |
机箱 | ||
OMV | 5.6.13 | 2021-8-25 / Latest Old Stable |
始于OMV
刚结完婚,刚去完西藏,各种高清视频无处安放,所以硬着头皮挑选好好服务器所缺的软硬件。
国中之国Docker
1、在OMV的“插件”中安装openmediavault-omvextrasorg 5.6.6
2、在安装好的“OMV-Extras”中安装Docker,并附带自动安装其图形化网页管理器Portainer
本来想象Portainer就跟设置路由器的网页一样简单,或者和NAS自身的网页一样条理清晰,可是里面的各种英语参数对玩Linux服务器的我来说都是噩梦,特别是镜像抓取备装、container存储路径、网络设置,碰到必卡壳,此外还有环境(时区)等无数地雷埋在深处。
首先登场的是ddns,跟着一个三流Portainer版教程一路next,没有路径没有端口,倒也能正常使用。正因为质量不高,没理解每一步的奥秘,没多久就忘了整个安装流程,网络最终也把这个教程遗失了。后面再找的,包括Docker官网的镜像商店教程,清一色都是输入命令,看来图形化界面繁琐的设置反而劝退。正因开始是用Portainer安装的, 所以无论如何也要搞懂其原理,以预防阿尔兹海默症。总体上图形和命令都是一一对应的,在两者之间反复横跳就能熟练掌握。下面以homeassistanta安装举例
docker run -d \
--name homeassistant \
--privileged \
--restart=unless-stopped \
-e TZ=MY_TIME_ZONE \
-v /PATH_TO_YOUR_CONFIG:/config \ (before:-v /opt/homeassistant:/homeassistant)
--network=host \
ghcr.io/home-assistant/home-assistant:stable
- 1、确认Docker的来源和具体名称,并从Portainer中拉取Docker
- 2、Runtime添加Privileged mode
- 3、Restart policy改为Unless stopped(永不终止)
- 4、环境environment添加name为TZ,value值为Asia/Shanghai
- 5、卷volume添加host及container不同的相对路径字段
- 6、网络选择与宿主相同的Host模式
重点介绍一下Docker的路径溯源:以前对此概念模糊,大概知道-V的左半部分是本地路径,右半部分是Docker内路径,想当然这两个路径要每个container严格区分开比较好。但我既没有在本地路径看到任何文件,也没有找过藏在Docker内的“虚拟”路径,所以这颗疑心一直没放下。之后在一个Aria2的教程上看到,左侧类似变量,右侧似乎是常量不用更改,这下定决心一定要彻底弄个明白。正好用Aria2下载个文件试试,看看这个文件到底放在哪里?这下可好,左侧本地路径下Opt目录中终于出现了Aria2的相关文件,“本地路径”名正言顺得以石锤。

正本清源,与Redis类似,Docker info,可以看到Docker的实际安装目录等信息,赶紧用SFTP登进去,看到了一堆随机生成名字的container目录,总数是对得上的(曾经在安装Homeassistant时误入)。这估计就是container的root目录。这下大概知道缘由了:首先每个container是独立的,环境隔绝的虚拟环境,所以比如不同container的config实际是在不同container内root目录下虚拟位置,不需要再另外新建目录以区分,反而新建目录会破坏原有简单的默认层级关系如config、downloads,造成不必要的设置困难,纯属画蛇添足。所以今后-v:右侧的部分,保持默认建议即可。
靠谱解释
而docker本身提供了一种机制,可以将主机上的某个目录与容器的某个目录(称为挂载点、或者叫卷)关联起来,容器上的挂载点下的内容就是主机的这个目录下的内容,这类似linux系统下mount的机制。 这样的话,我们修改主机上该目录的内容时,不需要同步容器,对容器来说是立即生效的。 挂载点可以让多个容器共享。
再来一个Transmission为例
docker run -d \
--name=transmission \
-e TZ=Asia/Shanghai \
-p 9091:9091 \
-p 51413:51413 \
-p 51413:51413/udp \
-v /opt/transmission:/config \
-v /opt/transmission/downloads:/downloads \
-v /opt/transmission/watch/:/watch \
--restart unless-stopped \
lscr.io/linuxserver/transmission:latest
小核心Debian
webdav可以用Docker部署,但偏不,他更加接近底层服务,所以就用原始的底层系统安装/hacdias/webdav:
- 1、解压下载好的tar.gz压缩包,并将唯一能执行的二进制文件webdav放在预指定的/usr/bin内
- 2、参考作者github页编辑webdav.config.yml文件并放入预指定的/opt内,特别需要注意内部的账号密码及挂载点三要素
- 3、编辑webdav.service并放入指定的/etc/systemd/system内(这一步很熟悉乐)
- 4、设置开机启动并启动服务systemctl XXX webdav