我在日本存算网三分离方案
我在日本存算网三分离方案

我在日本存算网三分离方案



  说实话,我已经有很久没有写过数码产品相关的博客了。一来是这段时间实在是太忙了,从去年5月份开始一直在准备研究计划备考,8月考试结束之后回国又去了贵州和云南。二来是虽然我的设备体系在这几年里一直不断调整,但大多是局部微调,没有结构性更新,而且我对那时的结构并不满意。只有当我自己能确认用过,觉得好用了之后我才觉得有资格放到台面上去讨论,所以这类文章也就一直压着没有更新。



  在国内的时候,我的服务器主要经历了以下阶段:


第一阶段:自主服务器捡垃圾阶段

  这个阶段大概是2020年到2023年。大学生嘛,预算相当有限,时间倒是大把大把的。接触服务器的契机是,我们文学院下面分了汉文,汉教,戏影,广编和创写五个方向,隔壁宿舍一个哥们是戏剧影视专业的,平时自己拍点小视频微电影,然后放在电脑上剪辑。这哥们用的是苹果电脑,我们都知道苹果电脑上的存储那是寸土寸金,所以他就有一个自己的文件服务器,有时候期末作业啊什么的他就丢在宿舍内网里给好哥们抄作业。从那个时候开始,我就埋下了对于个人服务器的欲望的种子,于是就开始自己在网上查阅博客,在二手市场一点点去凑自己的服务器。最开始是 Asrock J3455-ITX 主板,再配上一个四盘位 NAS 机箱和四 8TB 的机械硬盘。后来主板虽然升级过,但那套机箱和硬盘倒是陪我「读完了」大学。

  当时我刚开始接触 Linux,很多东西都不熟,所以环境的搭建、服务的部署、权限问题全都是自己一点点试出来的。我当时还是一个热衷于搞各种非官方的镜像,什么黑苹果啊黑群晖啊之类的非授权os现在回想起来发现自己最后都回正了,意思是苹果和群晖布下的很大的一个局),最后都以不稳定而告终,最后稳定用下来的方案是基于ubuntu搭配宝塔面板的一个方案,上面运行了四个主要的服务:nextcloudmrdocwordpresscalibre

  等到搭建完服务都跑起来之后,大概已经是2021年的下半年,等我用出来他的卡顿,系统的磁盘碎片累计到一定程度的时候,我已经没有办法做出改变了。

  我当然知道,系统和服务如果放到 SSD 运行,响应速度会立刻快得多。但我没有办法简单地拔下一块盘换固态――J3455 这块主板本身没有 M.2 接口,SATA 只有四个口,而我的四 8TB 盘是组着 RAID5 在跑的,只要动一块,整个阵列就会进入降级的状态。换个硬盘意味着我的整个系统几乎要推倒重来。

  我能清楚地看到它的性能天花板,却又没有勇气把它推倒重建。一方面,我刚好处大三在学业最密集的阶段,服务器虽然卡,但还能跑;另一方面,我也不能保证重新组装出来的系统,能够有像现在这样的完整服务。那有人会问为什么不换主板呢?这是机箱本身的结构决定的。我买的是 NAS 专用的机箱,没有 CPU 热风扇的空间,只能装J3455 这种低功耗 U,升cpu也无法改善pcie通道数的问题。

  直到疫情结束,我的学业阶段性告一段落,回到家,我才进入下一阶段


第二阶段:品牌服务器阶段

  2023 年疫情解封回家之后,我开始重新整理数据和设备结构。第一阶段的自组服务器一直放在学校宿舍。从当时的视角来看,其实这个服务器的本质就是一个nas,因nextcloud就是自组云盘,mrdoc主要保存我写的笔记和文章草稿,wordpress发布平台,储存成品,calibre则是储存资料,整个服务器就是围绕着存储搭建的。这次回家,和父母聊了一下以后意识到:家里其实也有长期保存记忆的需求――父母希望能够随时查看和整理这些年积累下来的照片。

  在这样的前提下,我和父母一起合资了一台 QNAP TS-464C:服务器本体由父母出资购买,我提供之前大学时期自己购买的四块 8TB 机械硬盘和从旧笔记本拆下来的固态硬盘。之所以选择 TS-464C,解决了不少原先的痛点。

  首先,它解决了第一阶段一直绕不过去的硬件结构问题。

  TS-464C 带双 M.2 插槽,我可以直接把系统和容器迁移到 SSD 运行,让所有服务都运行在快存储上,而把容量留给机械硬盘。

其次,它是一台可以真正放在家里设备。自组服务器那套东西本质上只能在我一个人用,因为出了问题就得靠我去连 SSH一点一点调试,而 TS-464C 的系统界面把所有设置做成了桌面系统那样的交互逻辑,父母也可以自己设置上传照片。第三,它有完整的硬盘健康监控和故障预警体系。家庭照片属于无法替代的一类数据,因此他的安全性就变得格外重要。TS-464C 的健康检查、阵列状态、温控策略、通知机制,让这些事情变得可预期。这在自组服务器阶段完全做不到的。

  设备配置好后,父母开始把照片一点点整理和上传。很快我的NAS上面的使用容量就开始爆增,成为了家里名副其实的数据中心。与此同时,原先部署在我的服务器上的博客,也转移到了这台nas上。这时,家庭数据和对外服务同时存在于同一台服务器中。技术上隔离没有问题,但对于父母询问是否安全的时候,你没有办法说服他们:只要有外网入口,在他们眼里就是有风险的。所以比起说服,我觉得寻找替代方案更加现实一些。

  因此8月,我把博客迁回了第一阶段那台自组服务器。那时候四块 8TB 的机械硬盘已经全部迁入了 TS-464C,我索性把自组机的存储换成了固态硬盘。尽管只承担博客和外网服务,但只要服务需要面对公网,就绕不开端口暴露,父母的担心也就始终无解。终于在12月,我决定将所有面向外网的服务迁移到腾讯云,开启了下一阶段。


第三阶段:云服务器阶段

  在这一阶段,我进入大四,开始进入了企业实习阶段,因此又再次忙了起来。我把博客和所有对外开放的服务全部迁到了腾讯云。这样,NAS 暴露在公网上而产生的种种问题就一并解决了。

  而在博客迁移之后,我又逐渐意识到:既然已经有了云服务器,那么那些只需要计算、不涉及大规模本地存储的服务,其实也不必再放在家里本地运行。云服务器有一个很大的好处,就是推倒重来,也不会影响任何人的使用,不会影响NAS数据。于是我开始把这类服务一点点从本地抽离,迁移到云端,最后形成了一个很明确的分工:家里负责存储,云端负责计算。

  也差不多是这一阶段,我开始接触了更多种类的linux使用实例,也不仅仅是以存储为中心了。我开始学着像其他那些免费的公网服务那样,学者搭建视频转码,图片放大之类的计算类实例,如果装失败了就直接删除系统快照恢复。

  迁移到云端,对我来说还有一个更实际的意义。我写博客是一个持续的过程,因此它几乎参与了我之后每一次重要的对外表达:找兼职、申请研究生、向其他人自我介绍。面试的时候不光有简历,别人可以直接看到我写过什么、做过什么、在做的时候思考过什么。我的思维,我的审美,我的能力都体现在上面,它本身就是我的简历。

  当我真正准备前往日本生活之后,新的问题就出现了:虽然云服务器依然可靠,但跨国访问带来的网络延迟,会在日常使用中逐渐显现。与此同时,我在日本也需要一套能够作为生活基础设施的本地服务体系。于是,这一阶段其实自然地指向了下一阶段:在日本本地,重新搭建一个属于这里的的服务终端。

  不过倒也不是说我之前的服务器就不用了:自组服务器因为已经卸下了存储职责,被我借给朋友当 Minecraft 务器继续发挥余热;TS-464C 安静地在家里运转,存储家庭记忆;而你们现在读到的博客,依旧在腾讯云上。


现状


  简单来说,我这套设备一共由四部分组成,分别是存储端计算端网络端以及无线AP发端。每一部分我关心的点都有所不同。我将在下面分条说明。

  不过在此之前首先是最重要的问题:我为什么需要这样一个服务器?很多讨论家庭服务器的人会把重点放在替代云服上,认为只要有了自己的服务器,就应该把所有东西都放回自己家里,云服务越少越好,甚至能不用就不用。但是我觉得iCloud很棒,是苹果生态下不可缺少的一环。而我想要的是一个更安全的存储结构:三个备份;两种不同存储介质;一份远端备份,也就是3-2-1备份模式。因此我将iCloud为远端备份,我的服务器和我的电脑作为两种不同的存储介质,来实现这一设想。


储端

  来到日本后,我最先用的是 DS620slim。那台机器是我在国内那套思路的延续:存储和日常资料集中在同一个地方,体积小、声音轻,看起来很干净。但真正开始做研究之后,我的数据开始以一种我事先没有估计过的速度增长――新的环境、新的记录欲望、每周的研究计划发表、不断扫描的文献与电子书,这些东西叠在一起,半年就把 10TB 满了。那时候我才明白,问题不是盘不够,而是我根本没有时间去整理它。研究一周接一周、资料一批压着一批,拍的东西、扫的东西、写的东西全都来不及归档,只能先放进 NAS 里,等以后再说。可以后远排在下一周、下一个发表之后,直到暑假前,我的容量只剩下可怜的45GB。我才终于闲下来有时间整理归档重复的文件话历史版本的手稿。

  所以我需要做的不光是算现在要多少容量,而是要把我没空整理的数据会增长的那部分一起算进去。先从最基础的部分开始反推:目前订阅的是 2TB iCloud,其中 iPhone iPad 的整机备份各占 256GB,所以真正可以当作文件盘来使用的大概还有 1.5TB为了把这些内容落地,我计划使用一台 2TB Mac mini iCloud 的本地镜像节点,然后让 NAS 来承担 MacBook Pro512GB Time Machine 备份。按经验,Time Machine 的多版本备份至少需要原本容量的2倍,也就是5TB

  但这里还有一个问题:Mac mini 上的数据不适合直接暴露在公网。所以我还需要一个能够 远程访问、并且能将 iCloud 内容完整复制一份出来给我随时读写的存储端。仅这一部分,我又额外预留了大约 2TB这样算下来,光是这些备的、长期存在的、不可删的内容加起来,就已经需要 7TB 以上的可用空间。如果希望存储结构稳定且体积功耗噪音最小的话,RAID1是最优选择 ,那么两 8TB 是理论上的最低起点。

  除此之外,新体系下计算端、软路由的配置文件和容器快照,也会占用一定的容量。此外我会把我认为值得保存的网页、文章、图书、视频、访谈、论文陆续下载、分类并长期存档。这虽然不是需要3-2-1储的互联网上随时能找到的资料,但也是一个会持续成长的,是明确要长期保留的个人知识库。

  剩下的,就是为现实生活中的忙不过来留出余量――我不可能在学业或研究高强度阶段实时清理数据,所以我要预留一部分弹性空间。最终,我直接把配置拉到了:2 × 16TBRAID1 + 2 ×  2TB SSD 缓存。不过存储服务器对我来说,不做实时剪辑、媒体直连渲染或者大规模的本地高速协作,它的主要工作只有两个:正常地备份,以及在我需要的时候能远程调取数据。千兆网络对于这种周期备份 + 偶尔访问的使用情况来说已经完全足够了。因此我在对比方案时把目光放在低功耗、静音、体积和长期可维护性上,最终选择 DS720+为替代方案。


计算端

  如果 NAS 东西的地方计算端就是真正动起来做事的角色。它存在的意义很直接:补齐 NAS 计算和扩展性上的短板。因此我在挑选的时候,主要考虑的是PCIEUSB扩展性以及CPU核心数量和它内置的功能。

  它需要能Bios支持全功能运行PVE ,既能安排虚拟机直通,也能用 LXC 载轻量服务;需要硬件编解码;内存和 PCIe 要有扩展性,未来一定会有新服务;USB 口要够多,因为设备总是要接上来:打印机、读卡器、扫描仪、UPS、外接硬……这些都不是偶尔用一次东西。

  换句话说,它不但追求更强,而是把家里数字生活的接口都接进来。当前我需求最大的快速读写操作读卡器最高读速也就 90MB/s,千兆内网导入整理写入 NAS”这条链路已经够了;真有更高吞吐的需求,再加个 USB 2.5G 网口也可以。

  在这台计算端上,我现在跑着几台相对固定的虚拟机和服务:

  Docker 宿主处理轻量服务,Web 务器负责对我博客的镜像工作,Home Assistant OS 管全屋自动化,Immich 做相册的索引与识别,再留一块沙盒给临时试验。稳定运行下来,大概 9 + 16GB 内存比较舒服;考虑到之后一年半还会持续做研究、设备会逐步接入、服务也会增加,12 / 32GB 让我不焦虑的余量。


  最终我选了富士通的小主机。除了小、安静、省电这些常规优点,它在小体积里甚至塞下了可更换的桌面级 CPU、正规的 PCIe 扩展、还有内置电源――再加上五年服务,未来想要升级还可以直接电话联系富士通的人来帮忙升级。

  目前的状态是:核心服务已经稳定跑起来(PVEHAOSImmichWebDocker),但把它和 NAS 以及周 USB 设彻底打通的那套工作流还在做计划。接下来我会把这些场景一步步落地:例如扫描仪直接写入 NAS、打印机直接取 NAS 文件、读卡器导入后由 Immich 动处理、UPS 事件联动关机与日志。这些会在我空闲的时候逐个完成。


络端

  路由器这部分我反而没什么讲究。对于家用场景来说,只要能做到一进一出千兆稳定跑满,就已经满足了我全部的需求。家里的数据流量并不复杂,也没有多分支 VLAN、大量设备并发的情况。更不用说,只要是近五年发布的 x86 构处理器,在家用级别的流量管理面前基本都是性能溢出的。

  理论上,如果追求更极致的一体化,可以直接选择那种带多网口的小机箱,路由、防火墙、软路由、交换都塞进去。但对我来说没有必要,交换的事情交给交换机去做。一来是扩展选择面,二来是以后如果要升级网络带宽,也不需要整套换掉,路由器、交换机可以独立替换。


  不过话虽如此,我目前还没遇到一眼就看中的新机型。所以现在仍然是沿用我在 2022 买的 N100 小主机来跑软路由。目前用的还是我在国内原先使用的23年的系统,原先需要的访问googlevpn还有国内的自动签到之类的软件大量都用不了了。不过核心功能能跑就先用起来,等更新了设备估计会装一个更新的系统适应日本的网络环境。

  有了功能稳定的有线路由器,无线部分反而更简单了。我只需要一个信号够强、能覆盖我住处的 AP 就行,不用折 Mesh,不需要搞花活。我现在用的是 TP-Link Wi-Fi 6E AXE5400对于一个人住的环境来说,它能稳定把千兆内网跑满,延迟也低,还兼容他自家的智能家居,可谓是一举三得。


总结


  写到这里,我并不想强调我把系统搭好了,而是我终于知道自己真正需要什么了。设备会继续换、服务会继续加,新的需求也会慢慢长出来,但这一次不再是买再想,而是我心里已经有了框架,在这个框架下购物,而非掉入无止尽的消费主义陷阱。

  它不完美,但它稳定,稳定到我可以遗忘它的存在。

  剩下来的事情,慢慢完善就好了。