i-node에 대해 혼란스러워요. inode를 줄이기 위해 파일을 삭제하라고 하는데 서버의 다른 cpanel에서 100개의 로그 파일을 삭제했는데 inode 수가 여전히 동일합니다.
답변1
이 명령을 사용하여 특정 파일 시스템의 inode 분석을 확인할 수 있습니다 tune2fs
.
일반적으로 스위치와 쿼리하려는 장치(일반적 으로 또는 ) 를 tune2fs
사용 하여 전화를 겁니다 . 제 예에서는 RAID 장치가 있습니다 .-l
/dev/sda1
/dev/sdb1
/dev/md0
예
$ tune2fs -l /dev/md0 | grep -i inode
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery extent 64bit flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize
Inode count: 22872064
Free inodes: 6270088
Inodes per group: 128
Inode blocks per group: 8
First inode: 11
Inode size: 256
Journal inode: 8
Journal backup: inode blocks
위 명령은 총 inode 수와 사용 가능한 수를 보여줍니다.
가지고 있는 장치가 무엇인지 확실하지 않은 경우 이 blkid
명령을 사용하여 장치 목록을 가져올 수 있습니다.
$ blkid
/dev/mapper/VolGroup00-LogVol01: TYPE="swap"
/dev/mapper/VolGroup00-LogVol02: UUID="3130f689-814a-436d-8c0a-feb271c06245" SEC_TYPE="ext2" TYPE="ext3"
/dev/mapper/VolGroup00-LogVol00: UUID="7a2a5b5b-8c20-4925-a359-c6574d9bc1fd" TYPE="ext3"
/dev/sda1: LABEL="/boot" UUID="ed298397-2e7e-4e18-80c3-4ecd00e4cab9" TYPE="ext3"
/dev/VolGroup00/LogVol00: UUID="7a2a5b5b-8c20-4925-a359-c6574d9bc1fd" TYPE="ext3"
/dev/VolGroup00/LogVol01: TYPE="swap"
/dev/sr0: LABEL="CentOS_5.6_Final" TYPE="iso9660"
답변2
일반적으로 말하면, 당신 말이 맞습니다. 파일에 대한 모든 참조를 제거하면(파일이 하드링크된 경우 아마도 >0) 파일을 삭제할 때 inode가 해제되어야 합니다.
그러나 프로세스에 파일이 열려 있는 경우(로그 파일에 쓰는 다른 프로세스와 마찬가지로) 해당 프로세스가 파일을 닫을 때까지 inode가 해제되지 않습니다. 파일이 사용하는 디스크 공간은 파일이 닫힐 때까지 해제되지 않는 것과 같습니다.
파일에 대해 lsof 명령을 사용하여 파일을 삭제하기 전에 프로세스에서 파일이 열려 있는지 확인할 수 있습니다. 이제 파일을 삭제했으므로 lsof를 사용하여 시스템에 열려 있는 모든 파일을 보고 삭제된 파일을 검색할 수 있습니다.