tencent cloud

피드백

파일 생성 no space left on device 오류

마지막 업데이트 시간:2024-02-02 11:09:48

    현상 설명

    Linux CVM에서 새 파일을 생성할 때 ‘no space left on device’라는 오류가 나타납니다.

    예상 원인

    디스크 공간이 가득 참
    파일 시스템 inode가 가득 참
    df du 불일치
    파일이 삭제되었지만 해당 파일 핸들을 보유하고 있는 프로세스가 여전히 있어 하드 디스크 공간이 릴리스되지 않았습니다.
    mount 마운트가 중첩됩니다. 예를 들어, 시스템 디스크의 /data 디렉터리가 많은 공간을 차지하고, 또한 /data가 다른 데이터 디스크에 마운트하기 위한 마운트 포인트로 사용되어, 시스템 디스크에 df du 불일치가 발생합니다.

    해결 방법

    처리 방법을 참고하여 문제를 진단하고 해결합니다.

    처리 방법

    가득 찬 하드 디스크 공간 문제 해결

    1. CVM에 로그인합니다. 자세한 내용은 표준 로그인 방식으로 Linux 인스턴스에 로그인을 참고하십시오.
    2. 다음 명령어를 실행하여 디스크 사용량을 확인합니다.
    df -h
    3. 디스크 사용량이 많은 마운트 포인트를 찾고 다음 명령을 실행하여 마운트 포인트로 이동합니다.
    cd는 마운트 포인트에 해당
    예를 들어, cd 시스템 디스크 마운트 포인트가 필요한 경우 cd /를 실행합니다.
    4. 다음 명령어를 실행하여 많은 공간을 차지하는 디렉터리를 찾습니다.
    du -x --max-depth=1 | sort -n
    가장 많은 공간을 차지하는 디렉터리를 찾고 용량에 따라 다음 단계를 수행합니다.
    디렉터리 용량이 전체 디스크 공간보다 훨씬 작은 경우 df du 불일치 해결 단계를 참고하십시오.
    디렉터리 용량이 큰 경우 [2단계](#Step 2)를 실행하여 대용량 파일을 찾아 삭제 여부를 상황에 따라 결정하시기 바랍니다. 삭제할 수 없는 경우 클라우드 디스크 확장을 통해 하드 디스크 스토리지 공간을 확장하십시오.

    파일 시스템 inode 가득 찬 문제 해결

    1. CVM에 로그인합니다. 자세한 내용은 표준 로그인 방식으로 Linux 인스턴스에 로그인을 참고하십시오.
    2. 다음 명령어를 실행하여 디스크 사용량을 확인합니다.
    df -h
    3. 디스크 사용량이 많은 마운트 포인트를 찾고 다음 명령을 실행하여 마운트 포인트로 이동합니다.
    cd는 마운트 포인트에 해당
    예를 들어, 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의 불일치 문제 해결

    프로세스 점유 파일 핸들 문제 해결

    다음 명령을 실행하여 파일 점유 프로세스를 조회합니다.
    lsofgrep delete
    반환 결과에 따라 다음 단계를 수행하십시오.
    해당 프로세스를 kill 합니다.
    서비스를 재시작합니다.
    많은 프로세스가 파일 핸들을 점유하는 경우 서버를 재시작합니다.

    mount 마운트 중첩 문제 해결

    1. mount 명령어를 실행하여 /mnt에 공간이 큰 디스크를 mount합니다. 예시:
    mount /dev/vda1 /mnt
    2. 다음 명령어를 실행하여 /mnt를 입력합니다.
    cd /mnt
    3. 다음 명령어를 실행하여 많은 공간을 차지하는 디렉터리를 찾습니다.
    du -x --max-depth=1 | sort -n
    반환 결과를 바탕으로 비즈니스 상황에 따라 디렉터리 또는 파일 삭제 여부를 결정합니다.
    4. umount 명령을 실행하여 디스크를 umount합니다. 예시:
    umount /mnt
    문의하기

    고객의 업무에 전용 서비스를 제공해드립니다.

    기술 지원

    더 많은 도움이 필요하시면, 티켓을 통해 연락 바랍니다. 티켓 서비스는 연중무휴 24시간 제공됩니다.

    연중무휴 24시간 전화 지원