在 Linux 上的单个挂载点挂载多个设备

在 Linux 上的单个挂载点挂载多个设备

有没有办法将多个硬盘驱动器安装到单个安装点?假设我的空间不足/home,决定在计算机上添加一个额外的硬盘。如何缩放安装点上的空间?如果我使用 RAID,我可以在驱动器用完时动态添加驱动器以增加空间吗?如果我对维持高水平冗余不感兴趣,是否有使用 RAID 的替代方案?

答案1

您可能对 UnionFS 感兴趣。在现有系统上设置可能比 LVM 更简单。

从 UnionFS 页面,http://www.filesystems.org/project-unionfs.html:

该项目构建了一个可堆叠的统一文件系统,它可以合并多个目录(分支)的内容,同时保持它们的物理内容分离。 Unionfs 对于统一源代码树管理、合并分割 CD-ROM 的内容、合并单独的软件包目录、数据网格等很有用。

我希望你觉得这有帮助。

答案2

您可以使用左室厚度为了这。它旨在将物理驱动器与逻辑驱动器分开。

使用lvm,您可以:

  1. 将全新的物理驱动器添加到池(在 LVM 术语中称为卷组)

    pvcreate /dev/sdb my_vg

  2. 扩展逻辑卷空间

    延伸...

  3. 最后在线调整文件系统的大小

    e2resize /mnt/我的/路径

但请注意,这不是灵丹妙药。即使使用 LVM,减少文件系统也要困难得多。

答案3

LVM 答案是一个很好的答案,但 raid 也可以做到这一点,因此添加另一个答案。
Linux 软件 raid (mdadm) 允许将磁盘添加到已创建的阵列中。当您执行此操作时,会将数据重新平衡到新驱动器上。
如果您对冗余不感兴趣,您可以使用 raid-0,它将数据均匀地分布在所有磁盘上。
然而,raid-5 至少提供了一些冗余,而不会损失太多存储空间(牺牲一个磁盘的价值)。

但话虽如此,当所有驱动器大小相同时,raid 效果最佳。如果它们的大小不同,则驱动器的某些部分将不会被使用,因为它只会使用最小的驱动器。如果我没记错的话,LVM 条带不会有这个问题,就像驱动器大小不同一样,额外的空间不会被条带化。

答案4

有没有办法将多个硬盘驱动器安装到单个安装点?

可能不是以您想要的方式。你可以做各种有趣的事情,但这并不能解决您想要解决的问题。

假设我的 /home 空间不足,并决定向计算机添加一个额外的硬盘驱动器。如何缩放安装点上的空间?

一种方法是以下步骤:

  1. 将一个或多个新驱动器添加到您的计算机

  2. 使用新驱动器创建 LVM

  3. 格式化新的 LVM(可能为 ext4 或 xfs)

  4. 将其安装到临时位置(例如/dev/tmp:)

  5. 使用或 将的内容复制/home到新的 lvm ( /dev/tmp)rsynccp

  6. 执行“swaperoo”(在 处卸载旧驱动器/home,在 处卸载新驱动器/dev/tmp,并在 处安装新驱动器/home

  7. 可选地扩展新的LVM使用旧驱动器

  8. 更新文件系统表以便挂载在重新启动后保持不变

上述步骤可能应该通过从实时 USB/CD 启动到操作系统来完成,例如格帕特

如果我使用 RAID,我可以在驱动器用完时动态添加驱动器以增加空间吗?

是的你可以。 究竟如何取决于硬件(假设您将使用硬件 raid)。

如果我对维持高水平冗余不感兴趣,是否有使用 RAID 的替代方案?

“高水平冗余”是主观的,并非所有 RAID 都提供冗余。以下是 RAID 选项的高级细分:

  • RAID 1(镜像)完全冗余,可能不想要这个

  • RAID 6(2 个奇偶校验块)可以处理 2 个磁盘故障而不丢失数据,至少 4 个驱动器,可能不想要这个

  • RAID 5(1 个奇偶校验块)可容忍单个驱动器故障,至少 3 个磁盘,可能满足您的需求

  • RAID 0(条带化)没有冗余,如果单个驱动器发生故障,您将丢失所有数据(尽管它提供了出色的性能),可能适合您的需求

或者,您也可以使用ZFS这就是我要做的。从维基百科:“ZFS 具有可扩展性,包括针对数据损坏的广泛保护、对高存储容量的支持、高效数据压缩、文件系统和卷管理概念的集成、快照和写时复制克隆”。根据我的经验,ZFS 非常灵活,可以配置(和调整)来执行您想要的大多数操作。它可以处理 RAID、LVM、写时复制、快速压缩等。与 ext4 或 xfs 相比,管理起来要复杂一些,但如果您无论如何都必须搞乱 raid/lvm,那么它实际上并没有那么不同。

相关内容