Закончилось место на диске - разбор причин
Сайт отдаёт ошибки, база отказывается писать, резервная копия не создаётся. Разбираем причины нехватки места по убыванию частоты.
С чего начать
Смотрим, что именно закончилось:
df -h /home /var /tmpdf -i /home # свободные записи файлов, а не байты# место может быть, а записей файлов не остаться: симптомы те жеКончиться могут две разные вещи: байты и записи файлов. Второе случается на каталогах кэша с миллионами мелких файлов, и обычная проверка места такую причину не покажет.
Ищем, где лежит объём:
du -sh /home/bitrix/www/* 2>/dev/null | sort -h | tail -8du -sh /home/bitrix/backup /var/log /var/lib/mysql 2>/dev/null# три каталога закрывают почти все случаи: копии, журналы и базаНаходим самые крупные файлы:
find / -xdev -type f -size +500M -exec ls -lh {} \; 2>/dev/null | head -10ls -lh /var/lib/mysql/*.log /var/lib/mysql/mysql-bin.* 2>/dev/null | tail -5# один забытый дамп или журнал базы часто и есть вся причинаКрупные файлы находятся за минуту и сразу называют виновника. Обычно это забытый дамп базы, архив резервной копии или двоичный журнал, который никто не чистил после включения репликации.
Проверяем, что удалённое действительно освободилось:
lsof +L1 2>/dev/null | head -5# файл удалён, но процесс держит его открытым: место вернётся после перезапускаПричины
-
Резервные копии лежат на том же диске примерно 30% случаев
ПризнакКаталог копий занимает больше самого сайта, а место кончается по расписанию копирования.
ПроверкаСмотрим размер каталога резервных копий и число архивов в нём.
Что делатьПереносим копии на отдельное хранилище и ограничиваем число хранимых архивов.
-
Журналы веб-сервера и PHP выросли без ротации примерно 25% случаев
ПризнакОдин файл журнала занимает десятки гигабайт, дата его создания - прошлый год.
ПроверкаСмотрим размеры файлов в каталоге журналов и настройки их ротации.
Что делатьВключаем ротацию с ограничением по размеру и сроку, старые журналы удаляем.
-
Разросся кэш платформы примерно 20% случаев
ПризнакКончились записи файлов, а не байты: в каталогах кэша миллионы мелких файлов.
ПроверкаСчитаем число файлов в каталогах кэша и смотрим свободные записи на разделе.
Что делатьЧистим кэш, сокращаем время его жизни и убираем кэширование по лишним ключам.
-
Двоичный журнал базы данных не чистится примерно 15% случаев
ПризнакКаталог базы растёт равномерно, а сами таблицы при этом прежнего размера.
ПроверкаСмотрим размер файлов двоичного журнала и настройку срока их хранения.
Что делатьЗадаём срок хранения журнала и удаляем старые файлы штатной командой базы.
-
Мусор в каталоге загрузок примерно 10% случаев
ПризнакЗагрузки занимают в разы больше ожидаемого, внутри - файлы обмена и временные копии.
ПроверкаСмотрим самые тяжёлые подкаталоги загрузок и даты изменения файлов в них.
Что делатьУдаляем старые файлы обмена и временные каталоги, оставляя реальные файлы сайта.
Частые вопросы
Почему место не вернулось после удаления файла?
Процесс держит удалённый файл открытым, и место освободится после его перезапуска. Такие файлы видно отдельной командой по открытым дескрипторам.
Можно ли просто удалить каталог кэша?
Да, платформа соберёт кэш заново, но первые минуты сайт будет медленнее. Удалять лучше порциями, иначе сама команда удаления займёт диск и время.
Сколько места держать свободным?
Как минимум объём базы плюс объём одной резервной копии. Без этого запаса копия не создастся, а база может остановиться на записи.
Куда девать резервные копии?
На отдельное хранилище или в облако, а не на диск с сайтом. Копия на том же диске не спасает ни от отказа диска, ни от нехватки места.
Что делать, если место кончилось прямо сейчас?
Удалить старые журналы и архивы копий, затем перезапустить процессы, державшие файлы. Разбор причины делают уже после того, как сайт поднялся.
Смежное
- Журналы сервера: где лежат, что смотреть, ротация - ротация журналов и их размер
- BitrixVM и веб-окружение - оглавление подтемы
- Мониторинг сервера: что смотреть до того, как сайт упадёт - как заметить это заранее
- Резервное копирование: расписание, состав, хранение и проверка - где хранить копии
- Не создаётся резервная копия: причины по убыванию частоты - соседний разбор
- База растёт: журналы, статистика, старые данные и чистка - когда растёт именно база
- Сайт не поднялся после перезагрузки: разбор причин - что проверять после аварии
- Правка не видна на сайте: какой кэш сбросить - чистка кэша без последствий
- Сервер и поиск - устройство площадки целиком