지난 주말, 내 동료 중 한 명이 공유 컴퓨팅 서버 중 하나에서 이상한 일이 일어나는 것을 발견했습니다.
ls -l
크기가 132G인 파일이 포함된 것으로 보이는 디렉토리가 있습니다 .
그러나 실행하면 df -h
사용된 총 디스크 공간이 128G임을 알 수 있습니다. 또한 du -h --max-depth=1
드라이브 루트에서 실행하면 128G가 보고됩니다..
처음에는 문제가 열린 파일 핸들이나 이와 유사한 것으로 인해 이러한 바이너리가 다른 정보를 보고하게 되는 것인지 궁금했습니다. 그러나 디스크를 제거하고 다시 설치하는 데 지쳤으며 모든 바이너리는 이전과 동일한 결과를 보고합니다.
드라이브 구성에 대한 추가 정보를 제공합니다.
- 볼륨은 LUKS 암호화 외에 EXT4를 사용하여 포맷됩니다.
- 디스크는 NFS 등을 통해 공유되지 않습니다.
- 문제의 파일을 확인해봤는데 링크가 없는 것 같습니다.
- 볼륨을 마운트 해제했다가 다시 마운트했을 때 볼륨에서 실행하여 강제로 디스크 검사를 실시했는데
fsck -f
문제가 반환되지 않았습니다. - 디스크가 있는 서버는 가상화 호스트가 아니며 운영 체제로 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
서버가 가상화 호스트가 아닌 경우 다음 항목을 참조하십시오.