我们可以将多个磁盘挂载为一个目录吗?

我们可以将多个磁盘挂载为一个目录吗?

有没有办法将不同的磁盘挂载为一个目录?假设我有一些带有 ext4 分区的磁盘:

/dev/sda1 1Tb  mounted as /store1
/dev/sda2 2Tb  mounted as /store2
/dev/sdb1 2Tb  mounted as /store3
/dev/sdb2 2Tb  mounted as /store4

我想要有/storeall7Tb 的空间,将它们合并为一个逻辑目录,这样我就可以用一个rsync命令来填充它。

在 Linux 上可以实现吗?我应该使用哪种文件系统?

答案1

mhddfs 正是您要找的:http://romanrm.net/mhddfs

您可以像这样安装:

mhddfs /mnt/a/,/mnt/b/,/mnt/c/ /storeall/

其中/mnt/a//mnt/b//mnt/c/是三个不同的挂载点,可以来自三个不同的硬盘。您可以像这样卸载:

fusermount -u /storeall

如果一个磁盘发生故障,您只会丢失存储在该特定磁盘上的文件。如果您的数据对您来说很重要,并且您希望数据在磁盘故障后仍然存在,那么您应该考虑使用 RAID 设置(搜索 mdadm)。

编辑:PS!您挂载的设备甚至可以有不同的文件系统!

答案2

这不是文件系统问题,而是分区问题。

您要做的就是删除这些磁盘上的文件系统(备份这些磁盘上已有的任何数据),然后在所有四个磁盘上创建一个 LVM 卷集。然后您可以在该卷集中创建一个文件系统,并将该文件系统安装到一个位置并以此方式填充它。

请注意,这不会有任何冗余,并且如果您丢失四个磁盘中的任何一个,您都可能会丢失所有磁盘上的数据。

答案3

查看联合金融服务,也许对你有帮助。

答案4

MergerFS 是最近创建的选项。它是一个合并多个目录的 FUSE 文件系统:https://github.com/trapexit/mergerfs

mergerfs 在逻辑上将多个路径合并在一起。想象一个集合的并集。通过 mergerfs 执行或呈现的文件或目录基于为该特定操作选择的策略。

mergerfs 不支持 aufs 和 overlayfs 中的写时复制 (CoW) 行为。您无法挂载只读文件系统并对其进行写入。但是,mergerfs 在创建新文件时会忽略只读驱动器,因此您可以混合读写驱动器和只读驱动器。它也不会跨驱动器拆分数据。它不是 RAID0/条带化。它只是一个联合。

相关内容