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 (third extended file system) é um sistema de arquivos desenvolvido para o Linux, que acrescenta o recurso de journaling ao Ext2.
Índice |
[editar] História
Stephen Tweedie fez uma apresentação dos planos para o Ext3 no "LinuxExpo '98".[1] Segundo Theodore Ts'o escreveu em uma mensagem à lista de discussão LKML, em 16 de setembro de 1999, Tweedie começou a divulgar o código do Ext3 em setembro de 1999:[2] "There is a 0.01 release which came out 1-2 weeks ago. It was against 2.2.2, and has bugs which have since been fixed. I imagine that Stephen will be releasing a new version fairly shortly."
Houve outra apresentação de Tweedie no "Ottawa Linux Symposium" de 2000 (OLS-2000).[3] Ts'o e Tweedie [2002] fizeram uma descrição da evolução do Ext2 e do Ext3. Em 2005, Mingming Cao et al [2005] apresentaram um artigo descrevendo a evolução do Ext3.
[editar] Journaling
A principal diferença entre o Ext2 e o Ext3 é a implementação do journaling, que consiste em um registro (log ou journal) de transações cuja finalidade é recuperar o sistema em caso de desligamento não programado.
Há três níveis de journaling disponíveis na implementação do Ext3:
- Journal: os metadados e os dados (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 no disco duas vezes.
- Writeback: os metadados são escritos no journal mas não o conteúdo dos arquivos. Essa opção permite um melhor desempenho em relação ao modo journal, 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.
[editar] Revisar a partir daqui
[editar] Vantagens
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.
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 [3].
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 árvore não seriam recuperáveis.
[editar] Desvantagens
[editar] Funcionalidade
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.
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 enquanto 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.[4]
Há ferramentas de desfragmentação em nível de userspace como o Shake[4] e o defrag[5], 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:[5]
| 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] Notas
- ↑ ftp://ftp.kernel.org/pub/linux/kernel/people/sct/ext3/
- ↑ [1]
- ↑ [2]
- ↑ 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] Referências gerais
- MINGMING CAO et al. State of the art: where we are with the Ext3 filesystem. Proceedings of Ottawa Linux Symposium. 2005, v. 1, pp. 69-96. Disponível em <http://www.linuxsymposium.org/2005>. Acesso em 28 dez. 2008.
- TS'O, Theodore Y.; TWEEDIE, Stephen. Planned extensions to the Linux Ext2/Ext3 filesystem. Proceedings of Usenix 2002 Annual Technical Conference. 2002. pp. 235-244. Disponível em <http://e2fsprogs.sourceforge.net/extensions-ext23/extensions-ext23.pdf>. Acesso em 24 maio 2009.
[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