Mhddfs - 将多个较小的分区合并为一个大型虚拟存储
假设您有 30GB 的电影,并且有 3 个驱动器,每个驱动器的大小为 20 GB。那么你将如何存储?
显然,您可以将视频分成两个或三个不同的卷,然后手动将它们存储在驱动器上。这当然不是一个好主意,这是一项详尽的工作,需要手动干预和大量时间。
另一种解决方案是创建磁盘 RAID 阵列。 RAID 一直因存储可靠性和可用磁盘空间的损失而臭名昭著。另一个解决方案是mhddfs。
mhddfs 是一种 Linux 驱动程序,它将多个安装点组合到一个虚拟磁盘中。它是一个基于熔丝的驱动程序,为大数据存储提供了一个简单的解决方案。它结合了所有小型文件系统来创建一个大型虚拟文件系统,其中包含其成员文件系统的每个部分,包括文件和可用空间。
为什么需要 Mhddfs?
您的所有存储设备都会创建一个虚拟池,并且可以在启动时立即安装。这个小实用程序会智能地处理哪个驱动器已满、哪个驱动器空以及将数据写入哪个驱动器。成功创建虚拟驱动器后,您可以使用 SAMBA 共享您的虚拟文件系统。您的客户将始终看到巨大的驱动器和大量的可用空间。
MHDFS的特点
- 获取文件系统的属性和系统信息。
- 设置文件系统的属性。
- 创建、读取、删除和写入目录和文件。
- 支持单个设备上的文件锁和硬链接。
- 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 软件包,那么您需要解决以下依赖项才能从源代码安装和编译它,如下所示。
- 保险丝头文件
- 海湾合作委员会
- libc6 头文件
- uthash头文件
- 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。在下面的评论中向我们提供您的宝贵反馈。喜欢并分享我们并帮助我们传播。