barbitoff programmer`s blog

Здесь я публикую заметки из программерской жизни: грабли, на которые мне случилось наступить, проблемы, для которых было найдено элегантное (или не очень) решение, а также все, с чем мне пришлось столкнуться и чем хотелось бы поделиться =)
PS Если хотите меня поблагодарить - на странице есть 3 места, чтобы это сделать =)

среда, 3 августа 2016 г.

SLES: пропало место на диске

Проблема

Случилась тут занятная ситуация. На сервере под SLES 11 кончилось место, df показывает, что занято 100% на корневой ФС (всего объем раздела, смонтированного как корневой - более 60Гб). Стали искать, куда же место утекло, смотрим:
du -sh /*
Видим пару папочек по 2-3Гб, остальное - копейки. Суммарно 60Гб совсем не получается, т.е. место вроде бы занято, а чем именно - не понятно.

Решение

Оказалось, в Linux есть интересная особенность, которой нет в Win. Файл может быть удален (т.е. не иметь ни одной ссылки из файловой системы), но при этом продолжать использоваться программами, которые сохранили handle от него, и, соответственно, занимать место на диске. Посмотреть такие файлы можно командой:
lsof +L1
Она как раз покажет файлы, имеющие менее 1 ссылки (т.е. 0 ссылок) в файловой системе. 
В нашем случае это оказались увесистые файлы логов одной из служб, кто-то удалил эти логи, не останавливая службу, и она продолжила их использовать. Решение - останавливаем службу, место на диске магическим образом само расчищается, и секунд через 30 уже имеем 50 свободных гигов.

Комментариев нет:

Отправить комментарий