현상 설명
Linux CVM에서 새 파일을 생성할 때 ‘no space left on device’라는 오류가 나타납니다.
예상 원인
디스크 공간이 가득 참
파일 시스템 inode
가 가득 참
df du 불일치
파일이 삭제되었지만 해당 파일 핸들을 보유하고 있는 프로세스가 여전히 있어 하드 디스크 공간이 릴리스되지 않았습니다.
mount 마운트가 중첩됩니다. 예를 들어, 시스템 디스크의 /data
디렉터리가 많은 공간을 차지하고, 또한 /data
가 다른 데이터 디스크에 마운트하기 위한 마운트 포인트로 사용되어, 시스템 디스크에 df du 불일치가 발생합니다.
해결 방법
처리 방법을 참고하여 문제를 진단하고 해결합니다. 처리 방법
가득 찬 하드 디스크 공간 문제 해결
2. 다음 명령어를 실행하여 디스크 사용량을 확인합니다.
3. 디스크 사용량이 많은 마운트 포인트를 찾고 다음 명령을 실행하여 마운트 포인트로 이동합니다.
예를 들어, cd 시스템 디스크 마운트 포인트가 필요한 경우 cd /
를 실행합니다.
4. 다음 명령어를 실행하여 많은 공간을 차지하는 디렉터리를 찾습니다.
du -x --max-depth=1 | sort -n
가장 많은 공간을 차지하는 디렉터리를 찾고 용량에 따라 다음 단계를 수행합니다.
디렉터리 용량이 큰 경우 [2단계](#Step 2)를 실행하여 대용량 파일을 찾아 삭제 여부를 상황에 따라 결정하시기 바랍니다. 삭제할 수 없는 경우 클라우드 디스크 확장을 통해 하드 디스크 스토리지 공간을 확장하십시오. 파일 시스템 inode 가득 찬 문제 해결
2. 다음 명령어를 실행하여 디스크 사용량을 확인합니다.
3. 디스크 사용량이 많은 마운트 포인트를 찾고 다음 명령을 실행하여 마운트 포인트로 이동합니다.
예를 들어, cd 시스템 디스크 마운트 포인트가 필요한 경우 cd /
를 실행합니다.
4. 다음 명령을 실행하여 문제를 해결하기 위해 파일 수가 가장 많은 디렉터리를 찾습니다. 이 명령은 시간이 많이 소요됩니다. 잠시만 기다려 주십시오.
find / -type f | awk -F / -v OFS=/ '{$NF="";dir[$0]++}END{for(i in dir)print dir[i]" "i}' | sort -k1 -nr | head
df du의 불일치 문제 해결
프로세스 점유 파일 핸들 문제 해결
다음 명령을 실행하여 파일 점유 프로세스를 조회합니다.
반환 결과에 따라 다음 단계를 수행하십시오.
해당 프로세스를 kill 합니다.
서비스를 재시작합니다.
많은 프로세스가 파일 핸들을 점유하는 경우 서버를 재시작합니다.
mount 마운트 중첩 문제 해결
1. mount 명령어를 실행하여 /mnt
에 공간이 큰 디스크를 mount합니다. 예시:
2. 다음 명령어를 실행하여 /mnt
를 입력합니다.
3. 다음 명령어를 실행하여 많은 공간을 차지하는 디렉터리를 찾습니다.
du -x --max-depth=1 | sort -n
반환 결과를 바탕으로 비즈니스 상황에 따라 디렉터리 또는 파일 삭제 여부를 결정합니다.
4. umount 명령을 실행하여 디스크를 umount합니다. 예시: