帮助我为我的 NAS/媒体服务器选择驱动器池策略

帮助我为我的 NAS/媒体服务器选择驱动器池策略

我目前正在运行一台 NAS,它配备了 Ryzen 1600、16GB 内存、Ubuntu Server、一个用于操作系统的小型 SSD 和两个 8TB HDD(安装在/data/backup)。两个驱动器都是 ext4 格式,大约占了 60%。

/data保存着我的所有数据,包括 nextcloud 用户数据和电影/电视剧,其中许多都硬链接到驱动器上的不同位置。我使用 Rsnapshot 进行从/data到 的夜间备份/backup

我喜欢这个设置,主要是因为它非常简单直接,但我认为它缺乏保持简单性的升级路径。例如,如果我将来想添加更多驱动器(例如两个 14TB 驱动器),我只需将它们安装在 上,/data2/backup2我认为这是一个非常不方便的解决方案。

我在这里有什么选择?

我读过有关btrfs跨多台设备的文章,我有点喜欢用驱动器/data和新的 14TB 驱动器创建 btrfs 池的想法,同样,我会再扩展/backup14TB 并创建第二个 btrfs 池。这样,我就可以保持我的 Rsnapshot 备份解决方案正常工作,并在将来添加更多驱动器。据我所知,这样做的缺点是硬链接将不再起作用,因为数据将跨 8TB 和 14TB 驱动器进行条带化。这个假设正确吗?

我也在研究 RAID 5/6,但据我所知,这会将未来购买的驱动器限制在现有的 8TB 以内。此外,我更愿意使用两个单独的驱动器/池,/data/backup不是处理奇偶校验驱动器等。

请告诉我这个想法是否可行或者是否有更好的方法来解决这个问题。

答案1

为了以减少个人观点风险的方式回答这个问题,我会尽量保持以下简洁:

问:我在这里有哪些选择?

Ubuntu 附带了许多现成的解决方案:

  1. 逻辑卷

    这些是可靠的存储管理技术,使人们能够将存储设备(或同一存储设备内的不同分区)分组为看似单个卷/分区。可以根据需要增加或缩小卷。

    Ubuntu 开箱即用地支持此功能。

  2. ZFS 存储池

    去引用维基百科ZFS 将文件系统与卷管理器结合在一起。这使您可以根据需要增加或缩小存储池的大小,并带来许多额外的好处,例如文件系统复制、防止数据损坏等等。

    Ubuntu 21.10 对此支持得很好,并且它仍被视为 20.04 LTS 的“实验性”版本。

  3. 北卡罗莱纳州

    这与 ZFS 有很多相似之处,尽管实现方式不同。您可以使用几个命令向池中添加和删除存储设备,并且围绕该文件系统的社区非常热情。

    需要安装一些软件包才能在 Ubuntu 上使用 BTRFS,在线的各种教程可以快速完成这个小项目。

  4. 袭击

    正如您已经猜测的那样,RAID 允许您将一组磁盘放在一起,使其看起来像一个更大的磁盘,JBOD(一组磁盘)是临时添加和删除存储的人们常用的方法之一。但是,与 ZFS 和 BTRFS 不同,在发生磁盘故障或位衰减时,无法期望数据丢失得到保护。如果您重视数据和真的想要使用 RAID 作为大型存储池,必须在构建之前规划完整的阵列,并且您需要使用 RAID5 或 RAID6 来最大化存储,同时限制数据丢失的风险。

    正如人们所期望的,Ubuntu 开箱即支持此功能。

可能还有其他方法,但这四种是构建家庭存储服务器时讨论的最常见方法。在这四种方法中,逻辑卷可以说是最容易实现的。如果您想将数据保留数十年,同时随着时间的推移慢慢迁移到较新的磁盘,ZFS 和 BTRFS 是更好的选择。RAID 是一种选择。

相关内容