如何合并多个硬盘?

如何合并多个硬盘?

我有一台带有三个硬盘的服务器:

  1. 250GB
  2. 3TB
  3. 250GB

如何将多个硬盘合并为一个更大的卷(约 3.5 TB)?我是一名程序员而不是系统管理员。

答案1

在 Linux 上使用 LVM(逻辑卷管理)。

您可以将 LVM 视为“动态分区”,这意味着您可以在 Linux 系统运行时从命令行创建/调整大小/删除 LVM“分区”(在 LVM 术语中它们称为“逻辑卷”):需要重新启动系统以使内核知道新创建或调整大小的分区。

首先,您可以使用fdiskwith-l选项来获取有关当前“磁盘”的信息,然后使用它对“磁盘”进行分区,并将这些分区的系统类型设置为“Linux LVM”,完成“磁盘”的分区后”,用于pvcreate为“LVM”准备新分区。

欲了解更多信息:https://www.howtoforge.com/linux_lvm

答案2

以下可以做你想做的事(也搜索“union filsystems”):

  1. 合并文件系统
  2. 覆盖文件系统
  3. 左心室容量
  4. 联盟
  5. 奥夫斯

还有其他一些,但这些曾经或曾经很流行。 LVM 很危险,因为丢失驱动器会破坏整个文件系统。 unionfs好像已经不再开发了。 Aufs 很复杂,需要编译内核内容。 Overlayfs 具有 CoW 模式,并且内置于现代内核中,因此几乎可以在每个系统上轻松使用,并且在容器式虚拟机(例如 Docker)中很受欢迎。然而,与普通文件系统相比,overlayfs 有一些局限性。 mergefs 使用 FUSE,因此可以在用户空间中运行,并且像普通文件系统一样运行。在这些选择中,我会根据您的需要推荐 mergefs 或 overlayfs。

像这样连接文件系统可能很有用,因为它允许底层文件系统成为单独的实体。在某些工作负载下,这实际上可以提供比典型 RAID 阵列更高的性能,因为它可以减少随机访问活动(例如,10 个客户端访问 10 个单独的驱动器)。单个驱动器发生故障不会丢失所有驱动器上的所有数据。您还可以将联合文件系统与类似的东西结合起来快照RAID获得备份/冗余。

答案3

其他答案提供了您问题的答案。然而,RAID 可能会更好地满足您的需求。

  • 将两个 250GB 驱动器组合成软件 raid1,为您关心的数据提供 250GB(约 228GB 有效)的冗余存储。这可能是您的操作系统和您的个人文件。然后使用单个 3TB 驱动器作为 /data 存储,因为它受到的保护较少。

  • 购买第二个 3TB 驱动器并对两个大驱动器进行 raid1,为您提供 2.6TB 有效存储,但可以防止单个驱动器发生故障。可以与两个 250 GB 驱动器的 raid1 相结合,实现完全冗余的系统/数据分离。 最好的想法如果你能负担得起。

  • 对三个驱动器进行 Raid5,提供约 500GB 的有效存储空间,并浪费了大部分 3TB 驱动器。 浪费

  • JBOD /线性raid 这将提供完整的3.5TB(有效约为3.1TB),但任何驱动器的故障都将转储整个文件系统的全部内容。 这不好- 不要这样做 - 只是为了完整性而提到。

请注意,这些建议都不能取代正确的备份例程。 Raid 可防止驱动器故障,但不会导致文件删除或因入室盗窃或火灾而丢失。

顶部的 LVM 是抽象树的另一层 - 将实现类似的目标,但没有 raid 的弹性。


后来 - ZFS 变得越来越成为一种选择。 OpenZFS 做了一些奇特的事情,并且横跨 RAID 和文件系统层。拥有的磁盘越多,ZFS 的优势就越大。 https://openzfs.org/

答案4

出色地,

如果你想 ”合并“将驱动器放入一个连续的文件系统,上面的答案是左心室容量可能是最好的答案,尽管我会非常谨慎地这样做。上述考虑因素是非常真实的。 (例如,丢失一个驱动器可能会导致所有驱动器上的数据无法恢复。)

根据您对 3 个驱动器的使用情况,我认为最好去获取一个 4TB 硬盘驱动器,然后使用“(g) 分手“ 或者 ”dd/dd救援这样,如果出现任何问题,您仍然可以维护原始驱动器。

现在,如果 3 个驱动器中的一个或多个是系统的根分区(例如,一个或多个硬盘驱动器是系统的操作系统驱动器,您在“合并”操作后要启动到该驱动器),我会考虑另一种方法它,或通过以下方式设置 4TB 驱动器来启动操作系统分区幼虫

HTH。

相关内容