Мало места на диске

Skip to end of metadata
Go to start of metadata
Вы просматриваете старую версию данной страницы. Смотрите текущую версию. Сравнить с текущим  |   просмотр истории страницы

Общая методика поиска проблемного раздела и очистки

Ошибка возникает если на одном из разделов занято более 85% пространства.

  1. Проверям какой раздел заполнен:
    df -h
    Filesystem      Size  Used Avail Use% Mounted on
    /dev/sda1       3,7G  1,9G  1,6G  55% /
    /dev/sda2        14G  6,7G  6,3G  52% /app
    /dev/sda3        13G  1,4G   11G  12% /mnt/backup
    /dev/sda4       1,9G   36M  1,7G   3% /mnt/etc
    /dev/sda5        53G 47,2G  5.8G  89% /mnt/var
    /dev/sda6       8,2G  4,3G  3,6G  55% /mnt/log
    /dev/sdb1       394G  140G  234G  38% /mnt/stat
    /dev/sdb1       394G  140G  234G  38% /app/collector/mnt/var/stat
    

    Видно, что заполнен раздел /dev/sda5 с логами.

    /dev/sda5        53G 47,2G  5.8G  89% /mnt/var
    
  2. Теперь нужно узнать какие именно данные занимают раздел. Запускаем комманду подсчёта объёма и двигаемся вглубь файловой системы.
    du -sh /mnt/log/*
    
  3. После того как найдены данные, которые занимают диск, их необходимо перенести на другой носитель. Или подключить дополнительный диск для их хранения. Для раздела с логами это можно сделать по инструкции.
В данном примере рассмотрено заполение раздела с логами (журналами работы служб).

Примеры решения проблем

Переполнен разделы с логами /mnt/log или папка /var/log

Корневой раздел переполнен журналом авторизации

Проблема встречается на Softrouter и XGE при интеграции с Carbon Reductor: фильтр выгружает списки заблокированных IP-адресов по ssh и каждая авторизация фиксируется в логе /var/log/secure, от этого он достаточно быстро разрастается.
Проверьте файлы /var/log/secure:

du -sch /var/log/secure*

Если файлы достаточно объёмны (сотни мегабайт и более), значит это Ваша ситуация.
Её можно решить добавив компрессию при ротации логов, для этого измените файл /etc/logrotate.d/syslog, добавив туда строки nodelaycompress и compress:

/var/log/cron
/var/log/maillog
/var/log/messages
/var/log/secure
/var/log/spooler
{
    sharedscripts

    #==Компрессия логов==#
    #==
     nodelaycompress
     compress
    #==

    postrotate
        /bin/kill -HUP `cat /var/run/syslogd.pid 2> /dev/null` 2> /dev/null || true
    endscript
}

Слишком много файлов на диске с логами

При работе биллинг отправляет команды на оборудование. При этом лог команд ведётся для каждого абонента в отдельности. При большом количестве абонентов это может привести к заполнению раздела /mnt/log . Так же при диагностике сервера может выводиться сообщение:

Мало свободных inode
  1. Просмотрите размер раздела /mnt/log
    df -h | grep log
    /dev/sda7              14G  5,8G  7,0G  46% /mnt/log
    
  2. Оцените сколько места занято логами учётных записий
    du -sh /app/asr_billing/var/log/abonents
    272M    /app/asr_billing/var/log/abonents
    
  3. Удалите логи старше 30 дней
    Используйте команду в точности как написано ниже!
    Настоятельно не рекомендуем вносить изменение в команду удаления логов, так как это может привести к неработоспособности системы в целом.
    find /app/asr_billing/var/log/abonents/ -atime +30 -type f -delete
    
Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.