玩NAS也要做存算分离


所谓存算分离,就是负责存储和负责计算的服务放到不同的机器上,NAS负责存储,家庭服务器负责计算。做好存算分离,可以省钱又省心。听上去有点反直觉,明明需要两台机器,成本double了,怎么能省钱省心呢?那么,我们就从下面三个角度来分析。

硬件成本

一台机器只做存储服务,对于硬件的需求是极低的。十年前的CPU都完全可以胜任这一工作,甚至都有点性能过剩。这意味着我们可复用老旧硬件,减少硬件成本,把剩下的预算投入高可用保障(硬盘整列、UPS电源等)上不香吗? 另一台机器只做计算服务,存储落盘通过smb、nfs等协议实现。这点就丰俭由人了,可以根据自身需求选择什么样的硬件设备。要求不高的话,树莓派、路由器、甚至机顶盒都可以改装来用,不需要的时候也可以随时关机省电。

时间成本

每个NAS系统都有自己的优缺点和适应场景,这些差异主要体现在附加功能上(例如影音服务)。核心的存储能力上,各家差异都不大,也很难玩出花来。 以我玩NAS的经历来说,因为对某个系统的一些功能不满意,经常会尝试换别的系统。而每次切换都要经历数据迁移备份等一系列工作,这里就需要付出巨大的时间成本。 而做了存算分离后,存储服务可以保持长期稳定运行,计算服务和各种系统部署在服务器KVM上,可随意折腾。

数据安全成本

都说All In One,All in Boom,一台机器做的事情越多越复杂,出现问题的概率也越大。NAS专职做一件事,可以有效避免其他组件的影响,降低数据损坏风险。互联网流行的微服务架构,将服务能力原子化,避免单点依赖,思路也是类似的。 另一方面,如果需要远程访问,就存在数据泄漏风险。存算分离远比All In One部署来的安全,NAS只开放内网访问,反向代理部署在对外服务器上。就算拿到了服务器权限,想访问数据还隔着一层保护。

以我自身举例,目前存储NAS用的5005U CPU,安装的TrueNAS系统,日常使用完全够用,一年多稳定运行没有发生故障。 服务器安装了KVM,上面跑了飞牛和CentOS。飞牛只做影音服务器,CentOS上跑各种开源服务。 这样做也是回归NAS的设计初衷,它的本职工作就是存储,保障数据安全,做个安静的小透明才是不折腾的关键所在。

为什么说存算分离更省钱?

硬件成本层面
当存储服务独立运行时,对硬件的要求会大幅降低。以我的TrueNAS存储系统为例,搭载十年前的J3455处理器(TDP仅6W)即可实现24小时稳定运行。这意味着:

  • 可复用老旧硬件(旧电脑/迷你主机)
  • 节省电力消耗(低功耗处理器+机械硬盘休眠)
  • 将预算重点投入存储可靠性(RAID10阵列+UPS电源)

负责计算任务的设备反而不需要高配置,根据实际需求灵活选择:

  • 影音播放:J4125级别芯片足够
  • 虚拟机应用:i5/i7即可满足
  • 容器服务:甚至可用树莓派替代

时间成本层面
我经历过多次系统重装的痛苦:从群晖到Unraid,从OpenMediaVault到TrueNAS,每次迁移数据都要耗费整晚时间。而存算分离后:

  1. 存储层保持长期稳定(近3年未重装)
  2. 计算层可随意折腾(当前使用KVM虚拟机管理)
  3. 系统故障时仅需恢复计算设备(存储数据零风险)

实际案例参考

我的双U架构方案:

  • 存储节点 :J3455主板 + 6盘位机箱 + TrueNAS CORE
    • 实现ZFS文件系统 + 自动快照 + 远程备份
    • 平均负载<0.5,温度常年30℃以下
  • 计算节点 :J4125主板 + KVM虚拟机平台
    • 虚拟化运行飞牛NAS(影音库)、CentOS(Docker服务)
    • 通过VLAN隔离业务流量,按需开机节省能耗

这种架构既保证了数据安全(存储层独立供电+UPS),又保留了可玩性(计算层自由定制)。NAS回归本质——专注做好”数据保险箱”,这才是普通用户该走的正道。

Category

Tags