Информации о free space не всегда можно доверять
Если в вашей системе df -h показывает достаточное количество свободного места, и ваша система работает с большим количеством пользовательских данных — не будте так спокойны!
Речь идёт об UFS под Solaris. Как известно, для раздела 3Гб — 1Тб размер inode состовляет 8192 байта.
При большом количестве маленьких файлов < 8 кБ можно совершенно неожиданно получить ошибку вида «no space left on device» при успокаивающе-достаточном количестве гигабайтов.
В моём случае это было 14 Гб на 100 Гб разделе (ufs, solaris).
Ларчик просто открывался — общее количество файлов на разделе было порядка 12,5 млн; умножить на размер блока, выделяемого под каждый файл (8кБ) получаем 12,5mln * 8 kb = 100 mln kb т.е. как раз те 100 Gb.
Разумеется вопрос актуален, при массивах фалов, размерами до 8 кБ.
Для такого случая не столь актуально df -h :
/dev/md/dsk/d50 98G 76G 22G 78% /export/home
как df -g (Prints the entire statvfs(2) structure.)
/export/home (/dev/md/dsk/d50 ): 8192 block size 1024 frag size
206553082 total blocks 47751396 free blocks 45685866 available 12428416 total files
1323093 free files 22282290 filesys id
ufs fstype 0×00000004 flag 255 filename length
Как видно из примера, более значимым будет значение free files — допустимое количество файлов минимального размера, которое можно создать на разделе.
Опять же, при исчерпании этого лимита <8кБ файлами, на моей системе будет «доступно» ~ 12 Гб. (13,2 млн * 8кБ = 10 Гб, 22Гб (free space) — 10Гб = 12 Гб)
При использовании различных систем мониторинга и триггеров, нужно не терять бдительность! :-)
Рекомендую:
http://docs.sun.com/app/docs/doc/817-5093/fsfilesysappx-20581?a=view
http://www.intuit.ru/department/os/ossolaris/5/4.html
Popularity: 1%
Этот материал находится на сайте http://compiling.ru
Оставьте свой отзыв