Tengo un servidor Solaris 10 que ha montado un sistema de archivos remoto a través de NFS. Creo que el sistema remoto es NetApp, pero no está claro.
Cuando corro df -h <mountpoint>
obtengo el tamaño 12T, usé 10T con una capacidad del 87%.
Cuando cambio al punto de montaje y lo ejecuto, ls -A |xargs du -s
obtengo unos 8 megabytes. He llegado a esperar que du descienda recursivamente y sume todos los tamaños de archivos, pero no parece hacerlo aquí.
Como un seto, corrí
find <mountpoint> -ls | awk '{total=total+$7}END{print total}'
la respuesta es 13006791645. Cuando lo divido por 1024^3 (1073741824), obtengo aproximadamente 12,1 terabytes.
Así parece que find -ls
ya df
están más o menos de acuerdo. ¿Por qué fracasarías tan gravemente?
PD: el comando ls -A
también toma los directorios de instantáneas ocultos, pero no encuentra nada (excepto "ciclo detectado").
Respuesta1
du -s
informes en bloques de 512 bytes. df -h
No se puede realizar su comparación con ya que du
no proporciona datos legibles por humanos.
Para comparar ambos valores, utilice du -sh <mountpoint>
o /usr/xpg4/bin/df -P
para dejar que df
también se informe en unidades de 512 bytes.
De acuerdo a man du
:
Los archivos con múltiples enlaces se contarán y escribirán para una sola entrada. La entrada del directorio seleccionada en el informe no está especificada. De forma predeterminada, los tamaños de archivo se escriben en unidades de 512 bytes, redondeadas a la siguiente unidad de 512 bytes.
Intente /usr/xpg4/bin/df -P
obtener 512 bytes informados por df
:
bash-3.2$ /usr/xpg4/bin/df -P /var
Filesystem 512-blocks Used Available Capacity Mounted on
rpool/ROOT/s10/var
1147797504 66061270 954397119 7% /var
Y comparar con du -s
:
bash-3.2$ du -s /var
65976060 /var
O comparar:
bash-3.2$ df -h /var
Filesystem size used avail capacity Mounted on
rpool/ROOT/s10x_u11wos_24a/var
547G 32G 455G 7% /var
con:
bash-3.2$ du -hs /var
31G /var