На устройстве не осталось свободного места, и /dev/mapper/vg00-lv01 заполнен. Как его очистить?

Вопрос или проблема

У меня есть эта ошибка

session_write_close(): Write failed: No space left on device (28)

и вот вывод df -h

root@localhost:/dev/mapper# df -h
Filesystem             Size  Used Avail Use% Mounted on
tmpfs                  791M  1.1M  790M   1% /run
/dev/mapper/vg00-lv01  155G  149G     0 100% /
tmpfs                  3.9G  4.0K  3.9G   1% /dev/shm
tmpfs                  5.0M     0  5.0M   0% /run/lock
/dev/vda1              488M  361M   91M  80% /boot
tmpfs                  791M  8.0K  791M   1% /run/user/1001

и вот размеры папок var:

root@localhost:/var# du -sh * | sort -h
0   lock
0   run
4.0K    crash
4.0K    local
4.0K    mail
4.0K    opt
20K spool
52K tmp
64K snap
2.4M    backups
240M    cache
246M    log
1.6G    www
1.8G    lib

Как это исправить?

Так что du -sh * не показывает полную картину того, что занимает 149G.

Я бы сделал что-то вроде:
du -a 2>/dev/null | sort -n -r | head -n 20
или
du -sh * 2>/dev/null | grep G

Чтобы понять, что легче всего очистить.

Также можно произвести небольшую очистку в папке с логами, например, очистить старые и настроить ротацию логов. Это будет немного бесполезно для вашего текущего положения.

Я вижу www, так что предположительно веб-сервер. Вероятно, стоит попробовать понять, что было добавлено на сервер (патчи, деплой) и попробовать очистить.

Проверьте с помощью lsof, нет ли чего-либо, что потенциально может много записывать, и оцените, можно ли завершить процессы, открывающие эти файлы, и очистить файлы.

Если всё в порядке, то следующей логичной шагом, вероятно, будет предположение, что вам нужны все вещи, занимающие место, и расширение группы томов.

Если это не вариант и вы в отчаянии, есть способы, такие как возврат резервного пространства (это может привести к быстрым последствиям, полагаю).

Статьи для дальнейшего чтения:
/dev/mapper/ full
https://help.univention.com/t/how-to-how-to-extend-a-lvm-volume-group/17146

Ответ или решение

Если вы столкнулись с ошибкой "Нет места на устройстве" и система указывает на то, что раздел /dev/mapper/vg00-lv01 заполнен на 100%, вам необходимо принять меры, чтобы освободить пространство и обеспечить стабильную работу системы. Проявите внимание к деталям, придерживайтесь четкого плана действий и учитывайте специфическую архитектуру вашего сервера. Рассмотрим основные шаги, которые стоит предпринять для решения этой проблемы:

1. Первоначальная оценка ситуации:

Ваша любая интервенция начинается с глубокого анализа текущей ситуации. На основании перечисленных вами данных видно, что основная файловая система /dev/mapper/vg00-lv01 имеет размер в 155 ГБ и заполнена полностью. Это может привести к неработоспособности приложений и сервисов, включая важные системные процессы.

2. Поиск ограничивающих файлов и директорий:

Используйте команду du для выявления крупных файлов и директорий. Попробуйте запустить:

du -a / | sort -n -r | head -n 20

Эта команда выведет 20 самых больших объектов в вашей файловой системе, что поможет быстро оценить, какие из них занимают наибольший объем и, возможно, являются причиной нехватки места.

Для более точной оценки в конкретных директориях, например в /var, используйте:

du -sh /var/* | grep G

3. Очистка ненужных данных:

  • Кэш и временные файлы: Папка /var/cache содержит временные данные, которые можно безопасно удалить для освобождения места. Используйте команду apt-get clean или yum clean all в зависимости от используемого дистрибутива Linux для очистки временных файлов пакетов.

  • Логи: Папка /var/log может содержать устаревшие или избыточные лог-файлы. Используйте logrotate для автоматической ротации и удаления старых логов. Убедитесь в том, что вы сконфигурировали logrotate надлежащим образом.

4. Проверка активных процессов:

Команда lsof полезна для выявления файлов, которые активно используются процессами. Это может помочь в выявлении потенциальных утечек:

lsof +L1

5. Резервные копии и архивы:

Если папка /var/www содержит резервные копии или старые версии проекта, подумайте об их переносе на внешний носитель или удалении, предварительно убедившись, что они не требуются.

6. Управление файловой системой и изменение её размера:

Если все вышеперечисленные действия не помогли, необходимо рассмотреть возможность расширения тома Logical Volume:

  • Проверьте доступность свободного пространства в группе томов Volume Group с помощью vgdisplay.
  • При наличии свободного места используйте команды lvextend и resize2fs (или xfs_growfs, в зависимости от файловой системы) для увеличения размера LVM.

7. Альтернативные меры:

Если расширение возможно, но нежелательно, вы можете временно сократить резервное пространство суперпользователя, однако стоит быть осторожным с этой процедурой:

tune2fs -m 1 /dev/mapper/vg00-lv01

Эта команда уменьшает резервное пространство до 1%, но может негативно повлиять на стабильность, если диск вновь переполнится.

Заключение:

Проанализировав и применив данные меры, вы без сомнения сможете восстановить нормальное функционирование системы. Постоянный мониторинг использования дискового пространства и проактивный подход к управлению файлами помогут предотвратить повторение подобной ситуации в будущем.

Оцените материал
Добавить комментарий

Капча загружается...