¿Cuál es la sobrecarga de espacio de diferentes sistemas de archivos?

8

Realicé una copia de seguridad / restauré un sistema de archivos de un sistema Ubuntu a uno Fedora 17. Noté que, según la dfproducción, el espacio utilizado aumentó en un 30%. ¿Cuáles podrían ser las razones de esto?

En las dfpantallas del sistema Fedora : 78 GB utilizados

En las dfpantallas del sistema Ubuntu : 60 GB utilizados

Diferencias entre los sistemas:

Ubuntu: ext3 (creado hace años)

Fedora 17: ext4 (creado con una mkfs.ext4llamada vainilla )

Restaurar a un sistema de archivos XFS (en Fedora 17) produce 78 GB de espacio utilizado.

Copia de seguridad y restauración se realizó con GNU tar. El sistema de archivos contiene una amplia gama de diferentes tipos de archivos (es decir, desde árboles fuente, maildirs hasta ISO, etc.).

maxschlepzig
fuente

Respuestas:

8

Lo primero que viene a la mente son los "archivos dispersos". Tradicionalmente, uno podría crear un archivo con datos en un desplazamiento en el archivo, y luego buscar un desplazamiento mucho mayor. Al escribir datos en el desplazamiento mucho mayor, el sistema de archivos no asignaría bloques de disco para los desplazamientos intermedios. Los programas que leen esos desplazamientos sin bloques de disco asignados leen valores cero.

Al agrupar archivos dispersos, las compensaciones de un archivo disperso que no tiene bloques de disco asignados asignan bloques de disco, tanto en el archivo tar (o flujo de salida) como en el archivo recreado.

Recuerdo que algunos DBMS crearon archivos dispersos, al igual que programas como MSC / NASTRAN (sistema de modelado de elementos finitos). Hacer una copia de seguridad de esos archivos dispersos termina usando grandes cantidades de almacenamiento fuera de línea, para sorpresa de todos los involucrados.

Bruce Ediger
fuente
Los programas de torrent tienen una opción que creo que hará lo mismo, para descargas incompletas. (Al menos, la descripción en Azureus suena como lo que estás describiendo)
Izkata
¿ du --apparent-size ...Sería una forma de probar si los archivos dispersos hacen la diferencia?
maxschlepzig
1
Otro uso común para los archivos dispersos son las imágenes de disco del software de virtualización.
Jochen Lutz
4

Otra cosa a tener en cuenta cuando ve discrepancias de espacio es el espacio reservado para root (generalmente 5% en ext {2,3,4}). Este espacio permite que el sistema operativo funcione (escribir archivos de registro, etc.) incluso si un usuario llena el disco (siempre que ese usuario no sea root).

Puede ver esta configuración usando tune2fs -l:

[root@host ]# tune2fs -l /dev/md0 |grep Reserved
Reserved block count:     1279986
Reserved GDT blocks:      1017
Reserved blocks uid:      0 (user root)
Reserved blocks gid:      0 (group root)

Puede deshabilitar esto en sus sistemas de archivos ext con tune2fs -m 0 /dev/NAME

Al mirarlo muy rápido, no creo que xfs haya reservado espacio para root

zje
fuente