У меня есть новый диск на сервере (sdb
), и я хочу смонтировать его в существующую корневую точку монтирования (sda1
, смонтированную на /
), чтобы объединить его. Существует утилита 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
к /
с помощью mhddfs
? Могу ли я просто сделать это, как в примере:
$ mhddfs /,/mnt/sda1 / -o allow_other
Конечно, я не хочу потерять существующие данные на sda
и я не уверен, что mhddfs
сделает в этом случае.
В качестве предупреждения: у меня нет опыта работы с mhddfs, но есть несколько общих правил:
Все примеры, упомянутые в файле readme mhddfs, основаны на монтировании новой точки монтирования, а не существующий.
Таким образом, просто наложение наложения поверх уже смонтированной точки не упоминается.
Также подумайте, что вы делаете в этот момент:
/dev/sda1 очень похож на ваш загрузочный и корневой раздел.
Даже если вы можете перемонтировать его с помощью любого инструмента, откуда вы знаете, что добавляются нужные файлы для новых ядер Linux?
Мой совет:
Выясните, какие каталоги становятся довольно большими. Попробуйте переместить этот каталог на новый диск.
На основе вашего примера:
$ df -h
Используемый размер файловой системы Доступно Использование % Установлено на
/dev/sda1 76G 58G 15G 80%/
/dev/sdb1 197G 188M 187G 1% /mnt/sdb1
[...]
Попробуйте:
sudo du -hs /*
У вас может получиться 50 ГБ данных в /home
Если это так, вы можете скопировать все из /home в /mnt/ sdb1/
если вы это сделали:
размонтировать /dev/sdb1
переименовать /home в /home_old
mkdir /дом
и смонтируйте /dev/sdb1 в /home
эта новая точка монтирования будет настроена в /etc/fstab:
Как вы можете видеть: вам не нужны дополнительные волшебные инструменты - это стандартная работа администратора unix ;-)