Qual é a sobrecarga de espaço de diferentes sistemas de arquivos?

8

Fiz backup / restaurei um sistema de arquivos de um sistema Ubuntu para um sistema Fedora 17. Percebi que, de acordo com a dfsaída, o espaço usado aumentou em 30%. Quais poderiam ser as razões para isso?

Nos dfdisplays do sistema Fedora : 78 GB usados

Nos dfdisplays do sistema Ubuntu : 60 GB usados

Diferenças entre os sistemas:

Ubuntu: ext3 (criado anos atrás)

Fedora 17: ext4 (criado com uma mkfs.ext4chamada de baunilha )

A restauração em um sistema de arquivos XFS (no Fedora 17) gera 78 GB de espaço usado.

O backup e a restauração foram feitos com o GNU tar. O sistema de arquivos contém uma ampla variedade de tipos diferentes de arquivos (ou seja, de árvores de origem, donzelas a ISOs etc.).

maxschlepzig
fonte

Respostas:

8

A primeira coisa que vem à mente é "arquivos esparsos". Tradicionalmente, era possível criar um arquivo com dados em um deslocamento no arquivo e, em seguida, procurar um deslocamento muito maior. Ao gravar dados em um deslocamento muito maior, o sistema de arquivos não alocaria blocos de disco para os deslocamentos intermediários. Os programas que lêem esses deslocamentos sem blocos de disco alocados lêem valores zero.

A criação de arquivos esparsos causa as compensações de um arquivo esparso que não possui blocos de disco alocados para alocar blocos de disco, tanto no arquivo tar (ou no fluxo de saída) quanto no arquivo recriado.

Lembro que alguns DBMS criaram arquivos esparsos, assim como programas como o MSC / NASTRAN (sistema de modelagem de elementos finitos). O backup desses arquivos esparsos acaba usando grandes quantidades de armazenamento offline, para grande surpresa de todos os envolvidos.

Bruce Ediger
fonte
Programas de torrent têm uma opção que eu acho que fará a mesma coisa, para downloads incompletos. (Pelo menos, a descrição em Azureus soa como o que você está descrevendo)
Izkata
Seria du --apparent-size ...uma maneira de testar se arquivos esparsos fazem a diferença?
maxschlepzig
1
Outro uso comum para arquivos esparsos são as imagens de disco do software de virtualização.
Jochen Lutz
4

Outra coisa a observar quando você vê discrepâncias de espaço é o espaço reservado para raiz (normalmente 5% no ext {2,3,4}). Esse espaço permite que o sistema operacional funcione (grave arquivos de log, etc ...), mesmo que um usuário preencha o disco (desde que esse usuário não seja root).

Você pode visualizar esta configuração 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)

Você pode desativar isso em seus sistemas de arquivos ext com tune2fs -m 0 /dev/NAME

Analisando-o rapidamente, não acredito que o xfs tenha reservado espaço para o root

zje
fonte