Homelab 的类 shared-disk 设计是否合理呢?

13次阅读

共计 639 个字符,预计需要花费 2 分钟才能阅读完成。

正在设计更新家中的小机房架构。初步计划有以下机器:

  • 一台极其强大的 NAS,通过 ZFS 做 3 层融合加速存储,预计总容量 60TiB,并且还有 3.84TiB 的 Raid1 纯闪池
  • 一台 EPYC 服务器,用来承载多数 Docker 业务,以及一些 AI 应用
  • 一台媒体服务器,只用来跑 Jellyfin,通过 NFS 连接 NAS 的存储池获取媒体内容
  • 一台跳板机

所有设备通过 10G Fiber 互联,部分设备可以 bond 成 20G,除了跳板机使用 Windows,NAS 使用厂商系统,其他机器均使用 Ubuntu。

我使用的绝大多数 Docker 应用都是来自或者基于 Linuxserver,他们把所有的用户数据都封装到了 /config 下,非常好管理,目前业务都跑在一台比较落后的 NAS 上 All-in-One,因此设想的是后续将存储和计算分离开来。

现有两种模式:

  1. 所有 docker 容器的 AppData 都存放在 NAS 的纯闪池中,把 /config 映射到 NAS,EPYC 和媒体服务器通过挂载 iSCSI 的方式进行访问,类 shared-disk 架构。优点是便于管理,代价是交换机或者 NAS 一炸所有东西都会挂

  2. 服务器自身配备适当的 1-2TBSSD,相关的 AppData 访问本地硬盘,通过 NAS 提供的同步工具定期备份到存储池中,NAS 仅作备份和快照,代价是要多花千把来块买 SSD 并且管理繁琐,并且不抗单点故障

是否有类似的存算分离模式实践过?这两种模式的区别在于,如果核心数据都存储在远端网络的话,跨网通信带来的 IO 延迟对应用的运行性能究竟有多大的影响?

正文完
 0