如何在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”實用程式進行此配置後,將不同的硬碟組合成單個儲存變得非常簡單。最好的是,它非常易於設定,並且我們不會在此檔案系統中丟失資料。如果您有大量資料,並且需要將資料儲存在單個位置,那麼您可以設定和配置系統,以便可以儲存這些大型資料。

更新於:2019年10月17日

280 次瀏覽

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.