ext4: o diretório leva 250 GB em vez de 20 GB?

1

eu tenho o kernel 2.6.32-gentoo-r1 do gentoo linux x64 usando o ext4

eu tenho uma unidade de 260GB e parece que 99% foi tirada.

(ufk é meu diretório inicial)

du -hl --max-depth=1 ufk

a saída mostra vários diretórios e seus tamanhos e no final:

231G    ufk

Eu somei todo o tamanho dos diretórios que ele mostra e ele não chega a 20 GB

df -i ufk

Filesystem            Inodes   IUsed   IFree IUse% Mounted on
/dev/root            18317312  759944 17557368    5% /

du -hsl ufk  

231G    ufk

alguma ideia sobre qual é a causa do

    
por ufk 06.01.2010 / 14:54

4 respostas

1

eu acho que foi um bug relacionado ao ext4. Eu resolvi o problema copiando todo o conteúdo de / home / ufk / * para uma partição diferente, excluindo e recriando o diretório / home / ufk e copiando todos os arquivos de volta.

    
por 09.01.2010 / 14:05
4

" -i " retorna os números de inode (o número de "entradas" no "catálogo de arquivos"), não o tamanho do bloco (o espaço usado pelos arquivos).

Isso é confirmado pelo cabeçalho de "df": Inodes IUsed IFree IUse% Observe o "eu" na frente de cada número.

Remova o " -i " e ele deverá fornecer números corretos. Use " -hk " para números legíveis por humanos e tamanho de bloco expressos em kilobytes.

    
por 06.01.2010 / 15:02
2

OK, essa questão é antiga, mas por outro lado, estou perdendo o distintivo Necromancer ...: -)

Eu encontrei esse tipo de uso de disco fantasma várias vezes. Quase toda vez que isso acontece porque algum processo ainda estava usando - ou tendo um identificador de arquivo aberto - algum arquivo enorme e deletado. Se um processo ainda mantém suas mãos em algum arquivo, como um arquivo de log enorme, o arquivo não será realmente excluído até que o processo o permita.

Você pode identificar esse tipo de arquivo, por exemplo, com lsof -n | grep -i deleted e, em seguida, reiniciar o processo problemático (ou, na maioria das vezes, enviar um sinal HUP para ele com killall -HUP someprocessname

    
por 29.07.2010 / 12:20
0

Provavelmente ufk é montado em um diretório que contém 250 gb de dados. De fato, df mostra o uso do sistema de arquivos por ponto de montagem.

Exemplo:

mkdir tmp
dd if=/dev/urandom of=tmp/file bs=512 count=4096
mount /dev/sda5 tmp

agora tmp não deve conter nada (assumindo que sda5 é uma partição limpa, etc) mas o diretório antes da montagem contém file de dados aleatórios.

    
por 06.01.2010 / 15:03