Ext3
Origem: Wikipédia, a enciclopédia livre.
- O título dado a este artigo encontra-se incorrecto devido a limitações técnicas. O título correcto é ext3 .
O ext3 (que significa "third extended file system") faz parte da nova geração de sistemas de gestão de arquivos do Linux. A sua maior vantagem é o suporte de journaling, que consiste em guardar informação sobre as transações de escrita, permitindo uma recuperação rápida e confiável em caso de interrupção súbita (por exemplo, por falta de electricidade).
O uso deste sistema de arquivos melhora a recuperação do sistema de arquivos caso ocorra algum desligamento súbito do computador, através da gravação seqüencial dos dados na área de metadados e acesso mhash da sua árvore de diretórios.
A estrutura da partição ext3 é semelhante à da ext2, pelo que a migração de um formato para o outro é simples. A adição do journaling é feita em um arquivo chamado .journal que fica oculto pelo código ext3 na partição (desta forma ele não poderá ser apagado, o que comprometeria o funcionamento do sistema). A estrutura idêntica da partição ext3 com a ext2 torna mais fácil a manutenção do sistema, já que todas as ferramentas para recuperação ext2 funcionarão sem problemas, sendo mesmo possível montar uma partição ext3 como se fosse ext2.
Índice |
[editar] Vantagens
Embora o seu desempenho (velocidade) seja menos atrativa que de outros sistemas de arquivos (como ReiserFS e XFS), ele tem a importante vantagem de permitir que seja feita a atualização direta a partir de um sistema com ext2, sem a necessidade de realizar um backup e restaurar posteriormente os dados, bem como o menor consumo de processamento [1].
Em relação a seu antecessor, o sistema de arquivos ext3 adiciona:
- Um journal
- Árvore de diretórios para diretórios quebrados em mais de um bloco
- Crescimento online do sistema de arquivos.
Sem isso, qualquer sistema de arquivos ext3 é também um sistema ext2 válido. Isso permitiu a criação de utilitários maduros e bem testados de manutenção e reparo de sistemas ext2 para também serem utilizadas com ext3 sem grandes modificações. Os sistemas de arquivos ext2 e ext3 compartilham o mesmo conjunto de utilitários, e2fsprogs, que incluem uma ferramenta fsck. A relação próxima entre eles também torna direta a conversão entre os dois sistemas de arquivos (tanto para atualizar para ext3 quanto para reverter a ext2).
Há três níveis de journaling disponíveis na implementação Linux do ext3:
- Journal, onde tanto os metadados quanto o conteúdo dos arquivos são escritos no journal antes de serem de fato escritos no sistema de arquivos principal. Isso aumenta a confiabilidade do sistema com uma perda de desempenho, devido a necessidade de todos os dados serem escritos duas vezes.
- Writeback, onde os metadados são escritos no journaled mas o conteúdo dos arquivos não. Esse nível é mais rápido, porém introduz o risco de escrita fora de ordem onde, por exemplo, arquivos que são apensados durante um crash podem ter adicionados a eles trechos de lixo na próxima montagem.
- Ordered, é como o writeback, mas força que a escrita do conteúdo dos arquivos seja feita após a marcação de seus metadados como escritos no journal. Esse é considerado um meio-termo aceitável entre confiabilidade e performance, sendo, portanto, o nível padrão.
Enquanto em alguns contextos a falta de funções de sistemas de arquivos "modernos", como alocação dinâmica de inodes e estruturas de dados em árvore, poderia ser considerada uma desvantagem, em termos de "recuperabilidade", isso dá a ext3 uma significante vantagem sobre sistemas de arquivos que possuem-nas. Os metadados do sistema de arquivos estão todos em locais fixos e bem conhecidos, e há certa redundância inerente a estrutura de dados, que permite que sistemas ext2 e ext3 sejam recuperáveis em caso de uma corrupção de dados significante, onde sistemas de arquivos em ávore não seriam recuperáveis.
[editar] Desvantagens
[editar] Funcionalidade
COmo o ext3 visa uma grande compatibilidade com o ext2, muitas das estruturas on-disk são similares àquelas da ext2. Por causa disso, o ext3 não possui muitas das funções mais recentes como alocação dinâmica de inodes e tamanhos de blocos variáveis (fragmentos ou caudas).
Os sistemas de arquivos ext3 não podem ser checados enquanto são montados para escrita. Um dump do sistema de arquivos feito entquanto ele está sendo montado para leitura e escrita pode resultar em dados corrompidos dentro do arquivo de dump.
[editar] Desfragmentação
Não há uma ferramenta online de desfragmentação funcional em nível de sistema de arquivos. Um desfragmentador offline da ext2, e2defrag
, existe mas requer que um sistema ext3 seja revertido previamente ao ext2. Mas, dependendo das funcionalidades ativadas no sistema de arquivos, o e2defrag
pode destruir dados; ele não sabe lidar com muitas das novas funcionalidades do ext3.[1]
Há ferramentas de desfragmentação em nível de userspace como o Shake[2] e o defrag[3], que aparentemente funcionam bem, sem perda de dados, mas há pouco feedback sobre elas.
[editar] Recuperação (Undeletion)
Diferentemente do ext2, o ext3 zera os ponteiros de blocos nos inodes de arquivos apagados. Ele faz isso para simplificar o acesso de leitura e escrita quando o journal está sendo utilizado após uma montagem "suja". Isso, no entanto, previne efetivamente que os arquivos sejam recuperados. o único recurso do usuário é fazer um "grep" no disco rígido para buscar por dados que sejam sinalizadores de início/fim de arquivo. Isso provê uma remoção de arquivos um pouco mais segura que em sistemas ext2, o que pode ser tanto uma vantagem quanto uma desvantagem.
[editar] Compressão
Suporte a compressão transparente de dados (disponível como um patch extra-oficial para ext2) não está disponível no ext3.
O ext3 tem um tamanho máximo para arquivos e para o sistema de arquivos inteiro. Esses limites dependem do tamanho de bloco do sistema de arquivos; a tabela abaixo resume esses limites[2]:
Tamanho do bloco | Tamanho máx. arquivo | Tamanho máx. fs |
---|---|---|
1 KiB | 16 GiB | 2 TiB |
2 KiB | 256 GiB | 8 TiB |
4 KiB | 2 TiB | 16 TiB |
8 KiB | 2 TiB | 32 TiB |
O tamanho de bloco de 8 KiB está apenas disponível para arquiteturas (como a alpha) que permitem paginação de 8 KiB.
[editar] Ext4dev / Ext4
Uma versão aprimorada do sistema de arquivos foi lançada em 10 de Outubro de 2006 com o nome de ext4. Ela inclui várias novas funcionalidades.
[editar] Referências
- ↑ Andreas Dilger. Post to the ext3-users mailing list. ext3-users mailing list post.
- ↑ Matthew Wilcox. Documentation/filesystems/ext2.txt. Linux kernel source documentation.
[editar] Ligações externas
- Linux ext3 FAQ
- Introducing ext3 - IBM developerWorks Advanced filesystem implementor's guide, Part 7
- Ext2 Installable File System For Windows ext2/ext3 file system driver for MS Windows NT/2000/XP (freeware, supports read & write)
- EXT2 IFS ext2/ext3 file system driver for MS Windows NT/2000/XP (opensource, doesn't support writing)
- Explore2fs An explorer-like GUI tool for accessing ext2/ext3 filesystems under MS Windows
- ext2/ext3 online resizing tools
- Presentation on EXT3 Journaling Filesystem by Dr. Stephen Tweedie at the Ottawa Linux Symposium, 20 July, 2000