Как освободить место на сервере VDS/VPS

post thumbnail

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

Чем грозит занятое на 100% место на сервере?

Ответ на этот вопрос довольно прост, но не все сразу могут понять всю суть проблемы. На первый взгляд может показаться, что если мы не планируем загружать на сервер новые данные, то отсутствие на нём свободного места ничем не грозит, но это не так. Работа сервера, его служб и размещенных на нем сайтов напрямую зависит от возможности работать с файлами. А при отсутствии свободного места сервер не может вносить изменения в файлы, то есть не может полноценно работать.

Основные признаки и последствия того, что на сервере нет свободного места:

  • не работает авторизация на сайте;
  • не создаются файлы сессий;
  • на сайте не работает добавление товаров в корзину, не работают формы и нет возможности загрузить какой- либо файл;
  • недоступен сервер баз данных, возможна та же ситуация с другими службами;
  • повредились таблицы баз данных;
  • все ошибки, в которых указано «disk quota exceeded», «spaces are not allowed» или «can not create» и т.п.

Как не допустить, чтобы место на сервере закончилось

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

Если вы уже являетесь нашим клиентом и у вас есть аккаунт с услугой VPS, вы могли заметить, что мы предусмотрели возникновение ситуации с нехваткой места. Как только на сервере остаётся мало свободного пространства, владельцу услуги приходит соответствующее уведомление на контактный почтовый ящик от нашей системы мониторинга. Для тех, кому следить за уведомлениями на почту не совсем удобно, а о том, что происходит с сервером, хотелось бы знать максимально быстро — у нас есть удобное решение с Telegram-ботом.

Что занимает все место на диске?

Если на сервере закончилось или заканчивается место, и мы знаем об этом — это уже половина решения или предотвращения проблемы. Теперь нам нужно понять, что на сервере занимает место, и на основе этого удалить ненужные файлы или же прийти к выводу, что используемого тарифа не достаточно и нужно перейти на следующий с большим количеством дискового пространства. Рассмотрим основные инструменты (bash-команды), которые помогут нам найти самые большие файлы и папки. Для использования данных команд нужно подключиться к серверу по SSH, чтобы иметь доступ до всех файлов сервера нужно подключаться под пользователем root (root пароль к VPS серверу отправляется на контактный почтовый ящик при заказе услуги). Первая нужная нам команда:

<meta charset="utf-8">df -h

Освободить место на сервере | Wiki HostPro

Ориентироваться нужно на / — корневой раздел, в примере это строка:

/dev/vda1 25G 20G 3,9G 84% /

С данной строки мы видим, что на сервере всего 25G из которых занято 20G (84%) и свободно 3,9G. Вывод команды округлен до гигабайта, по этому сума занятого (25G) и свободного (3,9G) места может не совпадать с полным размером диска (25G). Все остальные разделы в примере это системные виртуальные разделы.

Проверить размер файла или директории (папки) в примере каталог /var/log/, можно командой:

du -sh /var/log/

Освободить место на сервере | Wiki HostPro

Следующий набор команд поможет понять, какие каталоги занимают больше всего места:

cd / 
du -sh * | sort -h

Что занимает место на сервере | Wiki HostPro

По аналогии можем зайти в нужный каталог и узнать размер директорий и файлов в нём:

Что занимает место на сервере | Wiki HostPro

Следующая комбинация команд удалит все архивы старых логов сервера:

find /var/log/ -name "*gz" | xargs -i rm {}

Поиск 10 самых больших файлов на сервере:

find / -mount -type f -ls 2> /dev/null | sort -rnk7 | head -10 | awk '{printf "%10d MB\t%s\n",($7/1024)/1024,$NF}'

Выполнение этого поиска может занять много времени, причем чем больше на сервере размер диска или количество файлов — тем дольше будет идти поиск.

Удалить какой-либо файл или каталог можно командой:

rm -rf /backup/backup_20_03_2019.tar.gz

Где /backup/backup_20_03_2019.tar.gz путь к файлу, что мы удаляем.

Если мы обнаружили, что какой-то log-файл занимает много места — его нужно очистить, именно очистить — удалять файлы, в которые пишутся логи нельзя. Очистить файл можно командой:

> /var/log/nginx/access.log

Где /var/log/nginx/access.log — это путь к файлу, который мы хотим очистить.

Большинство выше указанных команд будут актуальны и для услуг общего хостинга и помогут освободить место на хостинге.

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

Inodes — индексные дескрипторы

Для UNIX-систем также актуально такое понятие как индексный дескриптор, или просто Inodes. По факту это количество файлов и директорий сервера. Inodes тоже могут заканчиваться. Узнать количество Inodes можно командой:

df -i

Проверить иноды на сервере | Wiki HostPro

Вывод данной команды аналогичен df -h.

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

  1. Кеш-файлы сайтов — если сайт регулярно создаёт свой кэш и при этом не удаляет старый, вы можете достигнуть лимита по инодам. Данная ситуация объясняется тем, что кэш-файлы представляют собой очень большое количество маленьких по размеру файлов.
  2. Не настроена автоочистка файлов сессий вашего движка. Сессии также представляют собой файлы практически нулевого размера, а при достаточной посещаемости ресурса их может накопиться очень много.
  3. Почтовая очередь сервера — если по какой то причине у вас на сервере не работает отправка почты, а письма только скапливаются в очереди, скорее всего вы также столкнётесь с лимитом Inodes. В большинстве случаев причина такой ситуации — взлом сервера и рассылка с него спама.

Следующие две команды помогут узнать количество занятых индексных дескрипторов в текущем каталоге и подкаталогах:

find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -nr | head -n 10

for i in *; do echo $i; find $i |wc -l; done

Выполнение этих команд тоже может занять продолжительное время при большом объеме диска или количестве файлов.

Вывод

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

Быстрый VPS в Украине

Защита от DDoS-атак. Мониторинг VPS в Telegram. Гарантированные ресурсы KVM

Telegram Hostpro

Наш телеграм

с важными анонсами, розыгрышами и мемами

Присоединиться

Возможно, вас заинтересует

Как получить доступ по SSH?

Как получить доступ по SSH?

SSH (Secure SHell – безопасная оболочка) – это сетевой протокол, используемый для безопасного удаленного...

Diana Honcharenko | Обновлено: 04.03.2024

Как самостоятельно перейти на другой тариф VPS

Как самостоятельно перейти на другой тариф VPS

Недавно мы добавили функционал для самостоятельной смены тарифа виртуального сервера. Действует он в пределах...

Diana Honcharenko | Обновлено: 22.12.2023

Как добавить на сервер NVMe диск

Как добавить на сервер NVMe диск

Наши новые быстрые VPS тарифы уже включают в себя NVMe-диски. Выберите свой мощный VPS...

Viktoriya Mazur | Обновлено: 22.06.2021

Как создать виртуальный сервер

Как создать виртуальный сервер

«Как создать виртуальный сервер?» – частый вопрос, возникающий у многих пользователей, впервые сталкивающихся с...

Diana Honcharenko | Обновлено: 01.10.2020