Что такое ошибка Disk full?

Ошибка Disk full возникает, когда на диске заканчивается свободное место, и база данных не может записать новые данные.

Причины возникновения

  • Нехватка места на диске
  • Большие файлы логов
  • Неочищенные временные файлы
  • Резервные копии занимают много места
  • Неправильная настройка ротации логов

Как отладить ошибку

  1. Проверь свободное место - используй df -h
  2. Найди большие файлы - используй du -sh
  3. Проверь логи БД - убедись в размере лог-файлов
  4. Проверь временные файлы - очисти /tmp

Как исправить ошибку

1. Очисти место на диске

1# Проверь использование диска
2df -h
3
4# Найди большие файлы
5du -sh /* | sort -hr | head -10
6
7# Очисти временные файлы
8sudo rm -rf /tmp/*
9sudo rm -rf /var/tmp/*

2. Настрой ротацию логов

 1# Настрой logrotate для MySQL
 2sudo nano /etc/logrotate.d/mysql
 3
 4/var/log/mysql/*.log {
 5    daily
 6    rotate 7
 7    compress
 8    delaycompress
 9    missingok
10    notifempty
11    create 644 mysql mysql
12}

3. Очисти старые логи

1# Очисти старые логи MySQL
2sudo find /var/log/mysql -name "*.log.*" -mtime +7 -delete
3
4# Очисти старые логи PostgreSQL
5sudo find /var/log/postgresql -name "*.log.*" -mtime +7 -delete

4. Оптимизируй размер БД

1# MySQL - оптимизация таблиц
2OPTIMIZE TABLE table_name;
3
4# PostgreSQL - очистка
5VACUUM FULL table_name;
6REINDEX TABLE table_name;

Как мониторить подобные ошибки

  • Настрой мониторинг свободного места
  • Используй алерты на критический уровень диска
  • Мониторь размер лог-файлов
  • Настрой автоматическую очистку

FAQ

В: Как предотвратить заполнение диска?

О: Настрой мониторинг, ротацию логов и регулярную очистку временных файлов.

В: Что делать с большими лог-файлами?

О: Настрой logrotate и используй сжатие для экономии места.

В: Как мониторить использование диска?

О: Используй Prometheus, Grafana или встроенные инструменты мониторинга.

Лучшие практики

  • Регулярно мониторь свободное место
  • Настрой ротацию логов
  • Используй отдельные диски для логов
  • Настрой автоматическую очистку
  • Планируй увеличение дискового пространства