В настоящее время я запускаю веб-сервер под управлением Debian. У меня есть 1 ГБ диск с одним разделом ext4, сопоставленным с /
и диск емкостью 8 ГБ с одним разделом ext4, сопоставленным с /var/www
.
Диск емкостью 1 ГБ заполнен на 70% без установленной БД. Как только я установил psql, мой /var
вероятно собирается заполнить диск 1GB.
Итак, что я хочу сделать, так это изменить размер ext4 на диске 8 ГБ до 4 ГБ и создать другой раздел, используя свободное пространство.
На мой взгляд, я пришел к следующему набору шагов:
umount
и использовать resize2fs
(или parted
), чтобы изменить размер раздела на диске 8 ГБ.parted
для создания нового раздела размером 4 ГБ на свободном пространстве.mount
новая перегородка, чтобы сказать /media/new
cp -a
скопировать мой /var
из раздела 1 ГБ в новый раздел 4 ГБ. (или я должен использовать tar
для этого?)fstab
/var
с моего диска 1 ГБ и /var/www
для нового раздела.Я никогда раньше не делал ничего подобного, может кто-нибудь, пожалуйста, подтвердите мои действия и посмотрите, не упустил ли я что-нибудь?
PS. Я сделал du --max-depth=1
, и похоже, что помимо 200 МБ, занятых /var
, также выделено 300 МБ для /usr
и 200 МБ в /lib
. Мне тоже нужно переместить их?
На самом деле вам не нужно переделывать диск для этого. Альтернативное решение - использовать mount -o bind
.
lsof | grep /var
- если есть, убить процессы, которые их удерживают.mv /mnt/www /mnt/var/
, хотя, я могу установить вложенные крепления)mount -o bind /mnt/var /var
Добавить в fstab:
/mnt/var /var bind defaults,noatime,bind 0 0
Убедитесь, что все работает, и возобновите нормальную работу
Этот подход должен предлагать ту же функциональность, с немного меньшим риском (без переразметки / изменения размера файловых систем) и большей гибкостью - если вы хотите добавить еще две или три папки, вам не нужно постоянно создавать новые разделы.
Кроме того, перемещение всего / var на второй диск не было бы моим первым выбором, я бы предпочел переместить каталоги, в которых хранятся данные, вместо тех, которые хранят программы, например следующие: (вы, вероятно, обнаружите, что / var / log и / var / lib в любом случае используют большую часть места в / var).
Та же процедура может быть применена к большинству каталогов (кроме чего-то вроде / boot). Кроме того, вы можете рассмотреть возможность использования rsync вместо cp, если некоторые файлы заблокированы и т. Д., И вам нужно запустить его второй раз, это может быть более снисходительным.