Ext3

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa
ext3
Desenvolvedor Stephen Tweedie
Nome completo Third extended file system
Lançamento novembro de 2001 (Linux 2.4.15)
Identificador da partição 0x83 (MBR)
EBD0A0A2-B9E5-4433-87C0-68B6B72699C7 (GPT)
Estruturas
Conteúdos de diretório Tabela, hashed B-tree com dir_index ativado
Alocação de arquivos Mapa de bytes (espaço livre), tabela (metadados)
Blocos ruins Tabela
Limites
Tamanho Máximo de arquivo 16 GiB – 2 TiB
Número máximo de arquivos Variável, especificado no momento da criação [1]
Tamanho máximo do nome de arquivo 254 bytes
Tamanho máximo do volume 2 TiB – 16 TiB
Caracteres permitidos em nomes Todos bytes exceto NULL ('\0') e '/'
Recursos
Datas salvas modificação(mtime), modificação de atributos (ctime), acesso (atime)
Faixa de datas 14 de dezembro de 1901 - 18 de janeiro de 2038
Resolução de datas 1s
Bifurcações Não
Atributos No-atime, append-only, synchronous-write, no-dump, h-tree (directory), immutable, journal, secure-delete, top (directory), allow-undelete
Permissões de sistema de arquivos Permissões Unix, ACLs e atributos de segurança variáveis (Linux 2.6 e posteriores)
Compressão transparente Não
Criptografia transparente Não (fornecido no nível de dispositivo em bloco)
Armazenamento de caso único Não
Sistemas operativos suportados Baseados em Linux, BSD, Windows (através de um IFS)
Portal das Tecnologias de informação


O Ext3 (third extended filesystem) é um sistema de arquivos desenvolvido por Stephen C. Tweedie para o UNIX, que tira alguns recursos ao Ext2, dos quais o mais visível é o journaling ou diário. O sistema de arquivos ext3 ou prorrogado terceiro é um sistema de arquivos com diário que é comumente usada pelo kernel Linux. É o padrão do sistema de arquivos para muitos populares distribuições Linux . Stephen C. Tweedie primeiro revelou que ele estava trabalhando na extensão ext2 no Diário do Linux ext2fs Filesystem em um documento de 1998 e mais tarde em uma lista de discussão do destacamento kernel em fevereiro de 1999, e o sistema de arquivos foi fundida com a a linha principal do kernel do Linux em novembro de 2001. Sua principal vantagem sobre ext2 é o diário, que melhora a confiabilidade e elimina a necessidade de verificar o sistema de arquivos após um desligamento abrupto. Seu sucessor é o Ext4 .


Ver artigo principal: Ext2

Journaling[editar | editar código-fonte]

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.


Embora o seu desempenho (velocidade) seja menos atrativo que o 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].

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á ao 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 à estrutura de dados, que permite que sistemas ext2 e ext3 sejam recuperáveis no caso de uma corrupção de dados significante, em que sistemas de arquivos em árvore não seriam recuperáveis.

Desvantagens[editar | editar código-fonte]

Funcionalidade[editar | editar código-fonte]

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.

Desfragmentação[editar | editar código-fonte]

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.[2]

Recuperação (Undeletion)[editar | editar código-fonte]

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.

Compressão[editar | editar código-fonte]

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:[3]

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.

Ext4[editar | editar código-fonte]

Ver artigo principal: 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.

Notas[editar | editar código-fonte]

  1. O número máximo de inodes (e portanto o número máximo de arquivos e diretórios) é escolhido quando o sistema de arquivos é criado. Se V é o tamanho do volume em bytes, então o número padrão de inodes é dado por V/213 (ou o número de blocos, dependendo de qual for menor), e o mínimo por V/223. O padrão foi considerado suficiente para a maioria dos usos. O número máximo de subdiretórios em um diretório é fixado em 32000.
  2. Andreas Dilger. «Post to the ext3-users mailing list». ext3-users mailing list post 
  3. Matthew Wilcox. «Documentation/filesystems/ext2.txt». Linux kernel source documentation 

Referências[editar | editar código-fonte]

  1. 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.
  2. 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.

Ligações externas[editar | editar código-fonte]