/ VAR файловая система быстро заполняется

/ VAR файловая система быстро заполняется. Даже использование инодов достигает 100%. Мы должны регулярно очищать журналы. Мы не можем ssh также из-за этого. В конце концов, мы сделали жесткую перезагрузку. Мы не можем определить точную причину для того же. Пожалуйста, помогите нам в пин-код, указывающий точную причину и решение проблемы.

2 ответа

/var это место, где большая часть данных хранится приложениями. Это включает в себя файлы журналов, библиотеки или даже двоичные данные для приложений, таких как MySQL или MongoDB.

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

Чтобы найти топ-10 каталогов (внутри /var) по использованию диска:

sudo du -h /var | sort -hr | head -n10

Чтобы найти 10 лучших файлов (внутри /var/log) по использованию диска

sudo find /var/log -maxdepth 2 ! -path . -printf "%s %p\n" | sort -rn -k1  | head

Какой размер диска доступен для машины?

Как часто это становится полным?

Каков вывод двух вышеуказанных команд?

Прежде всего, труба на head -n10 только распечатает первые 10 записей каталога в /var, Если у вас более 10 каталогов, о них не сообщается. Во-вторых, du -h это не совсем лучший инструмент для использования здесь, так как он сообщает о дублированном размещении, потому что о дочерних каталогах сообщают.

Попробуйте вместо этого, чтобы получить лучшее представление о распределении всех каталогов первого уровня под /var:

# find /var -maxdepth 1 -type d -exec du -smh '{}' \;

21G     /var
18G     /var/lib
4.0K    /var/local
384K    /var/www
86M     /var/cache
3.3G    /var/log
12K     /var/mail
16K     /var/lost+found
7.8M    /var/backups
840K    /var/spool
4.0K    /var/tmp
4.0K    /var/opt

Если вам необходимо перейти к одному из этих верхних уровней, чтобы сообщить о распределении по родительскому элементу, просто добавьте подкаталог в исходную команду. Я легко вижу elasticsearch виновник 18G распределения в /var в моей системе:

# find /var/lib -maxdepth 1 -type d -exec du -smh '{}' \;
18G     /var/lib
...
8.0K    /var/lib/vim
18G     /var/lib/elasticsearch

@fpmurphy предлагает yum каталог может быть связан с вашей проблемой. Чтобы экстраполировать это всякий раз, когда вы работаете с yum все пакеты, которые загружаются для обновления системы, сохраняются в /var/cache/yum по умолчанию. Вы можете проверить содержимое файла /etc/yum.conf и проверить на keepcache установка. То, что вы публикуете, предполагает, что keepcache имеет значение 1,

Если /var/cache/yum действительно заполняется, вы можете запуститьyum clean all исправить вещи сейчас. Существует доказательство того, что эта команда может работать не так, как было объявлено, поэтому примите во внимание. Я бы предложил выделить больше места для /var если возможно.

Другие вопросы по тегам