du,df,ls 명령어 사용시 파일시스템 크기가 다른 경우

환경

문제

해결

이런 일이 발생되는 이유는 여러가지가 있습니다.

[root@localhost ~]# ls -lsh sample2.log 
7.5M -rw-r--r--. 1 root root 11G Mar 27 01:34 sample2.log
^-----------------------------^

첫번째 열의 값은, 실제 디스크 공간입니다. 이 파일은 실제로 7.5M 의 공간을 사용합니다.
두번째 열의 값은, 메타 데이터 크기를 제공합니다. 이 파일의 메타데이터는 11G 로 표시됩니다.

# lsof | grep -i deleted

실행 중인 프로세스가 오픈한 파일에 대해서 삭제 처리를 한 후에 해당 프로세스를 종료하지 않으면, 그 파일은 deleted 상태로 남게 됩니다. 즉 파일 시스템에 deleted 상태정보로 유지되고 있습니다.
그렇기 때문에 'df' 명령으로 확인하게 되면 deleted 파일이 차지하는 용량까지 더해져서 나타나게 됩니다.
'du' 명령은 deleted 파일이 차지하는 용량은 제외 하고 나타나게 됩니다.

파일시스템을 언마운트 한다음에 파일 시스템 검사를 실행 합니다.