使用 mhddfs 将新磁盘挂载到现有根挂载点(合并文件系统)

使用 mhddfs 将新磁盘挂载到现有根挂载点(合并文件系统)

我在服务器 ( sdb) 上有一个新磁盘,我想将其安装到现有根安装点 (sda1安装在/) 上以合并它。有一个实用程序叫做多媒体文件系统这正是我想要的。但问题在于示例中显示将现有挂载点安装到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在这种情况下会做什么。

答案1

警告:我没有使用 mhddfs 的经验,但有一些一般规则:

mhddfs 自述文件中提到的所有示例都是基于安装新的安装点 - 而不是现有的安装点。

因此,仅在已安装的点上放置覆盖层并未提及。

还要考虑此时您正在做什么:
/dev/sda1 看起来非常像您的引导分区和根分区。

即使您能够使用任何工具重新安装它 - 您如何知道为新的 linux 内核添加了正确的文件?

我的建议是:
找出哪些目录变得相当大。尝试将此目录移出到新驱动器。

根据你的例子:
$ 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 管理工作;-)

相关内容