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

如何搭建一台既能满足个人娱乐又能用于业余项目的 nas

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

    RT, 小弟目前有一台群晖的 DS220j 主要用来当下载机和 smb 使用,另外使用群晖的 drive 在所有终端中同步文档和照片。 最近开始搞一些业余项目,使用三台工作站搭建了一个集群,用群晖的 nas 做 nfs server 给 k8s 使用。由于 ds220j 只有双盘位和千兆口,所以想要添加一台新的主机做的存储节点。

    想请教一下各位怎么搭建满足如下需求的 NAS 目前想到的需求是:

    1. 可扩展,为以后增加容灾节点或者迁移做准备。
    2. 4 盘位以上,两盘 raid0 提供 smb 给机顶盒用,两盘 raid 1 做 nfs server

    目前不太清楚的是:

    1. NAS 系统选择上:选择 TrueNAS ,Unraid ,还是直接使用 Linux
    2. 硬件配置上,选择什么级别的 CPU 比较好?

    小弟目前还有另一个方案就是继续用群晖当下载机来用,利用一台比较老的戴尔 sff 主机( i5-4590/8G )加一块万兆网卡来当 nfs server

    32 条回复    2023-01-10 15:15:20 +08:00
    liuhan907
        1
    liuhan907  
       143 天前
    TrueNAS 唯二的缺点,硬件相对更贵,扩容相对麻烦。如果你不在乎这两点那当然首选 TrueNAS 。Unraid 的问题是想增加性能很难,基本只能上 SSD 才行。另外 Unraid 配置 raid 极为麻烦。
    考虑你要 raid ,要万兆,要 NFS 这种纯同步写的文件服务。我觉得你还是考虑 TrueNAS ,配置好 SLOG 。
    vmebeh
        2
    vmebeh  
       143 天前 via iPhone
    zfs 最好上 ecc
    RecursiveG
        3
    RecursiveG  
       143 天前
    自己配 NAS 就装个标准 Linux 学学怎么使用命令行呗。
    asdf12303116
        4
    asdf12303116  
       142 天前
    zfs 的 raidz 扩容快落地了( https://github.com/openzfs/zfs/pull/12225),头铁的话可以用开发者分支( https://github.com/ahrens/zfs/tree/raidz-expand)

    raidz 扩容功能基本完成了,估计明年就会合并进主线. TrueNas 更新估计要到后年了

    还是 TrueNas/Linux 好点
    mxT52CRuqR6o5
        5
    mxT52CRuqR6o5  
       142 天前
    unraid 性能差,但组阵列非常灵活,容量不同的盘都可以放到一起组阵列,并且可以很容易的增删阵列中的硬盘,提供的 docker gui 相当好用;除了性能还有一个很大的问题就是原生文件服务的支持,unraid 原生的文件服务只有 smb 、nfs 和 ftp ,需要其他的文件服务比如 webdav 、sftp 就得自己折腾 docker ,并且折腾出来也不能和 unraid 的账户系统互通(自己独立一个账号系统)
    truenas 的 zfs 性能很好,对配置有要求,阵列越大需要越多的内存,并且官方推荐要你用 ecc 内存,扩容只能更换整组阵列的硬盘(如果不用开发者分支的话)或者新增一组相同硬盘数量的阵列,没有原生 docker 的支持,只有个 jails
    群晖综合来说比较省心,raid 扩容相比 zfs 多一些灵活性,可以一个一个硬盘地往 raid 阵列里添加硬盘,虚拟机性能差,也不能给虚拟机里直通硬件什么的
    tediorelee
        6
    tediorelee  
       142 天前 via iPhone
    @mxT52CRuqR6o5 scale 已经支持 docker 了呀
    webcape233
        7
    webcape233  
       142 天前 via iPhone
    专业设备干专业的事 all in one all in boom
    mxT52CRuqR6o5
        8
    mxT52CRuqR6o5  
       142 天前
    @tediorelee 看来我用的版本不对,我用的 core😂
    buruoyanyang
        9
    buruoyanyang  
       142 天前
    目前一台 Unraid 做底层,AIO 系统使用中,整体运行稳定,除了发生了一次猫把计算机关掉的意外。感觉整体 AIO 用起来还是没有那么舒服,建议专业的设备干专业的事情。
    dabaibai
        10
    dabaibai  
       142 天前
    我用 NUC 搞一台 AIO 。 美滋滋。 从不担心性能
    liuhan907
        11
    liuhan907  
       142 天前
    @mxT52CRuqR6o5 core 也没什么不好,scale 目前在性能上还是比 core 差一些。如果是纯存储的话 core 我反而觉得更合适。
    qinrui
        12
    qinrui  
       142 天前 via iPhone
    windows server 2022

    8*16T 硬盘
    tediorelee
        13
    tediorelee  
       142 天前
    @mxT52CRuqR6o5 scale 原生支持 docker 了,不过底层用的是 k3s
    tediorelee
        14
    tediorelee  
       142 天前
    @liuhan907 同意,只是升级到 scale 装一些 app 玩更方便
    putaosi
        15
    putaosi  
       142 天前 via iPhone
    windows server 是最好的 nas 系统
    Shingen
        16
    Shingen  
    OP
       142 天前 via iPad
    目前个人比较偏向 truenas ,存储节点上的 docker 对我来说并非刚需,我是打算用来存储 dl 的模型文件,所以在性能和扩展性的取舍上目前还是比较偏向性能。另外还有一点偶像光环,就是看到李沐大佬最近发的 vlog ,他搭 nas 时也用了 truenas 。
    allanpk716
        17
    allanpk716  
       142 天前
    我现在的方案是,存储与计算分离。

    群晖做视频下载,照片管理,小或者数据重要的 docker 部署(比如 bitwarden ,PG 数据库),VPN 回家。

    然后提供 SMB 给一台 NUC 10 ( unraid ,i7 32GB 内存,不做 raid , 不是不想做,是接口有限,并且希望小巧 ,数据完全依赖群晖存储),后者跑一些有一定计算要求的服务,同时开启一台 Windows Server 虚拟机长期挂机跑一些临时写的东西,有时候想要远程回家折腾点东西,就再动态开启一台 Win11 虚拟机用一下。

    这样的好处是,群晖大概率没有升级的必要,就算要升级,以群晖的生态,也很容易迁移到新的群晖上。

    NUC 如果要换其他机器,也是可以直接拿虚拟机的镜像就可以开用了,其他的都是 docker-compose 和 config 信息,迁移起来也轻松。
    permaylau
        18
    permaylau  
       142 天前
    既要 XXXX ,还要 XXXX ,对于电子设备来说,就是一个故障不断增加的过程。这个故障不仅仅软件上的 BUG ,还有操作上的问题。我觉得还是纯粹一点,会好点。比如看电影,你可以买个 DVD ;玩游戏,买个掌机;至于 NAS ,就纯粹做个文件存储。我都是旧电脑,装上 server 2008 ,直接用 ntfs 硬盘,做文件冷存储机。用的时候,开机;不用的时候关机。
    libook
        19
    libook  
       142 天前
    先决定要多少个硬盘口;固定 4 盘可以用 Intel 的板载 CPU ,比如 J 开头的;希望日后接很多盘可以选带 PCI-Ex16 的主板,日后搞张 PCI-E 转 SATA 的卡,我见过最高能转 24 个 SATA 口的,不过价钱也比较贵。
    只用来做磁盘阵列的话,现在的 CPU 基本都不会成为瓶颈吧。
    用啥系统建议你都试试,选顺手的,比如我有 15 年 Linux 经验,就喜欢装个 Debian 自己配;如果你想省事就就找个傻瓜系统,比如黑群晖。
    另外得看 UPS 是不是够用。
    xiaoyuesanshui
        20
    xiaoyuesanshui  
       142 天前
    搞一个标准 linux
    存储目录、程序目录、项目目录分开。
    我的是 ESXI+DEBIAN.
    操作系统放在虚拟机的虚拟磁盘
    存储 mount 专门的存储分区
    应用程序也有专门的分区,与虚拟机分离
    项目同理

    将来某一天,事有不协,比如虚拟机炸了。
    起一个新虚拟机,存储、程序、项目分别挂在回去
    docker-compose 全部搞定
    shentar
        21
    shentar  
       141 天前
    给集群用,如果对带宽要求高的话,肯定是要 raid 卡+分布式存储软件(虽然只有一个节点,需要多盘的并发访问)。仅仅只是跑满单个磁盘,那就普通的 samaba 共享就够了。
    plasmetoz
        22
    plasmetoz  
       141 天前
    存算分离吧,现在是单独的一个 truenas 跑 zfs 开 iscsi,然后其他的 pve/esxi 通过万兆网接进来按需划分存储盘。zfs 挂几个 ssd 做 l2arc 和 special 性能感觉还行。
    当然要是有钱上纯闪架构+ceph 就更好了。。。
    Shingen
        23
    Shingen  
    OP
       141 天前
    Updates:

    打算采用楼上说的存算分离方案,在 Facebook Marketplace 200 刀收了一台 dell t420 带 8 个 3.5 热插拔硬盘位,配置是 2 * Xeon 2420 + 2 * 16G ECC DDR3. 采购了 8 块 SAS 硬盘,准备搭建 TrueNAS 开 iSCSI 。

    另外在 eBay 上买了 10 根 16G 的内存条计划把插槽插满,CPU 不知道能不能升级,如果可以的话,打算从淘宝逆向海淘两个 2470 v2 。

    后续的升级计划是买个 pci 转 m2 的转接卡加个傲腾做缓存,然后加一个万兆卡。如果需要扩容就把光驱位拆了,在淘宝买个硬盘架,还能再扩容四块 3.5 硬盘
    ccxuy
        24
    ccxuy  
       115 天前
    @dabaibai 我也打算入个 NUC ,但是存储池这块怎么解决?至少 4~8 个 3.5 寸盘位吧
    ccxuy
        25
    ccxuy  
       115 天前
    @allanpk716 我也这么打算搞个 NUC ,请问存储是外挂一个磁盘阵列好呢,还是找个比如 ARM4 盘位的群晖之类的好?
    ccxuy
        26
    ccxuy  
       115 天前
    @xiaoyuesanshui 有道理,请问你 compose 和其他配置文件那些怎么备份的呀,一个个复制感觉还挺麻烦
    xiaoyuesanshui
        27
    xiaoyuesanshui  
       114 天前
    @ccxuy #26 部署的时候,compose 文件需要一个一个弄,但是往往开源项目的 github 页面上都有成熟的 compose 文件模板,可以 down 下来按照自己的情况编辑。

    配置文件可以通过映射到本地持久化

    但是有一个事情要注意,docker-compose 文件、配置目录、数据目录要与 linux 目录分开。比如你搞一个 program 目录,然后 mount 上一个独立的分区。这样如果虚拟机炸了,等你新起虚拟机的时候,把这个独立分区再 mount 回这个 program 目录,然后再重新一个一个起 docker-compose 服务。
    由于 docker-compose 文件,配置目录,服务数据,都是在这个独立分区里,目录如果和炸机前一致,那服务就可以无缝过度
    allanpk716
        28
    allanpk716  
       113 天前
    @ccxuy NUC 我直接用群晖 SMB 挂载来使用的,数据安全更好。只用了一个 SSD 256GB 跑系统
    openaq
        29
    openaq  
       79 天前
    @qinrui 请问下存储是做的存储池吗
    qinrui
        30
    qinrui  
       78 天前 via iPhone
    @openaq 四块组 raid 存重要资料,其他盘直接使用放下载之类的不重要的资料
    ccxuy
        31
    ccxuy  
       74 天前
    @allanpk716 我还想 PT 跑些下载任务,需要长时间运行,不知道 SMB 挂载的方式会不会有什么缺点,比如读写会不会卡 IO 之类的,在 windows 上貌似 SMB 访问磁盘有问题的时候,会整个资源管理器都失去响应。。。
    allanpk716
        32
    allanpk716  
       72 天前
    @ccxuy 卡住就是网络问题(自己遇到的情况),目前用起来很稳定。但是你得确保提供 SMB 服务的设备不能轻易掉电,并且应该是在 SMB 提供者启动完毕后才把使用者启动,否则也会有故障( docker 设置 unless stop 一般也足够)。
    关于   ·   帮助文档   ·   博客   ·   nftychat   ·   API   ·   FAQ   ·   我们的愿景   ·   广告投放   ·   实用小工具   ·   4329 人在线   最高记录 5556   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 06:51 · PVG 14:51 · LAX 23:51 · JFK 02:51
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.