Por que existe uma discrepância de tamanho entre o HFS + e o ext4?

2

Eu configurei recentemente um servidor NFS no meu servidor Ubuntu e atualmente estou no processo de migrar meus arquivos de HFS + HDDs para ext4. Eu tive um problema no entanto, onde o disco de recepção (formato ext4) está ficando sem espaço antes que a transferência seja concluída. Ambas as unidades são unidades USB externas de 2 TB e a unidade receptora foi recém-formatada, portanto não deveria haver nada nela.

Estou ciente de que o tamanho de bloco padrão para o ext4 é 4K e, como esperado, comparando

du /media/[Receiving Drive]/*
du --apparent-size /media/[Receiving Drive]/*

Mostra que a maioria dos arquivos (se não todos) está usando um 4K adicional no disco. A unidade HFS +, que infelizmente já tenho formatado no ext4 para que não seja possível obter informações, tinha pouco mais de 12 GB de espaço livre, porém com base no uso atual do disco ext4 e na quantidade de arquivos I já transferi, estou perdendo mais de 200 GB de espaço!

Eu não tenho absolutamente nenhuma ideia de onde esta discrepância está vindo, porque no máximo a adição de 4K a cada arquivo seria significativamente menor que 1 GB, muito menos 200.

Ambas as unidades são formatadas como ext4 com uma Tabela de Partição GUID e o diskutility mostra que há uma diferença de ~ 700MB entre elas (outro mistério).

Basta dizer que estou preso. Alguma sugestão?

    
por RVanS 14.02.2014 / 17:46

1 resposta

1

Com as configurações padrão, o ext4 aloca um inode por 16.386 bytes e um inode é de 256 bytes, portanto, em um disco de 2 TB, que usa ~ 32 GB para as tabelas de inode. Você pode reduzir isso quando formatar com a opção -T largefile dada a mkfs.ext4 , mas se você tiver muitos arquivos pequenos, poderá ficar sem inodes e não poderá criar mais, mesmo que haja espaço livre. A menos que a maioria dos seus arquivos tenha menos de meio mega, isso não deve ser um problema.

A outra coisa é que, por padrão, 5% do espaço é reservado e não pode ser invadido por usuários normais. Na sua unidade de 2 TB, isso equivale a 100 GB. Você pode desabilitar isso com sudo tune2fs /dev/sdXX -m 0 (onde / dev / sdXX é a unidade / partição em questão), mas geralmente não é uma boa ideia preencher uma unidade acima de 95%, já que ela tende a causar fragmentação.

    
por psusi 14.02.2014 / 22:27