Nagios, Puppet 및 LVM 도구(pvs, vgs 등)와 같은 많은 애플리케이션의 경우 Var가 완전한 것으로 나타납니다.
df -h 출력
6.0G 4.3G 1.4G 77% /var
VG 출력
/var/lock/lvm/V_rootvg:aux: open failed: No space left on device
Can't get lock for rootvg
Skipping volume group rootvg
lsof +L1
/var
더 이상 var 아래에 아무 것도 표시되지 않으므로 파일 시스템에서 지워지지 않은 연결 해제된 파일이 없다고 가정합니다 . 6G 파일 시스템의 1.4G 여유 공간이 가득 찬 것으로 간주되는 이유를 이해할 수 없습니다. 시스템이 각 파일 시스템에 일부 공간을 예약한다는 것을 알고 있지만 그럴 수는 없습니다. 공간이 너무 많습니다. 파일 시스템은 ext3
Red Hat 5에 있습니다.
dumpe2fs 1.41.12 (17-May-2010)
Filesystem volume name: <none>
Last mounted on: <not available>
Filesystem UUID: c8f44510-e8f7-4e2e-950a-1410b069910e
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 393216
Block count: 1572864
Reserved block count: 78627
Free blocks: 1183083
Free inodes: 388144
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 63
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 8192
Inode blocks per group: 512
Filesystem created: Mon Apr 29 13:12:02 2013
Last mount time: Wed Oct 23 19:10:44 2013
Last write time: Wed Oct 23 19:10:44 2013
Mount count: 6
Maximum mount count: -1
Last checked: Mon Apr 29 13:12:02 2013
Check interval: 0 (<none>)
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 256
Required extra isize: 28
Desired extra isize: 28
Journal inode: 8
Default directory hash: half_md4
Directory Hash Seed: 8766dfd5-c802-4bc3-81cc-21869e810656
Journal backup: inode blocks
Journal features: journal_incompat_revoke
Journal size: 32M
Journal length: 8192
Journal sequence: 0x0112568e
Journal start: 3334
답변1
다른 사람들의 댓글을 보면 inode 부족을 진단하는 데 도움이 될 수 있습니다. 시스템에 대한 기본적인 액세스를 위해 일부 파일을 사용할 수 있도록 해야 하는 경우 CentOS 5 설치에서 다음 파일을 제거할 수 있습니다(해당 파일 없이도 사용할 수 있음).
예
$ sudo rm -fr /var/log/*.[1-9]?(.gz)
/var/log
이렇게 하면 부팅할 수 있는 수십 개의 inode가 삭제됩니다 .
인덱스 노드 계산
df 사용저는 보통 이 명령을 사용하여 df
사용 가능한 수량을 결정합니다.
$ df -i /
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/mapper/VolGroup00-LogVol00
59932672 807492 59125180 2% /
tune2fs 사용
을 사용할 수도 있습니다 tune2fs
. 이를 사용하려면 LVM LV 매퍼에 대한 경로를 제공해야 합니다.
$ tune2fs -l /dev/mapper/VolGroup00-LogVol00 | grep -i inode
Filesystem features: has_journal ext_attr resize_inode dir_index filetype needs_recovery sparse_super large_file
Inode count: 59932672
Free inodes: 59126861
Inodes per group: 32768
Inode blocks per group: 1024
First inode: 11
Inode size: 128
Journal inode: 8
First orphan inode: 21561629
Journal backup: inode blocks
일부 inode가 해제되었습니다. 이제 어떻게 될까요?
약간의 호흡 공간이 있으면 기본적으로 몇 가지 옵션이 있습니다.
먼저 더 많은 공간을 확보할 수 있도록 삭제 대상이 될 수 있는 파일 목록을 신속하게 가져오려고 합니다. 삭제될 수 있는
/tmp
더 많은 파일 에 초점을 맞추겠습니다 ./var
이전 버전의 Java 또는 기타 항목이 설치되어 있는 경우
/usr/local
다음/opt
에 선택할 항목은 다음과 같습니다.제거할 수 있는 설치된 RPM 목록을 작성하겠습니다.
YUM을 사용하여 이 서버를 업데이트한 경우 해당 캐시를 지울 수 있습니다.
$ sudo yum clean all
추가 공간을 추가하는 것을 고려해보세요.
답변2
inode 고갈의 한 가지 가능한 이유는 어떤 이유로든 특정 디렉토리에 많은 수의 파일이 축적되었기 때문입니다. /tmp
등 의 대표적인 의심증상을 확인할 수 있습니다. 아무것도 찾지 못하면 가장 첫 번째 수준의 파일/디렉터리가 포함된 파일 시스템의 상위 50개 디렉터리를 나열하기 위해 제가 함께 엮은 명령이 있습니다./var/tmp
/var/log
find / -xdev -type d -exec sh -c '
num=$(find "$0" -maxdepth 1 | wc -l); echo "$num $0"' {} \; |
sort -n |
tail -50
최상위 마운트 지점도 포함되어 있습니다. 이를 제외하는 것은 쉽지 않습니다.