Назад | Перейти на главную страницу

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

У меня есть коробка 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 говорит, что нет свободных блоков, и свободных inodes тоже нет:

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%

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

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

Проверить nbfree значение с

fstyp -v | head -18

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

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

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