如何在Linux上合并多个分区
本文将介绍如何在Linux系统中使用两个各20GB的驱动器创建一个40GB的单一挂载点,以便将数据存储在一个位置,并拥有更大的存储空间。这里我们将使用名为“mhddfs”的软件包,这是一个用于Linux的驱动程序,可以将多个挂载点组合成一个虚拟磁盘。这是一个基于FUSE的驱动程序,它为大型数据存储提供了一个简单的解决方案,可以将许多小型文件系统组合成一个大型虚拟文件系统。
Mhddfs 的特性
- 我们可以获取系统信息和文件系统属性。
- 它可以设置文件系统的属性。
- 可以创建、读取、删除和写入文件和目录。
- 支持单个设备上的硬链接和文件锁。
优点
- 对家庭用户非常友好。
- 易于使用。
- 不会丢失数据。
- 文件不会被分割到多个硬盘。
缺点
- Linux没有内置驱动程序。
- 运行时需要大量的处理能力。
- 不支持移动硬链接。
- 没有冗余解决方案。
在Linux中安装Mhddfs
在继续之前,请注意安装需要以root用户身份进行。
# sudo -i
执行以下命令安装“mhddfs”软件包。
# apt-get install mhddfs Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: mhddfs 0 upgraded, 1 newly installed, 0 to remove and 64 not upgraded. Need to get 0 B/26.0 kB of archives. After this operation, 96.3 kB of additional disk space will be used. Selecting previously unselected package mhddfs. (Reading database ... 91977 files and directories currently installed.) Preparing to unpack .../mhddfs_0.1.39+nmu1ubuntu1_amd64.deb ... Unpacking mhddfs (0.1.39+nmu1ubuntu1) ... Processing triggers for man-db (2.7.4-1) ... Setting up mhddfs (0.1.39+nmu1ubuntu1) ... # df -h Filesystem Size Used Avail Use% Mounted on udev 473M 0 473M 0% /dev tmpfs 98M 4.9M 93M 5% /run /dev/dm-0 19G 3.1G 15G 18% / tmpfs 488M 0 488M 0% /dev/shm tmpfs 5.0M 0 5.0M 0% /run/lock tmpfs 488M 0 488M 0% /sys/fs/cgroup /dev/sda1 236M 51M 173M 23% /boot tmpfs 98M 0 98M 0% /run/user/1000 /dev/sdb1 20G 44M 19G 1% /backup /dev/sdc1 20G 44M 19G 1% /backup1
记下输出中的挂载点名称,我们将在后面的步骤中使用它。
创建一个目录 /mnt/virtual HDD,这些文件系统将在此处组合并挂载。
# mkdir /mnt/virtualhdd
然后我们需要挂载 /backup 和 /backup1。我们需要root权限,并且是FUSE组的成员。
# mhddfs /backup,/backup1 /virtualhdd/ -o allow_other mhddfs: directory '/backup' added to list mhddfs: directory '/backup1' added to list mhddfs: mount to: /virtualhdd/ mhddfs: move size limit 4294967296 bytes
我们使用了所有硬盘的挂载点名称。显然,您情况下的挂载点会不同。此外,请注意使用了“-o allow_other”选项,以便所有使用此Linux系统的其他用户都可以看到虚拟文件系统。
现在运行“df -h”查看我们创建的所有磁盘和挂载点。
# df -l Filesystem 1K-blocks Used Available Use% Mounted on udev 483472 0 483472 0% /dev tmpfs 99888 4972 94916 5% /run /dev/dm-0 19213004 3158668 15055324 18% / tmpfs 499420 0 499420 0% /dev/shm tmpfs 5120 0 5120 0% /run/lock tmpfs 499420 0 499420 0% /sys/fs/cgroup /dev/sda1 240972 51472 177059 23% /boot tmpfs 99888 0 99888 0% /run/user/1000 /dev/sdb1 20504628 44992 19395016 1% /backup /dev/sdc1 20504628 44992 19395016 1% /backup1 /backup;/backup1 41009256 89984 38790032 1% /virtualhdd
为了每次启动时自动创建虚拟文件系统,我们应该在 /etc/fstab 文件的末尾添加以下行。
# vi /etc/fstab # /etc/fstab: static file system information. # Use 'blkid' to print the universally unique identifier for a # device; this may be used with UUID= as a more robust way to name devices # that works even if disks are added and removed. See fstab(5). # # <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/server--vg-root / ext4 errors=remount-ro 0 1 # /boot was on /dev/sda1 during installation UUID=40f8b7fe-3195-414a-a0e4-a4443cceb78c /boot ext2 defaults 0 2 /dev/mapper/server--vg-swap_1 none swap sw 0 0 /dev/fd0 /media/floppy0 auto rw,user,noauto,exec,utf8 0 0 mhddfs /backup,/backup1 /virtualhdd/ -o allow_other fuse defaults allow_other 0 0
卸载虚拟驱动器
# umount /mnt/virtualhdd
使用“mhddfs”实用程序进行此配置后,将不同的硬盘组合成单个存储变得非常简单。最好的是,它非常易于设置,并且我们不会在此文件系统中丢失数据。如果您有大量数据,并且需要将数据保存在单个位置,那么您可以设置和配置系统,以便可以保存这些大型数据。
广告