如何在Linux中将多个硬盘组合成一个大硬盘?

如何在Linux中将多个硬盘组合成一个大硬盘?

我对 Linux 很陌生,主要是 Windows 7 用户,所以如果没有解释,我可能无法理解 Linux 特定的命令。

我决定构建一个运行某种形式的 Linux(可能是 FreeBSD 甚至 FreeNAS)的 NAS,并使用 SnapRAID 实现冗余。

我目前有大约十个 1TB 和 2TB 外部驱动器,我打算将它们从外壳中取出并通过 SATA 作为普通 HDD 安装。大多数这些驱动器都包含大量数据。

我的问题是:是否可以“组合”驱动器,使它们在操作系统和所有程序中显示为单个逻辑驱动器(约 13-14TB)没有删除数据?我认为这可以通过 LVM 来完成,但在我花很多钱购买 NAS 硬件之前,我想确保这能够正常工作。

答案1

我自己想出来了!我发现多媒体文件系统(不再推荐- 参见回答关于下面的 MergerFS),似乎确实如此确切地我想要的是。

我即将使用 VirtualBox 进行测试,但我相信我会使用快照RAID与 mhddfs (可能都在 Lubuntu 上运行),它解决了我的问题。

更新 05/2023:为了更好地兼容游戏服务器和媒体播放器,我们在 2015 年的某个时候从 Lubuntu 切换到 Windows 8(最终是 10),因此从 mhddfs 切换到驱动弯管机。它是一款付费产品,但近 8 年来一直在我们的 21TB NAS 和 16TB 备份计算机上运行良好。 SnapRAID 仍然是强烈推荐的。

答案2

自从上次回答这个问题以来,我们现在有了新技术!

查看合并FS- 功能强大的联合文件系统

mergefs 是一个联合文件系统,旨在简化众多商用存储设备上的文件存储和管理。它类似于 mhddfs、unionfs 和 aufs。

功能(无耻地复制自完美媒体服务器网站)

  • 将多个驱动器集中到一个可安装卷中
  • 支持添加和删除设备,无需重建时间
  • 允许尺寸不匹配的驱动器而不会受到处罚
  • 每个驱动器都有一个单独可读的文件系统(ext4、xfs、zfs 等)
    • 通过 Mergerfs 安装时,驱动器可能包含数据
  • /etc/fstab 中一行即可简单配置

答案3

数据丢失的风险很高,但如果您有足够的可用空间来首先处理数据段,那么它应该可以工作。

首先格式化一个空驱动器,将其添加到新的 LVM 阵列,然后将数据从磁盘 2 移动到一个磁盘的新 LVM 阵列。格式化并添加第二个磁盘,然后将数据从磁盘 3 移动到 LVM 阵列(现在是磁盘 1 和 2)。重复此操作,直到所有磁盘都位于阵列中。

或者使用 unionFS 之类的东西来模拟这种效果。或者只使用普通的安装点。

这在很大程度上取决于您尝试存储的数据类型以及数据的分割方式。

例如,如果您尝试存储 10G 的视频,并且视频被分成不大于 500M 的类别,您可以只使用 10 个 1G 硬盘和普通安装点。如果您有 10 G 的视频且分为两类,但没有单个视频大于 1G,您可以使用 10 个 1G 硬盘和 unionFS。

LVM 很好,但您必须对物理磁盘进行格式化和分区。那不应该这会导致您愿意慢慢地一次构建阵列 1 个磁盘,直到您将所有数据和所有磁盘分别移至 LVM 阵列为止。

进行备份事实上做两个。如果您有备份,这确实不是问题。设置阵列等,然后恢复备份。

答案4

如果我理解正确的话,您希望将一个虚拟硬盘用于多个不同大小的硬盘。那么它是JBOD,而不是RAID-0!因此,您不能像使用两个相同大小的磁盘那样使用条带集设置。说吧,条纹。相反,您使用串联的磁盘驱动程序。可用下http://en.wikipedia.org/wiki/Vinum_volume_manager 在 Freebsd 中。此处也有描述:http://www.ige.unicamp.br/manuais/FreeBSD-HB/vinum-objects.html

相关内容