如何在Linux上使用mhddfs将多个分区连接在一起以形成一个较大的分区
我有三个旧硬盘驱动器:大小分别为60、60和120 GB。
还有200 GB的视频文件,如何将它们存储在这些驱动器上。
如何将我的所有文件存储在三个硬盘上,而不将文件拆分成多个部分或者创建RAID阵列?
如何在Linux操作系统上将几个安装点(分区)组合到单个安装点中?
最简单,最快的解决方案是在Linux操作系统上使用mhddfs驱动程序。
它是基于保险丝的文件系统,用于将多个安装点统一为一个。
mhddfs(保险丝)文件系统允许将多个安装点(或者目录)统一到单个安装点。
因此,模拟了一个大文件系统,这使得可以组合多个硬盘驱动器或者网络文件系统。
该系统类似于unionfs,但是它可以选择具有最大可用空间的驱动器,并为应用程序透明地在驱动器之间移动数据。
在写入文件时,将它们写入第一个硬盘,直到硬盘具有可用空间(请参阅mlimit选项),然后将它们写入第二个硬盘,然后写入第三个硬盘,以此类推。
大硬盘如果在写入hdd1时发生溢出,则已写入的文件内容将被传输到包含足够文件可用空间的hdd。
传输是动态进行的,对于正在编写的应用程序是完全透明的。
因此,此行为模拟了一个大文件系统。
在本教程中,您将学习如何在Linux操作系统上安装和配置MHDDFS虚拟存储池。
设置示例
将三个硬盘驱动器分别配置为/dev/sdb1,/dev/sdc1和/dev/sdd1:
# df
我的3个硬盘驱动器安装在/disk1,/disk2和/disk3上
我的/disk {1,2,3} /目录中的文件如下:
# ls -l /disk{1,2,3}
输出示例:
/disk1: total 28 drwxr-xr-x 2 root root 4096 Aug 8 14:25 app1 drwx------ 2 root root 16384 Aug 8 14:20 lost+found -rw-r--r-- 1 root root 7545 Aug 8 14:26 resume.txt /disk2: total 28 drwxr-xr-x 2 root root 4096 Aug 8 14:25 app2 drwx------ 2 root root 16384 Aug 8 14:20 lost+found -rw-r--r-- 1 root root 6303 Aug 8 14:26 party.jpg /disk3: total 40 drwxr-xr-x 2 root root 4096 Aug 8 14:25 app3 drwx------ 2 root root 16384 Aug 8 14:21 lost+found -rw-r--r-- 1 root root 17080 Aug 8 14:26 output.log
安装
让我们看看如何在不同的Linux发行版上安装mhddfs软件包。
在Debian/Ubuntu/Mint Linux&Co上安装mhddfs软件包
执行以下apt-get命令以安装mhddfs:
# apt-get install mhddfs
在Fedora/RHEL/CentOS Linux&Co上安装mhddfs软件包
打开EPEL repo并执行以下命令:
# yum install mhddfs
Fedora Linux v22.x +用户执行以下命令:
# dnf install mhddfs
配置
首先,创建一个名为/virtual.data的新安装点目录,执行:
# mkdir /virtual.data
要将所有三个驱动器连接在一起,请执行:
# mhddfs /disk1,/disk2,/disk3 /virtual.data -o allow_other
现在,您可以验证/virtual.data/作为单个bing卷,即多个目录组合在一起,模拟一个可以合并多个硬盘驱动器或者远程文件系统的单个大卷:
# df
输出示例:
Filesystem 1K-blocks Used Available Use% Mounted on /dev/sda1 39428520 6109320 31293268 17% / udev 10240 0 10240 0% /dev tmpfs 811792 9084 802708 2% /run tmpfs 2029472 144 2029328 1% /dev/shm tmpfs 5120 4 5116 1% /run/lock tmpfs 2029472 0 2029472 0% /sys/fs/cgroup tmpfs 405896 16 405880 1% /run/user/1000 /dev/sdb1 4061888 8196 3827644 1% /disk1 /dev/sdc1 4061888 8196 3827644 1% /disk2 /dev/sdd1 4061888 8208 3827632 1% /disk3 /disk1;/disk2;/disk3 12185664 24600 11482920 1% /virtual.data
另外,记下ls -l命令输出:
# ls -l /virtual.data/
现在,您可以根据需要复制文件或者创建新目录:
# cd /virtual.data/ # mkdir Music # rsync -avp /somewhere/* Music/ .... ..
更新/etc/fstab
更新/etc/fstab
文件,如下所示:
mhddfs#/disk1,/disk2,disk3 /virtual.data/ fuse defaults,allow_other 0 0
如何卸载基于mhddfs的保险丝文件系统
使用umount命令分离/virtual.data/文件系统:
# umount /virtual.data/