INFO
Categories

NAS – 私人saas

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、网络、电源
USB3 个 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硬盘。

Xp风格的插画,哈哈

你看,这个原型机已经包含了今天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 DDR2400MhzYoga710拆机
系统盘
数据盘
电源明纬
机箱
OMV5.6.132021-8-25 / Latest Old Stable
2代NAS配置
始于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的相关文件,“本地路径”名正言顺得以石锤。

Docker内路径,群晖称为“装载路径”

正本清源,与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