1992.12.23

SUBJECT: "no inodes free" error에 대해

DESCRIPTION:
* disk space는 여유 있는데도 또는 "no space left on device"라는 메시지와 함께
  inode 어쩌구 하면서 file이 생성되지 않는 경우가 종종 있다.
* 이는 'disk의 한 partition 즉 filesystem이 가질 수 있는 file 수' 즉 'inode 갯수'를
  이미 초과하였기 때문에 발생하는 경우이다.
  SunOS는 default로 2048 byte에 대해 inode 하나를 할당한다.
  즉 disk의 한 partition(filesystem)은 partition(filesystem) 전체 크기를
  2048 byte로 나눈 결과값 만큼을 inode 갯수로 가지는 것.
  따라서 한 partition이 가지고 있는 최대 inode 수를 초과하여
  file이 생성되려는 경우 이런 error가 발생하는 것이다.
* 문제의 해결은 한 partition이 가지고 있는 inode의 갯수를 늘리면 되는 것이고
  file system을 만들때 이를 조정하면 된다.
* 해결 절차
  1) 문제 발생한 partition을 dump 받는다.
  2) 해당 partition의 newfs시 "-i" option을 사용하여 inode갯수를 늘려 준다. 
        # newfs -i 1024
     "1024"는 file system의 inode density로 inode당 할당되는 byte를 의미한다.
     +-----------------------------------------+
     |   # umount /user                        |
     |   # newfs -i 1024 /dev/rsd1g            |
     |   # fsck /dev/sd1g                      |
     |   # mount /dev/sd1g /user               |
     |   # df -i                               |
     +-----------------------------------------+
  3) dump받았던 것을 restore시킨다.


Revision History
Created        on Nov. 23 ,1992