на моем сервере centos я установил новый том /dev/sdb
. Я хочу добавить место в корневую файловую систему /dev/vda1
.
[user@prod current]$ df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 30G 11G 18G 37% /
devtmpfs 488M 0 488M 0% /dev
tmpfs 497M 0 497M 0% /dev/shm
tmpfs 497M 50M 447M 11% /run
tmpfs 497M 0 497M 0% /sys/fs/cgroup
tmpfs 100M 0 100M 0% /run/user/1000
/dev/sdb 50G 53M 47G 1% /mnt/volume_nyc3_01
Есть ли способ уменьшить /dev/sdb
и увеличить /dev/vda1
? По возможности без потери данных на /dev/vda1
.
Если мы рассмотрим /dev/vda
и /dev/sdb
поскольку это разные (физические) диски, это нелегко сделать, так что было бы намного проще переустановить сервер с нуля и поставить /
в том LVM с самого начала.
В случае крайней необходимости это можно сделать с длительным временем простоя и обширными знаниями о том, что вам нужно делать. Однако это было бы довольно подвержено ошибкам, и я бы не рекомендовал даже пытаться.
/dev/vda
предполагает, что это какая-то виртуальная система. В зависимости от того, что позволяет базовая система, можно изменить размер образа диска, предоставив /dev/vda
(и при необходимости удалите / уменьшите изображение, предоставив /dev/sdb
). Поговорите со своим администратором / провайдером. В этом случае после того, как система выберет больший размер /dev/vda
, вы могли бы продлить /dev/vda1
а затем выращивать /
файловая система.
Я очень сомневаюсь, что это возможно буквально. Но что вы можете сделать, так это переместить файлы или папки из / dev / vda1 в / dev / sdb, а затем заставить их появиться в том же месте на / dev / vda1 после этого. Это приведет к увеличению доступного пространства на / dev / vda1.
Например, простым решением было бы переместить содержимое / var, / home, / opt или / usr в / dev / sdb, а затем смонтировать / dev / sdb как любую папку, которую вы переместили. Это довольно распространенный способ справиться с этим. Будьте осторожны с / sbin и / root, так как они могут существовать до того, как / dev / sdb будет смонтирован в вашей установке. Вы можете сделать это, изменив fstab (что можно сделать с помощью инструмента в вашей настройке).
Вы также можете разделить / dev / sdb (я полагаю). Затем вы можете смонтировать его как несколько каталогов. Это потребует добавления записей в fstab.
Третий вариант - переместить файлы из / dev / vda1 в / dev / sdb, а затем создать символьную ссылку, чтобы они отображались в одном месте в файловой структуре. Вы часто помещаете эти символические ссылки на уровне папки. Например. что-то вроде
ln -s /mnt/volume_nyc3_01/usr /usr
Вы бы сделали это как root (возможно, с sudo
). Это позволит вам размещать произвольные папки или файлы в / dev / sdb, сохраняя при этом доступ к ним в том же месте файловой системы. Я полагаю, вы уже знаете, как использовать du
чтобы определить, какие файлы и папки занимают больше всего места.
Помните, что вы можете монтировать тома в любом месте дерева. Без изменения корневой файловой системы в /.
Создайте группу томов LVM, затем логические тома из / dev / sdb, создайте на ней файловую систему и смонтируйте ее там, где вам нужно пространство. Например, это может быть база данных, смонтируйте ее в / var / lib / pgsql. (Ваше приложение будет другим.)
Конкретные точки монтирования, подобные этой, изолируют данные приложения от операционной системы. Это может упростить резервное копирование или планирование емкости. Ценой необходимости управлять более чем одной файловой системой.