Qual è l'overhead di spazio di diversi filesystem?


8

Ho eseguito il backup / ripristino di un filesystem da un sistema Ubuntu a uno Fedora 17. Ho notato che secondo l' dfoutput lo spazio utilizzato è aumentato del 30%. Quali potrebbero essere le ragioni di ciò?

Sul dfdisplay del sistema Fedora : 78 GB utilizzati

Sul dfdisplay del sistema Ubuntu : 60 GB utilizzati

Differenze tra i sistemi:

Ubuntu: ext3 (creato anni fa)

Fedora 17: ext4 (creato con una mkfs.ext4chiamata alla vaniglia )

Il ripristino su un filesystem XFS (su Fedora 17) produce 78 GB di spazio utilizzato.

Il backup e il ripristino sono stati eseguiti con tar GNU. Il filesystem contiene una vasta gamma di diversi tipi di file (ad esempio da alberi di origine, maildir a ISO, ecc.).

Risposte:


8

La prima cosa che viene in mente è "file sparsi". Tradizionalmente, si potrebbe creare un file con i dati con un offset nel file e quindi cercare un offset molto maggiore. Quando si scrivono dati con un offset molto maggiore, il filesystem non alloca blocchi di disco per gli offset intermedi. I programmi che leggono questi offset senza blocchi di disco allocati leggono valori zero.

L'acquisizione di file sparsi causa gli offset di un file sparse che non ha allocato i blocchi del disco per allocare i blocchi del disco, sia nel file tar (o flusso di output) che nel file ricreato.

Ricordo che alcuni DBMS hanno creato file sparsi, così come programmi come MSC / NASTRAN (sistema di modellazione ad elementi finiti). Il backup di quei file sparsi finisce per usare grandi quantità di spazio di archiviazione offline, con grande sorpresa di tutti i soggetti coinvolti.


I programmi torrent hanno un'opzione che penso farà la stessa cosa, per download incompleti. (Almeno, la descrizione in Azureus suona come quella che stai descrivendo)
Izkata,

Sarebbe du --apparent-size ...un modo per verificare se i file sparsi fanno la differenza?
maxschlepzig,

1
Un altro uso comune dei file sparsi sono le immagini del disco del software di virtualizzazione.
Jochen Lutz,

4

Un'altra cosa a cui prestare attenzione quando si notano discrepanze nello spazio è lo spazio riservato alla radice (in genere il 5% su ext {2,3,4}). Questo spazio consente al sistema operativo di funzionare (scrivere file di registro, ecc ...) anche se un utente riempie il disco (purché l'utente non sia root).

Puoi visualizzare questa impostazione 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)

Puoi disabilitarlo sul tuo filesystem ext con tune2fs -m 0 /dev/NAME

Dall'esaminarlo molto rapidamente, non credo che xfs abbia spazio riservato per root

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.