du/df y ls informan un uso de disco diferente

du/df y ls informan un uso de disco diferente

A finales de la semana pasada, uno de mis colegas notó algo extraño en uno de nuestros servidores informáticos compartidos.

Tenemos un directorio que ls -lparece contener un archivo de 132G de tamaño.

Sin embargo, la ejecución df -hmuestra que la cantidad total de espacio utilizado en el disco es 128G. Además, la ejecución du -h --max-depth=1en la raíz de la unidad también informa 128G para.

Inicialmente me pregunté si este problema podría deberse a que los identificadores de archivos abiertos o similares causaban que estos archivos binarios reportaran información diferente. Sin embargo, me cansé de desmontar y volver a montar el disco y todos los binarios informan los mismos resultados que antes.

Para dar un poco más de información sobre la configuración del disco:

  • El volumen se formatea utilizando EXT4 además del cifrado LUKS.
  • El disco no se comparte vía NFS o similar.
  • Revisé el archivo en cuestión y no parece estar vinculado.
  • Al desmontar y volver a montar el volumen, forcé una verificación del disco ejecutando fsck -fel volumen y no obtuve problemas.
  • El servidor en el que se encuentra el disco no es un host de virtualización y ejecuta Ubuntu 14.04 como sistema operativo.

Respuesta1

¿Su servidor de virtualización es el host?

Diferentes tamaños reales de archivos y espacios en disco son un comportamiento normal para los discos virtuales que se expanden dinámicamente. Estos discos tienen diferentes tamaños de archivo reales y datos de tamaño de encabezado diferentes.

Ejemplo:

posiblemente utilices discos virtuales qemu (extensión qcow2 u otra) que puedes encontrar con:

find / -regex '.*\.qcow.*$'

/var/lib/vz/images/105/vm-105-disk-1.qcow2
...

Comprobemos vm-105-disk-1.qcow2el tamaño con stat:

stat vm-105-disk-1.qcow2

  File: vm-100-disk-1.qcow2
  Size: 68745560064

79728541696 - tiene aproximadamente 64 GB

Comprobar con wc:

wc -c <vm-105-disk-1.qcow2

68745560064

El mismo resultado... Verifique con du:

du -sh vm-105-disk-1.qcow2

15G        vm-105-disk-1.qcow2

¡Solo 15GB! Comprobemos con qemu-imgla utilidad:

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

Presta atención a estas dos líneas y todo debería quedar claro:

virtual size: 64G (68719476736 bytes)
disk size: 14G

Si su servidor no es un host de virtualización, consulte estos temas:

información relacionada