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

8

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

No sistema Fedora df exibe: 78 GB usados

No sistema Ubuntu df exibe: 60 GB usados

Diferenças entre os sistemas:

Ubuntu: ext3 (criado anos atrás)

Fedora 17: ext4 (criado com uma chamada vanilla mkfs.ext4 )

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

Backup e restauração foram feitos com o GNU tar. O sistema de arquivos contém uma grande variedade de diferentes tipos de arquivos (por exemplo, de árvores de origem, maildirs, ISOs, etc.).

    
por maxschlepzig 14.06.2012 / 23:19

2 respostas

8

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

Capturar arquivos esparsos faz com que os deslocamentos de um arquivo esparso que não tenha blocos de disco alocados aloquem blocos de disco, tanto no arquivo tar (ou fluxo de saída) quanto no arquivo recriado.

Eu lembro que alguns DBMS criaram arquivos esparsos, assim como programas como o MSC / NASTRAN (sistema de modelagem de elementos finitos). Fazer o backup desses arquivos esparsos acaba usando grandes quantidades de armazenamento off-line, para surpresa de todos os envolvidos.

    
por 14.06.2012 / 23:34
4

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

Você pode visualizar essa 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 desabilitar isso em seus sistemas de arquivos ext com tune2fs -m 0 /dev/NAME

Olhando bem rápido, eu não acredito que o xfs tenha espaço reservado para o root

    
por 15.06.2012 / 00:13