Índice do dicionário técnico

Journaling

Criado 26/jun/2005 às 22h03 por Carlos E. Morimoto

2

Este é um recurso suportado por alguns sistemas de arquivos, entre eles o EXT3, suportado pelas distribuições do Linux baseadas no Kernel 2.4 ou mais atual (o EXT3 é o sucessor do EXT2, usado em distribuições baseadas no Kernel 2.2 ou anterior). Basicamente, o sistema de arquivos mantém um journal (ou log) onde são armazenadas todas as mudanças feitas em arquivos do disco. Quando qualquer erro inesperado surge, ou o sistema é desligado incorretamente é possível localizar todas as operações que não haviam sido completadas, restaurando a consistência do sistema de arquivos sem a necessidade de vascular arquivo por arquivo, como faz o scandisk do Windows ou o FSCK no Linux.

O uso do EXT3, ReiserFS, ou outro sistema de arquivos com suporte a Journaling é importante sobretudo para quem não possui no-break, já que além do tempo necessário para rodar o FSCK após cada desligamento incorreto, o sistema EXT2 é muito suscetível à perda de arquivos, talvez até mais do que a FAT 16/32 usada no Windows.

Entre o EXT3 e o ReiserFS a principal diferença é que o EXT3 tenta guardar informações tanto sobre a metadata, ou seja, as informações sobre o espaço ocupado pelo arquivos e suas permissões quanto sobre os dados em sí, enquanto o ReiserFS guarda apenas informações sobre a Metadata.

No caso de um desligamento incorreto o ReiserFS é capaz de recuperar a consistência do sistema de arquivos em frações de segundo e a possibilidade de perda de pastas ou partições é nula. Em compensação, os arquivos que eventualmente estiverem sendo gravados no exato momento em que acabou a energia ficarão com seus dados alterados. Você continuará tendo acesso aos arquivos normalmente, mas o conteúdo estará truncado ou incompleto.

Já o EXT3 tenta sempre preservar não só a metadata mas também os dados dos arquivos em sí. Isto se revela ao mesmo tempo uma força e uma fraqueza. A vantagem é que existe uma possibilidade maior de recuperar os arquivos que estiverem sendo gravados no exato momento em que acabar a energia. Por outro lado o journal guarda mais informações e é acessado mais freqüentemente o que causa uma certa degradação no desempenho (é justamente por isso que o ReiserFS costuma se sair melhor nos benchmarks) e ao mesmo tempo faz com que exista a possibilidade do próprio journal se corromper durante o desligamento.

Este é o grande perigo do EXT3, pois sem o journal a tolerância à falhas é a mesma que no EXT2: o sistema passará o velho FSCK que demorará vários minutos e você corre um grande risco de perder completamente os arquivos que estiverem sendo acessados no momento do desligamento e em casos mais graves até mesmo pastas inteiras.

Ou seja, o ReiserFS oferece uma grande proteção contra corrompimento do sistema de arquivos, mas em compensação pouca proteção para os arquivos em sí. O EXT3 por sua vez oferece uma maior proteção aos arquivos, mas em troca oferece um menor desempenho e uma proteção mais frágil para o sistema de arquivos em sí.

2 comentáriosPor Carlos E. Morimoto. Revisado 26/jun/2005 às 22h03

Comentários

Material de grande relevância
Criado 8/jun/2011 às 23h53 por Hugo Luiz (anônimo)
Bem abordado o tema e o contúdo rico em detalhes. Como de costume, gosto de elogiar o trabalho quando é bem feito! Parabéns!
O journaling
Criado 28/mai/2011 às 20h06 por Alberto Alexandre (anônimo)
De maneira clara e direta é explicado o que é Journaling. Parabéns ao Carlos pelo excelente texto.