Файловая система заполнена - но это не так

Файловая система заполнена - но это не так

У меня есть компьютер с ОС Solaris 8, который сообщает, что файловая система заполнена:

db% tail -2 /var/adm/messages
Nov 22 08:32:27 db ufs: [ID 845546 kern.notice] NOTICE: alloc: /u03: file system full
Nov 22 08:34:51 db last message repeated 12 times

Но df говорит, что не закончились ни свободные блоки, ни свободные иноды:

db% df -k /u03
Filesystem            kbytes    used   avail capacity  Mounted on
/dev/md/dsk/d6       282330903 254957403 24550191    92%    /u03
db% df -o i /u03
Filesystem             iused   ifree  %iused  Mounted on
/dev/md/dsk/d6      29663278 4230866    88%   /u03

Поэтому я подумал, что, возможно, какой-то процесс удерживает открытый файловый дескриптор(ы) для 20+ ГБ удаленных файлов. Но lsof, сортируя по размеру, не сообщает ничего больше 2 ГБ, и это легитимный файл:

db% lsof /u03 | sort -n +6
COMMAND     PID     USER   FD   TYPE DEVICE   SIZE/OFF     NODE NAME
[...]
oracle     1257   oracle  278u  VREG   85,6 2097160192  9685782 /u03/oradata/(redacted)/data/foo_tab_14.dbf
db%

Я был бы признателен за любые ссылки на любой другой ресурс, кроме свободных блоков и инодов, истощение которых может заполнить файловую систему, или какой-либо другой способ "скрыть" используемые блоки/иноды, или любую другую идею, которая у кого-либо есть. Перезагрузка этого ящика или выключение oracle не являются допустимым вариантом расследования.

Редактировать: Халед, я не мог в то время. Я не могу опубликовать вывод, потому что один из DBA освободил около 4 ГБ, что означает, что машина может продолжать работать, и если я снова "заполню" его в качестве теста, все сломается. Но это второй раз за 24 часа, когда он заполняется примерно на 92% и "заполняется" (то есть новые файлы не могут быть созданы, и /var/adm/messagesсообщается "файловая система заполнена"), и да, когда это происходит, это определенно нарушает создание или расширение файлов на этой FS.

решение1

Проверьте nbfreeзначение с помощью

fstyp -v | head -18

Если это говорит о какой-то низкой ценности,этот пост в блоге я нашелможет вам помочь. Цитирую начало поста:

На работе у нас Solaris 8 с UFS, который сообщил приложению, что оно не может создавать новые файлы. Команда df показала много свободных inodes, и в FS также было достаточно свободного места. Причина, по которой приложение получило ошибку, заключалась в том, что хотя было еще много свободных фрагментов, свободных блоков больше не было. Вы не можете создать новый файл только с фрагментами, вам нужно иметь по крайней мере один свободный блок для каждого нового файла.

Чтобы узнать количество свободных блоков UFS, можно вызвать «fstyp -v | head -18» и посмотреть значение после «nbfree».

Связанный контент