将多个驱动器映射到 samba/smb 客户端的同一目录

将多个驱动器映射到 samba/smb 客户端的同一目录

我正在尝试解决这个具体问题:

1) 我想找到一种方法,将多个物理硬盘的容量合并到一个目录中Windows 客户端通过 SMB 共享看到的情况

我正在寻找一种解决方案,使不同驱动器上的文件可以显示在文件系统的同一目录中。换句话说,我不想将驱动器 D 安装到 C:\files\otherdrive,因为如果我在 C:\files\otherdrive 和驱动器 C 上的任何其他地方之间移动文件,可能会耗尽空间。

2) 我希望驱动器故障仅仅意味着丢失一些文件,并且我可以继续使用剩余的驱动器,而无需花费数小时运行恢复程序。

我正在寻找某种解决方案,如果所有文件的大小大致相同,并且 3 个驱动器中有一个驱动器坏了,我将丢失 33% 的文件,然后继续我的生活,而不必使用可能或不可能完成任何事情的恢复程序启动 16 小时的恢复过程。

关于此类事件的具体信息似乎很少,我还没有找到任何类似 JBOD 的解决方案,其中所有数据的可恢复性不会因为单个驱动器发生故障而受到质疑。大多数建议都只是“如果硬件或软件 JBOD 中的驱动器发生故障,您应该假设您会丢失 100% 的数据”

重申一下,这些文件并不重要,我不在乎合理比例如果驱动器坏了,我的文件就会丢失,我只是不想失去一切,并需要花费很多时间进行恢复。出于这些原因,Raid-0 似乎是不可能的,而且我读到的 JBOD 实现似乎不可用或大多不令人满意(您可以通过在每个驱动器上手动运行恢复程序来恢复一些文件)。

是否存在满足这些要求的解决方案?到目前为止,我只能找到满足一个要求或另一个要求的解决方案。

需要目录结构尴尬的解决方案:将一个驱动器挂载为另一个驱动器的子目录

如果一个驱动器发生故障,所有数据都将丢失的解决方案:Raid-0,我研究过的所有 JBOD 版本

我愿意使用其他操作系统,甚至购买价格合理的消费级硬件。

非常感谢所有的建议

编辑:我非常熟悉 raid 0、1、0+1 和 5。我不认为 raid 是我想要的,因为

a) 数据的价值不足以提供任何冗余。正如我上面所述,如果占总容量 45% 的驱动器坏了,我希望丢失大约 45% 的数据。

b) 我计划使用不同大小的驱动器

c) 我希望能够自由地添加/删除物理驱动器,而不会对所有数据造成严重后果(参见要点 A,在某些情况下,死驱动器算作删除......)

再次感谢

答案1

听起来好像您希望能够将多个物理磁盘组合成一个逻辑卷,并且具有一定的冗余度,以便单个磁盘故障不会影响整个文件系统。

假设我没有误解,您的最佳解决方案似乎就是通常所说的“RAID 10”或“RAID 1+0”——也就是说,两个或多个 RAID 1(镜像)卷,组合成一个 RAID 0(条带化)卷。

这样,您既可以享受两种 RAID 级别的优点,又可以避免任何一种的缺点 —— RAID 0 没有弹性,因为单个磁盘故障会破坏整个阵列,但在 RAID 10 方案中,您可以通过在由多个物理磁盘组成的逻辑卷上进行条带化来克服这个问题。这样,只要每个 RAID 1 卷至少有一个幸存成员,您就不会丢失数据。

当然,如果整个 RAID 1 卷失败,那么您将失去一切,就像任何其他 RAID 0 卷一样,因此您并非完全没有风险;也就是说,如果您能买得起六个磁盘,并用三个磁盘构建 RAID 1 卷,那么您将获得一个阵列,在最坏的情况下可以承受两个磁盘故障,在最好的情况下可以承受四个磁盘故障,直到它对您造成故障。(这些都不是没有保留备份的借口!)

维基百科提供对 RAID 10 以及其他 RAID 级别组合的全面概述而且如今每个主流操作系统都提供软件 RAID,因此您不需要那么智能的磁盘控制器来实现 RAID 10 等两级嵌套 - 如果您的主板或 PCIe SATA 控制器可以执行 RAID 1,您可以在硬件中创建镜像阵列并使用操作系统的软件 RAID 在它们之间进行条带化,然后您就可以开始了。

相关内容