V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
chowdpa02k413
V2EX  ›  NAS

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

  •  
  •   chowdpa02k413 · 43 天前 · 946 次点击
    这是一个创建于 43 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    • 一台极其强大的 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 延迟对应用的运行性能究竟有多大的影响?

    4 条回复    2024-06-08 07:55:39 +08:00
    wheat0r
        1
    wheat0r  
       43 天前
    想结合两种模式,那就整一套超融合吧
    ruidoBlanco
        2
    ruidoBlanco  
       43 天前
    如果在乎数据,异地备份是不可少的。

    我没有 NAS ,整个 homelab 也只有一台 NUC ,但是一样稳稳的,大体是这么个样子

    - 一块 5 年的 2.5 寸 4T 叠瓦 SATA 盘,用来放低价值数据,电影,剧集,测试虚拟机的硬盘,上面一块 2T 的垃圾 m2 sata ,组了 lvmcache 提速,也不在乎坏了。
    - 1T 的 m2 nvme ,除了做 proxmox 的系统盘,也做了几个稍微重要的 lxc 和虚机的系统盘,也是 docker 容器的数据盘。
    - kopia 定时备份所有重要的文件到 backblaze ,这样救了我几次了。所谓重要的文件,无非是 150G 的照片,20G 左右的数据,其他的低价值大文件完全不备份。backblaze 每个月花费不超过 2 美元。

    一般看片也就最多看 1080p ,感觉 4k 也能帶得动,但是感觉没啥必要。
    pota
        3
    pota  
       43 天前
    方案 2 吧。方案一优点很明显但是缺点更恐怖,太依赖 nas 以及网络环境了。相当于变相的 aio?
    我现在方案就是 2 ,不过配置没有你这么高就是了,存储计算完全分离。定期备份到 nas 中
    ltkun
        4
    ltkun  
       43 天前 via Android
    aio 能 raid1 的全 raid1 了 除了下载盘
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1767 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 00:31 · PVG 08:31 · LAX 17:31 · JFK 20:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.