sábado, 7 de junho de 2008

Criando hash com arvore no ext3

Primeiramente, explicar a necessidade disso, o ext3 tem problemas com a escalabilidade, seus diretórios tem um limite relativamente pequeno para a quantidade de arquivos a serem guardados ali dentro, isso é uma herança do ext2 (o qual o ext3 é completamente baseado), mas já existe uma solução para isso, que é um ext3-htree, pode ser feito sem medo pois não irá danificar seu file system.

Para criar hash com árvore (htree) no ext3, existe um comando bem simples, o que será feito é o seguinte: o ext3 irá criar (ou atualizar) o uma tabela hash para tornar seu sistema capaz de guardar mais de 5000 arquivos num diretório (a explicação é bem mais técnica que isso, todo diretório tem um "arquivo" que diz quem está dentro deste diretório, com esse comando a organização desse arquivo usará uma tabela hash, é o que eu acho.), hash é um tipo de estrutura de dados, e arvore é outra, são ambas utilizados pelo ext3.

Primeiramente, veja se seu computador tem uma unidade em ext3, e se tiver qual é:
abra um terminal (console) e digite:

$ mount | grep ext3 | awk '{ print $1 }'

se não aparecer nada, provavelmente você não usa o sistema de arquivos Ext3, se aparecer mais de uma linha, faça o comando tune2fs a quantidade de vezes que for necessária para suprir todas as linhas.

o comando é:
$ sudo tune2fs -O dir_index /dev/seudisco

depois:

$ sudo updatedb
(este último comando não irá retornar 'nada', se isso acontecer, é porque tudo correu bem)

o único teste de desempenho que conheço para hds no linux eh o hdparm -t /dev/seudisco porém provavelmente não irá mudar nada depois deste comando acima, afinal o que foi feito não aumenta a velocidade que o disco é lido e sim, criará a possibilidade de guardar uma grande quantidade de arquivos num único diretório.

Nenhum comentário: