网站搜索

Mhddfs - 将多个较小的分区合并为一个大型虚拟存储


假设您有 30GB 的电影,并且有 3 个驱动器,每个驱动器的大小为 20 GB。那么你将如何存储?

显然,您可以将视频分成两个或三个不同的卷,然后手动将它们存储在驱动器上。这当然不是一个好主意,这是一项详尽的工作,需要手动干预和大量时间。

另一种解决方案是创建磁盘 RAID 阵列。 RAID 一直因存储可靠性和可用磁盘空间的损失而臭名昭著。另一个解决方案是mhddfs

mhddfs 是一种 Linux 驱动程序,它将多个安装点组合到一个虚拟磁盘中。它是一个基于熔丝的驱动程序,为大数据存储提供了一个简单的解决方案。它结合了所有小型文件系统来创建一个大型虚拟文件系统,其中包含其成员文件系统的每个部分,包括文件和可用空间。

为什么需要 Mhddfs?

您的所有存储设备都会创建一个虚拟池,并且可以在启动时立即安装。这个小实用程序会智能地处理哪个驱动器已满、哪个驱动器空以及将数据写入哪个驱动器。成功创建虚拟驱动器后,您可以使用 SAMBA 共享您的虚拟文件系统。您的客户将始终看到巨大的驱动器和大量的可用空间。

MHDFS的特点

  1. 获取文件系统的属性和系统信息。
  2. 设置文件系统的属性。
  3. 创建、读取、删除和写入目录和文件。
  4. 支持单个设备上的文件锁和硬链接。
Pros of mhddfs

mhddfs 的缺点

 Perfect for home users.

Linux 内核中未内置 mhddfs 驱动程序

 Simple to run.

 运行时需要大量处理能力

 No evidence of Data loss

 无冗余解决方案。

 Do not split the file.

 不支持移动硬链接

 Add new files to the combined virtual filesystem.

 

 Manage the location where these files are saved.

 

  Extended file attributes

 

Linux中Mhddfs的安装

在 Debian 和可移植到类似系统上,您可以使用以下命令安装 mhddfs 软件包。

apt-get update && apt-get install mhddfs

在 RHEL/CentOS Linux 系统上,您需要打开 epel-repository,然后执行以下命令来安装 mhddfs 软件包。

yum install mhddfs

Fedora 22+系统上,您可以通过dnf包管理器获取它,如下所示。

dnf install mhddfs

如果 epel 存储库中无法提供 mhddfs 软件包,那么您需要解决以下依赖项才能从源代码安装和编译它,如下所示。

  1. 保险丝头文件
  2. 海湾合作委员会
  3. libc6 头文件
  4. uthash头文件
  5. libattr1 头文件(可选)

接下来,只需按照下面的建议下载最新的源码包并编译即可。

wget http://mhddfs.uvw.ru/downloads/mhddfs_0.1.39.tar.gz
tar -zxvf mhddfs*.tar.gz
cd mhddfs-0.1.39/
make

您应该能够在当前目录中看到二进制mhddfs。以 root 身份将其移至 /usr/bin//usr/local/bin/

cp mhddfs /usr/bin/ 
cp mhddfs /usr/local/bin/

一切就绪,mhddfs 即可使用。

如何使用 Mhddfs?

1. 让我们看看当前安装到我的系统的所有HDD

df -h

样本输出
Filesystem      Size  Used Avail Use% Mounted on

/dev/sda1       511M  132K  511M   1% /boot/efi
/dev/sda2       451G   92G  336G  22% /
/dev/sdb1       1.9T  161G  1.7T   9% /media/avi/BD9B-5FCE
/dev/sdc1       555M  555M     0 100% /media/avi/Debian 8.1.0 M-A 1

请注意此处的“安装点”名称,我们稍后将使用它。

2. 创建一个目录 /mnt/virtual_hdd,其中所有文件系统将分组在一起,

mkdir /mnt/virtual_hdd

3. 然后挂载所有文件系统。作为 root 或作为 FUSE 组成员的用户。

mhddfs /boot/efi, /, /media/avi/BD9B-5FCE/, /media/avi/Debian\ 8.1.0\ M-A\ 1/ /mnt/virtual_hdd  -o allow_other

注意:我们在这里使用所有硬盘的挂载点名称。显然,您的情况下的安装点会有所不同。另请注意“-oallow_other”选项使该虚拟文件系统对所有其他人可见,而不仅仅是创建它的人。

4. 现在运行“df -h”查看所有文件系统。它应该包含您刚才创建的那个。

df -h

您可以对您创建的虚拟文件系统执行所有选项,就像对已安装的驱动器执行的操作一样。

5.要在每个系统启动上创建此虚拟文件系统,您应该添加以下代码行(在您的情况下,它应该有所不同,具体取决于您的安装点) ,位于 root 身份的 /etc/fstab 文件末尾。

mhddfs# /boot/efi, /, /media/avi/BD9B-5FCE/, /media/avi/Debian\ 8.1.0\ M-A\ 1/ /mnt/virtual_hdd fuse defaults,allow_other 0 0

6.如果在任何时候您想向Virtual_hdd添加/删除新驱动器,您可以挂载新驱动器,复制挂载点的内容 /mnt/virtual_hdd卸载卷,弹出要删除的驱动器和/或安装要包含的新驱动器,在Virtual_hdd下安装整个文件系统使用mhddfs命令,你应该完成。

如何卸载 Virtual_hdd?

卸载 virtual_hdd 非常简单,

umount /mnt/virtual_hdd

请注意,它是umount,而不是unmount。很多用户都输入错误。

目前为止就这样了。我正在写另一篇你们会喜欢阅读的文章。在此之前请继续关注并连接到 Howtoing。在下面的评论中向我们提供您的宝贵反馈。喜欢并分享我们并帮助我们传播。