Дисковое пространство Linux - разделы

$df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_app001-lv_root
                       32G   30G     0 100% /
tmpfs                 7.8G     0  7.8G   0% /dev/shm
/dev/sda1             485M   51M  409M  12% /boot
/dev/mapper/vg_app001-lv_home
                       17G  295M   16G   2% /home

У меня жесткий диск на 70 Гб, и у меня не хватает места, но, похоже, в /home осталось много места. Как я могу перераспределить это? Мне действительно нужно управлять этим вручную?

3 ответа

Решение

Вы должны уменьшить размер /home в 2 этапа: уменьшить размер файловой системы, уменьшить размер логического тома. Это не может быть сделано в сети, поэтому обязательно размонтируйте /home раньше (я предполагаю, что вы используете некоторую файловую систему ext):

Смотрите этот пример:

umount /lvm-test
e2fsck -f /dev/volg1/logv1
resize2fs /dev/volg1/logv1 512000
lvreduce -L-800M /dev/volg1/logv1
mount /dev/volg1/logv1 /lvm-test

Если вы не хотите вычислять, вы можете изменить размер файловой системы до минимального размера, а затем уменьшить l v и расширить файловую систему до максимального размера, вызвав resize2fs /dev/volg1/logv1 без размера;) Но будьте осторожны. Если l v меньше файловой системы, данные будут потеряны

По окончании вы должны увидеть Free PE в vgdisplay, Тогда вы можете продлить lv_root, Расширение может быть сделано онлайн, поэтому не нужно размонтировать:

lvextend -L +800M /dev/mapper/vg_app001-lv_root
resize2fs /dev/mapper/vg_app001-lv_root

Для быстрого исправления проверьте, что занимает много места с помощью du --max-deep =1 / (возможно, вы найдете что-то в /var:), затем переместите это в подкаталог /home и bind-mount/symlink это в корневую файловую систему.

Кстати, вы уверены, что в vg не осталось выделенных экстентов - в этом случае вы можете просто создать другую файловую систему, переместить туда что-нибудь и смонтировать.

По моему опыту, нехватка места часто свидетельствует о недостаточном внимании к общему вопросу управления объемом информации, которую вы храните. В вашем примере вы использовали 30 Гб раздела, смонтированного как /, и оставили 16 Гб в разделе, смонтированном как /home. Краткосрочным решением может быть перемещение некоторого значительного фрагмента данных в подпапку / home из его текущего местоположения; Вы можете использовать символическую ссылку для поддержания доступа к ней. Но если вы накопили (скажем) 20 ГБ данных за последние шесть месяцев, то через четыре месяца у вас снова будут проблемы.

Я посетил многие компании, где клиент жалуется на нехватку места на сервере, и я нашел папки, полные фотографий пикника компании или содержимого чьего-то iPod, обычно связанного с сотрудником, который давно ушел с работы. Это тот тип данных, который может быть сброшен или перенесен на другой носитель, такой как DVD.

С другой стороны, если сейчас у вас есть законная потребность в онлайн-хранилище более 30 ГБ, то накопитель на 70 ГБ, вероятно, не сможет удовлетворить ваши потребности очень долго.

Другой момент, который я хотел бы отметить, заключается в том, что при сборке серверов Linux моя обычная практика состоит в том, чтобы иметь только один раздел для пространства подкачки, а остальную часть диска как /. Таким образом, вы не исчерпаете пространство раздела, пока не заполните весь диск.

Другие вопросы по тегам