На некоторых наших серверах /var/log
, который является отдельным разделом ext4, показывает, что используется 100% из 4,8 ГБ пространства. Но на самом деле он занимает около 200 МБ дискового пространства. Приложение все еще может записывать журналы в каталог. Что могло быть причиной этой ошибки?
Дополнительная информация:
Версия Debian: 9.9
Inodes используют 1%
Обычно это происходит при удалении открытого файла. Допустим, у вас есть большой файл и процесс, записывающий в него, и вы его удаляете - пространство остается занятым, пока файл не будет закрыт, потому что процесс не может быть уведомлен об удалении файла.
Сначала вам нужно найти процесс, который вызвал проблему - попробуйте lsof | grep deleted
, современный Linux вам это скажет. Если нет - используйте lsof
найти открытые файлы, которых нет в каталоге.
Во-вторых, вам нужно очистить процесс, обычно помогает kill -HUP, файлы следует открывать заново. Если нет - перезапустите соответствующую службу.
В следующий раз, когда вам понадобится освободить место - используйте truncate --size 0 aaa.log
или просто > aaa.log
. Это обрежет файл, но оставит его без изменений.