Filesystems

使用 mhddfs(合併文件系統)將新磁碟掛載到現有根掛載點

  • January 24, 2022

我在伺服器 ( ) 上有一個新磁碟sdb,我想將它掛載到現有的根掛載點 ( sda1mount on /) 以合併它。有一個名為mhddfs的實用程序正是我想要的。但問題在於範例中顯示將現有掛載點安裝到virtual以前未使用的合併呼叫:

$ df -h
Filesystem            Size  Used Avail Use% Mounted on
...
/dev/sda1              80G   50G   30G  63% /mnt/hdd1
/dev/sdb1              40G   35G    5G  88% /mnt/hdd2
/dev/sdc1              60G   10G   50G  17% /mnt/hdd3
$ mkdir /mnt/virtual
$ mhddfs /mnt/hdd1,/mnt/hdd2,/mnt/hdd3 /mnt/virtual -o allow_other
$ df -h
Filesystem            Size  Used Avail Use% Mounted on
...
/dev/sda1              80G   50G   30G  63% /mnt/hdd1
/dev/sdb1              40G   35G    5G  88% /mnt/hdd2
/dev/sdc1              60G   10G   50G  17% /mnt/hdd3
mhddfs                180G   95G   85G  53% /mnt/virtual

但我的文件系統如下所示:

$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        76G   58G   15G  80% /
udev             10M     0   10M   0% /dev
tmpfs           3.2G  8.7M  3.2G   1% /run
tmpfs           7.9G     0  7.9G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           7.9G     0  7.9G   0% /sys/fs/cgroup
tmpfs           1.6G     0  1.6G   0% /run/user/1008
tmpfs           1.6G     0  1.6G   0% /run/user/1007
tmpfs           1.6G     0  1.6G   0% /run/user/1002
tmpfs           1.6G     0  1.6G   0% /run/user/1000
/dev/sdb1       197G  188M  187G   1% /mnt/sdb1

這些是磁碟:

$ fdisk -l

Disk /dev/sda: 101 GiB, 108447924224 bytes, 211812352 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x000ced15

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1            2048 204000000 203997953 97.3G 83 Linux
/dev/sda2       204001280 211812351   7811072  3.7G  5 Extended
/dev/sda5       204003328 211812351   7809024  3.7G 82 Linux swap / Solaris

Disk /dev/sdb: 200 GiB, 214748364800 bytes, 419430400 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 145F5C99-D238-4702-B728-04A613B1DBA1

Device     Start       End   Sectors  Size Type
/dev/sdb1   2048 419428351 419426304  200G Linux filesystem

那麼如何安裝sdb1/withmhddfs呢?我可以像例子中那樣做嗎:

$ mhddfs /,/mnt/sda1 / -o allow_other

當然,我不想失去現有數據,sda而且我不確定mhddfs在這種情況下會做什麼。

作為警告:我沒有使用 mhddfs 的經驗,但有一些一般規則:

mhddfs 自述文件中提到的所有範例均基於安裝新的安裝點 - 而不是現有的安裝點。

所以沒有提到只是在已經安裝的點上覆蓋。

還要考慮你當時在做什麼:

/dev/sda1 看起來很像你的引導和根分區。

即使您能夠使用任何工具重新安裝它 - 您如何知道為新的 linux-kernels 添加了正確的文件?

我的建議是:

找出哪些目錄變得相當大。嘗試將此目錄移出到新驅動器。

根據您的範例:

$ df -h Filesystem Size Used Avail Use% Mounted on /dev/sda1 76G 58G 15G 80% / /dev/sdb1 197G 188M 187G 1% /mnt/sdb1 [...]

嘗試:

sudo du -hs /*

您最終可能會在 /home 中獲得 50GB 的內容

如果是這樣,您可以將 /home 中的所有內容複製到 /mnt/sdb1/

如果您已經這樣做了:

umount /dev/sdb1

將 /home 重命名為 /home_old

mkdir /home

並將 /dev/sdb1 安裝到 /home

這個新的掛載點將在 /etc/fstab 中配置:

如您所見:您不需要任何神奇的額外工具 - 這是標準的 unix 管理員工作 ;-)

引用自:https://unix.stackexchange.com/questions/364153