使用 mhddfs(合併文件系統)將新磁碟掛載到現有根掛載點
我在伺服器 ( ) 上有一個新磁碟
sdb
,我想將它掛載到現有的根掛載點 (sda1
mount 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 管理員工作 ;-)