linux 에 대한 inode

3106 단어 linux
Inode 는 linux / unix 운영 체제 의 데이터 구조 로 각 파일 과 관련 된 중요 한 정 보 를 포함한다.파일 시스템 을 만 들 때 대량의 inode 를 동시에 만 듭 니 다.일반 inode 표 는 파일 시스템 디스크 공간의 1% 를 차지 합 니 다.
Inode 와 관련 된 또 다른 개념 은 inumber 입 니 다.이 두 개념 은 매우 관련 이 있 지만 다르다.Inode 는 데이터 구 조 를 말 하 는데 inumber 는 색인 번호 로 실제 적 으로 inode 의 표지 번호 이 고 inode 번호 에 도 들 어 갈 수 있 습 니 다.Inumber 는 파일 관련 정보 중 하나 일 뿐 입 니 다.
vi 편집 과 같은 파일 을 조작 합 니 다. 시스템 은 inode 표 에서 inode 번호 (inumber) 를 찾 아야 이 inode 를 열 수 있 습 니 다. 파일 의 inode 가 한 사용자 에 게 할당 되 었 을 때 다른 사용자 가 이 파일 을 조작 하려 면 이 inode 가 풀 려 날 때 까지 기 다 려 야 합 니 다.
Inode 는 데이터 구조 입 니 다. 이 구 조 는 어떤 것 입 니까? 어떤 주요 정 보 를 포함 하고 있 습 니까?
Inode 의 구조:
  • inode 번호 [number]
  • 파일 형식 을 식별 하고 stat C 함수 에 사용 되 는 패턴 정보
  • 파일 의 링크 수 [ln - s]
  • 소유자 의 UID
  • 주 소속 그룹 ID (GID)
  • 파일 의 크기
  • 파일 에 사용 되 는 디스크 블록의 실제 수량
  • 최근 수 정 된 시간
  • 주의 사항
    Inodes 수가 부족 한 결과: 새로운 파일 을 만 들 수 없습니다. my sql 이 시작 되 지 않 고 apache 가 시작 되 지 않 는 등 많은 시스템 오류 가 발생 하여 사이트 가 실 행 될 수 없습니다.
  • 최근 방문 시간
  • 최근 변 경 된 시간
  • 다음은 인 스 턴 스 를 통 해 inode 를 알 아 보 겠 습 니 다.inode 의 구 조 를 비교 해 볼 수 있 습 니 다 \ # stat / bin / ping File: ` / bin / ping 'Size: 33272 Blocks: 80 IO Block: 4096 regular file Device: 801 h / 2049 d Inode: 1032194 Links: 1 Access: (4755 / - rwr - xr - x) Uid: (0 / root) Gid: (0 / root) Access: 2009-08-04 11:13:08.000000000 +0800 Modify: 2006-04-14 21:16:26.000000000 +0800 Change: 2009-07-01 14:04:44.000000000 +0800
    \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # \ # # \ # # \ # 아래 inode 의 실천 작업: 우리 가 파일 을 rm 하려 고 할 때 이 파일 [- file. txt] 이 "-" 로 시작 되면 시스템 은 "-" 라 고 생각 합 니 다.다음 연결 은 명령 의 인자 이기 때문에 잘못 보 고 됩 니 다. 예 를 들 어 \ # ll - rw - r - r - 1 root 28 Aug 6 15: 07 - file. txt \ # rm - file. txtm: invalid option -- l Try ` rm - help 'for more information. 그러면 우 리 는 파일 을 조작 하 는 inumber 를 통 해 rm 파일 을 만 들 수 있 습 니 다. 예 를 들 어 \ # ll - i 7110667 - rw - r - r - 1 root 28 Aug 6 15: 07 - file. txt \ # find. - inum 7110667 - exec rm {}\; rm 이외 의 뮤 직 비디오 작업 도 할 수 있 습 니 다. 예 를 들 어 \ # find. - inum 7110667 - execmv {} file. txt \;
    [root@XYS002 data_root]# df -i
    Filesystem Inodes IUsed IFree IUse% Mounted on
    /dev/sda3 767232 8289 758943 2% /
    /dev/sda10 28639232 4006 28635226 1% /data
    /dev/sda9 512512 24 512488 1% /tmp
    /dev/sda8 1280000 113539 1166461 9% /usr
    /dev/sda7 1280000 2224 1277776 1% /var
    /dev/sda6 1280000 80 1279920 1% /home
    tmpfs 504292 1 504291 1% /dev/shm
    /dev/sda612800008012799201%/home
    블록 크기 * inodes = * k 는 디스크 크기 (블록 크기 기본 값 4096 K) 즉 블록 크기 = 4KB
    블록 크기 변경:
    umount - f / dev / 장치
    mkfs. ext3 - i4096 / dev / 장치
    1280000 * 4096 / 1024 * 1024 = 5000 M 제 가 설정 한 값 은 이거 맞아요.
    근 데 이 건 디스크 크기 야. 폴 더 가 아니 라 파일 을 얼마나 저장 할 수 있 는 지.
    i 노드 가 파일 입 니 다.
    df - i 의 inodes 값 크기 는 파 티 션 을 바 꾸 는 저장 가능 한 파일 갯 수 입 니 다.
    예 를 들 어 / dev / sda 6 1280000 80 1279920 1% / home
    / home 은 1280000 개의 파일 을 저장 할 수 있 습 니 다.
    1280000 개의 파일 * 블록 크기 = 파 티 션 크기

    좋은 웹페이지 즐겨찾기