지난주 말에 동료 중 한 명이 공유 컴퓨팅 서버 중 하나에서 이상한 점을 발견했습니다.
ls -l
크기가 132G인 파일을 포함하는 것으로 표시되는 디렉토리가 있습니다 .
그러나 실행해보면 df -h
디스크에서 사용된 전체 공간이 128G로 표시됩니다. 또한 du -h --max-depth=1
드라이브 루트에서 실행하면 128G가 보고됩니다..
처음에는 이 문제가 열린 파일 핸들 또는 이와 유사한 결과로 인해 이러한 바이너리가 다른 정보를 보고하는 것인지 궁금했습니다. 그러나 디스크를 마운트 해제하고 다시 마운트하는 데 지쳤으며 모든 바이너리는 이전과 동일한 결과를 보고합니다.
드라이브 구성에 대한 추가 정보를 제공하려면 다음을 수행하십시오.
- 볼륨은 LUKS 암호화 외에 EXT4를 사용하여 포맷됩니다.
- 디스크는 NFS 등을 통해 공유되지 않습니다.
- 문제의 파일을 확인했는데 링크가 없는 것 같습니다.
- 볼륨을 마운트 해제했다가 다시 마운트할 때
fsck -f
볼륨에서 실행하여 디스크 검사를 강제했는데 문제가 반환되지 않았습니다. - 디스크가 있는 서버는 가상화 호스트가 아니며 OS로 Ubuntu 14.04를 실행하고 있습니다.
답변1
귀하의 서버 가상화 호스트입니까?
실제 파일과 디스크 공간 크기가 다른 것은 가상 디스크를 동적으로 확장하는 경우 일반적인 현상입니다. 이 디스크에는 실제 파일 크기와 헤더 파일 크기 데이터가 다릅니다.
예:
아마도 다음을 통해 찾을 수 있는 qemu 가상 디스크(qcow2 확장자 또는 기타)를 사용할 수 있습니다.
find / -regex '.*\.qcow.*$'
/var/lib/vz/images/105/vm-105-disk-1.qcow2
...
vm-105-disk-1.qcow2
다음을 사용하여 크기를 확인할 수 있습니다 stat
.
stat vm-105-disk-1.qcow2
File: vm-100-disk-1.qcow2
Size: 68745560064
79728541696 - 약 64GB
다음으로 확인하세요 wc
:
wc -c <vm-105-disk-1.qcow2
68745560064
동일한 결과가 나타납니다. 다음을 확인하세요 du
.
du -sh vm-105-disk-1.qcow2
15G vm-105-disk-1.qcow2
단 15GB! util 로 확인해 봅시다 qemu-img
:
qemu-img info vm-105-disk-1.qcow2
image: vm-105-disk-1.qcow2
file format: qcow2
virtual size: 64G (68719476736 bytes)
disk size: 14G
cluster_size: 65536
Format specific information:
compat: 1.1
lazy refcounts: false
refcount bits: 16
corrupt: false
이 두 줄에 주의를 기울이면 모든 것이 명확해집니다.
virtual size: 64G (68719476736 bytes)
disk size: 14G
서버가 가상화 호스트가 아닌 경우 다음 항목을 참조하십시오.