리눅스는 장치 문제에 남은 공간이 없습니다

SUSE Linux OS가 있습니다 :

$ uname -a
Linux 3.0.13-0.27-default #1 SMP Wed Feb 15 13:33:49 UTC 2012  x86_64 x86_64 x86_64 GNU/Linux

특정 파일에 대해서만 파일 생성에 실패하고 장치에 남은 공간이 없습니다. 우리는 다른 파일을 만들 수 있습니다. 무엇이 잘못 되었습니까? 현재 시나리오에서 :

  • 아이 노드 사용량은 47 %에 불과

    $ df -i .
    Filesystem               Inodes    IUsed    IFree IUse% Mounted on
    /dev/mapper/appvg-dsfs 39321600 18218000 21103600   47% /dsfs
    
  • 디스크 사용량은 82 %에 불과합니다

    $ df -h .
    Filesystem              Size  Used Avail Use% Mounted on
    /dev/mapper/appvg-dsfs  591G  457G  105G  82% /dsfs
    
  • 이 경우 특정 파일 하나의 파일 생성이 실패합니다 JDE_GL_INCR_STG_201504_181.log.load.058

    $ echo "a" > JDE_GL_INCR_STG_201504_181.log.load.058
    -bash: JDE_GL_INCR_STG_201504_181.log.load.058: No space left on device
    echo "a" > testfile
    
    $ mv JDE_GL_INCR_STG_201504_181.log.load.058 tempfile
    mv: cannot stat `JDE_GL_INCR_STG_201504_181.log.load.058': No such file or directory
    
  • 다른 파일의 파일 작성이 가능



답변

세마포어가 부족할 수도 있습니다. 이것을 루트로 사용해보십시오

ipcs -s

동일한 사용자가 소유 한 많은 세마포어가 있는지 확인하십시오. 그렇다면 다음 명령을 실행하십시오

ipcs -s |grep username |awk '{print $2}'

위의 명령에서 사용자 이름을 실제 사용자로 바꿉니다.


답변

해시 충돌 문제처럼 보입니다. 동일한 파티션의 다른 빈 디렉토리 에이 정확히 동일한 파일을 만들어 해시 충돌 문제인지 또는 다른 것이 있는지 테스트 해보십시오!


답변

결함이 있거나 손상된 드라이브를 마운트했을 때 이러한 특성의 문제를 보았습니다. 당신이 경우 smartctl호스트에서 장치에 대해 실행 ( smartctl -a /dev/<device>). 드라이브마다 데이터가 다르지만 다음과 같은 것을 찾으십시오 uncorrected errors, multi_zone_error_rate, current_pending_sector, raw_read_error_rate. 이것들은 모두 최상의 상태가 아님을 나타내는 지표입니다.


답변

먼저 만들려는 파일의 크기를 확인하십시오. 파일이 매우 클 수 있습니다. 위의 문제가 발생할 가능성이 낮다는 것을 알고 파일 이름을 다른 이름으로 바꾸거나 다른 파일 이름으로 만듭니다.