O sistema de arquivos ext3 já está entre a comunidade GNU/Linux a muito tempo e ainda é bastante utilizado. O ext3 é uma atualização do sistema de
arquivos ext2.
Em relação ao ext2, a principal diferença é a implementação do journaling, um recurso muito interessante abordado na segunda página deste artigo, que consiste no
armazenamento de registros para posterior restauração das informações, caso aconteça algum erro.
Principais vantagens
1. Possui journaling. Há três níveis de operação do journaling disponíveis na implementação do ext3:
Modo de Operação Ordered (default): Somente os metadados dos arquivos são escritos na área de journal. O conteúdo de cada arquivo não é armazenado no journal, mas é
forçado a ser escrito no sistema de arquivos, logo após o journal receber os metadados. este nivel de operação disponibiliza a melhor relação entre desempenho e confiabilidade.
Este comportamento faz com que o journal consiga (nem sempre) restaurar o conteúdo do arquivo que está sendo criado ou lido no momento de desligamento
repentino, por exemplo.
Modo de Operação Writeback: O journal armazena apenas informações referentes à estrutura do sistema de arquivos (metadados) e não em relação aos arquivos propriamente
ditos. os blocos de qualquer dado é gravado no sistema de arquivos de forma ocasional, pois é o kernel quem define quando será feita a gravação. assim o conteúdo de um arquivo pode ser escrito
em disco antes ou depois que os metadados são atualizados no journal.
Este modo é o mais rápido, mas em compensação oferece uma segurança muito menor contra perda e corrompimento de arquivos causados pelos desligamentos
incorretos.
Modo de Operação Journal: Que é o mais seguro, porém, mais lento. Nele, o journal armazena não apenas informações sobre as ações sofridas,
mas também uma cópia de segurança de todos os arquivos modificados, que ainda não foram gravados no disco. A cada alteração, o sistema grava uma cópia do
arquivo (no journal), atualiza as informações referentes à estrutura do sistema de arquivos, grava o arquivo e atualiza novamente o journal, marcando a operação
como concluída. Como disse, isso garante uma segurança muito grande contra perda de dados, mas em compensação, reduz o desempenho drasticamente.
Justamente por causa disso, este é o modo menos usado.
O modo de operação padrão é o Ordered, porém não significa dizer que você não consiga mudar isso. Para usar o modo Writeback ou o modo journal, você deve
adicionar a opção "data=writeback" ou "data=journal" nas opções referentes à partição, dentro do arquivo /etc/fstab ou usando o comando tune2fs.
2. Possui indexação de maior quantidade de diretórios;
3. Suporte para tamanhos maiores de volumes e arquivos em relação a sua versão anterior.
4. O ext3 ainda pode contar com algumas ferramentas para gerenciamento de sistema de arquivos extFS, tais como:
tune2fs
mke2fs
debugfs
e2fsck
Principais desvantagens
Funcionalidade: Como o ext3 visa uma grande compatibilidade com o ext2, muitas das estruturas on-disk são similares àquelas do
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: Apesar de não fragmentar muito o disco na estrutura do ext3, não há uma ferramenta para
desfragmentação online funcional em nível de sistema de arquivos.
Recuperação de dados deletados: 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.
Isso, no entanto, previne efetivamente que os arquivos sejam recuperados. 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.
Verificação do sistema de arquivos: O ext3 é considerado lento na verificação do sistema de arquivos.
Criação do sistema de arquivos: O ext3 é lento quando se aplica um sistema de arquivos, e se o disco tiver que marcar badblocks,
demora mais ainda.
O sistema de arquivos ext3, apesar de possuir journaling, não foi desenvolvido desde o inicio para suportar o journal, e sim, foi integrado a partir da versão 3 do
mesmo, por isso, o journal não é tão eficaz no ext3.
E quando o journal falha, ele faz uso do fsck para verificar a integridade do sistema de arquivos, e se o fsck não conseguir recuperar a integridade do
mesmo, seu sistema de arquivos fica corrompido.
Para muitos, este sistema de arquivos é obsoleto e para outros estável, e tem um bom desempenho.
[1] Comentário enviado por removido em 22/06/2012 - 19:41h
Olha rapaz, achei o seu artigo excelente e fico satisfeito em ser o primeiro a comentá-lo e mais ainda por ter saído do assunto em voga "Pinguim x M$" que tá dando no saco!
Quanto aos filesystems, venho usando o reiserfs para o sistema raiz e o xfs para /home e não tenho do que me queixar, exceto o fato do Debian não incluir o reiserfs como opção no Debian Installer, em relação a isso fiz uma dica a respeito:
Como sugestão, você poderia solicitar a adição do esquema de particionamento para cada um dos sistemas de arquivos junto a moderação do VOL, o que facilitaria a vida daqueles que vierem a criar novas partições.
[5] Comentário enviado por danielsath em 24/06/2012 - 18:06h
Parabens, muito bom. So gostaria de saber a respeito de uma particao que eu encontrei aqui com o nome extend, que estava querendo saber que sistema de arquivos ela utilizar
[10] Comentário enviado por lcnrj em 30/06/2012 - 13:47h
Uso o reiserfs há anos, estou pensando em mudar para xfs no meu hd de 1.5TB mas ouvi falar que na falta de luz ele já era. Quando pensei no ext4 me disseram que ele "gasta" mais espaço no HD. Tenho um misto de muitos arquivos pdf pequenos e muitos arquivos com mais de 250MB. Qual a sua sugestão...obrigado!
[11] Comentário enviado por removido em 30/06/2012 - 14:09h
Ola amigo lcnrj,
Você leu o artigo inteiro ? pois dei claras explicações durante o artigo e no final deixei algumas sugestões de uso.
Para poder dá uma sugestão de uso ideal, preciso saber qual o esquema de particionamento está sendo usado ou que pretende usar ?
Mas antes mesmo de informar, digo que a melhor solução para seu caso seria usar o ext4 no /home, pois os arquivos que citou ficam localizados no /home né isso ? o ext4 é bem rápido tem um ótimo suporte junto ao kernel, além disso trabalha muito bem com arquivos grandes e pequenos(tanto na leitura quanto na gravação).
*** Esclarecimento****
Qualquer sistema de arquivos, pelo menos até este momento pode ser corrompido, com uma queda de energia, o que existe em si é sistemas de arquivos mas consistentes que outros como foi explicado no artigo.
[12] Comentário enviado por Tacioandrade em 11/07/2012 - 00:58h
Muito obrigado pelo artigo, acabei além de conhecer mais sobre os FS's do mercado Linux, com o que você falou sobre o JFS:
"Reparação muito eficaz de um disco com badblocks, ele consegue marcar os setores defeituosos com muita precisão, algo que outros sistemas de arquivos para Linux não fazem."
Vou tentar reavivar uns 20 HDs de la da empresa que estão em uma caixa para descarte por problemas de BadBlock. =)
[13] Comentário enviado por removido em 11/07/2012 - 11:44h
Por nada amigo Tacioandrade,
Mas lembre-se que badblocks influência diretamente no desempenho e não é garantido que o mesmo não ficará com outros badblocks, já que como tem vários setores defeituosos no disco.
[14] Comentário enviado por jarlisson em 20/07/2012 - 14:56h
Ótimo.
Sempre lia esses nomes, mas não sabia o que significavam. Sò sabia que funcionava em um sistema, mas nao no outro, e desse via os arquivos daquele etc. Muito bom saber o porquê.
[16] Comentário enviado por removido em 23/07/2012 - 11:26h
Simples Jarlisson !
Estudando por livros digitais e impressos, estudando pela documentação que os desenvolvedores deixam disponível, pesquisando e estudando pela internet e principalmente, mas principalmente mesmo colocando em prática toda informação estudada e assimilada fazendo uma bateria de testes para poder comprovar o comportamento de todos os sistemas de arquivos abordados no artigo.
[18] Comentário enviado por rafamarini em 19/11/2012 - 01:32h
Olá, excelente artigo!
Eu tenho uma duvida em relação ao JFS!
O Journaling que o Sistema de Arquivos JFS utiliza é o Journaling Lógico, correto?
Então, o Journaling Lógico guarda em seu log os metadados de arquivos que sofreram uma alteração recentemente, porém minha dúvida é o seguinte:
-Quando houver um evento de falha (uma queda de luz), ao religar o equipamento ele irá restaurar os dados utilizando o log realizado pelo journaling, como ele recupera os arquivos somente possuindo os seus metadados e não os dados como o Journal Físico?
[19] Comentário enviado por removido em 19/11/2012 - 11:46h
Obrigado pelos comentários pessoal!
Respondendo as perguntas feitas pelo amigo rafamarini.
[18] Comentário enviado por rafamarini em 19/11/2012 - 01:32h:
O Journaling que o Sistema de Arquivos JFS utiliza é o Journaling Lógico, correto?
Obrigado pela atenção!
R. Correto
[18] Comentário enviado por rafamarini em 19/11/2012 - 01:32h:
-Quando houver um evento de falha (uma queda de luz), ao religar o equipamento ele irá restaurar os dados utilizando o log realizado pelo journaling, como ele recupera os arquivos somente possuindo os seus metadados e não os dados como o Journal Físico?
Obrigado pela atenção!
R. Os metadados também armazena informação sobre a localização dos arquivos no sistema de arquivos, sendo assim, caso computador desligue de forma inesperada no momento da leitura ou escrita de um arquivo, o journal tem no log a informação(metadados) onde esta localizado os blocos do arquivo para tentar restaurar o mesmo, se necessário repetitivamente.
Em um evento citado por você dificilmente perderá o arquivo por completo. por que quando um arquivo é aberto para leitura e ou escrita, o linux cria uma cópia do mesmo, chamado de arquivo swap. assim todas as alterações feitas no arquivo, na verdade são feitas na cópia.
Quando o arquivo é salvo as alterações feitas na cópia são sincronizadas para o arquivo original pelo kernel de forma tardia ou não. Poderá ainda perder se o conteúdo do arquivo estiver em algum bloco defeituoso (bad block) ou se o journal não recebeu a tempo os metadados.
[21] Comentário enviado por vinteumdoonze em 16/03/2013 - 23:15h
Poxa, muito bom o seu artigo, estou estudando para LPI e aprendi muito aqui sobre File System, sei que o conteudo abordado no artigo é basico e devo procurar outras fontes, mas já foi uma grande ajuda para a compreenção do assunto.
Esta de parabéns.
[22] Comentário enviado por galactus em 17/03/2013 - 19:21h
Olá. Gostei do artigo, mas gostaria de deixar meus dois centavos...
Primeiro que o XFS já está muito mais seguro do que antigamente. Em kerneis antigos, realmente, em quedas de energia você poderia corromper dados, mas nas novas versões do XFS e dos kerneis não. Estes benchmarks sintéticos onde você formata um HD e faz os testes logo em seguida não condizem com a realidade de uma sistema em pleno uso, e principalmente com muito tempo de uso! Já li comentários inclusive do principal desenvolvedor do ext4 que estes tipos de testes não mostram a vida real de uma sistema de arquivos, por isso ele não leva muito em consideração esses tipos de testes.
Também assisti a uma palestra postada no Youtube do desenvolvedor do XFS da RedHat falando coisa parecida. São quase 50 minutos dele respondendo a perguntas da galera, quem tiver curiosidade de assisitir é só procurar por: XFS_ Recent and Future Adventures in Filesystem Scalability
Por exemplo, o pessoal olha esses números nus e crus e vai achar que o JFS é uma lesma! Mesmo estando defasado, não é assim. O JFS foi criado numa época em que cada pulso de clock importava, pois eram poucos e muito caros. Portanto seu objetivo era não sobrecarregar o processador e ser seguro. Instale ele numa máquina antiga com apenas um núcleo e comece a fazer mais de uma coisa ao mesmo tempo que você vai ver a que o JFS veio! Olha aqui esse meu video: http://www.youtube.com/watch?v=OCevVWiZCks
O é ext4 pode ser mais rápido enquanto tem poucas requisições sobre ele, mas é só começar a aumentar o número de requisições que a coisa fica feia, na prática você nota como se o sistema ficasse "preso" ao que ele está fazendo e passa a responder muito lentamente! Quando não dá umas congeladas. O XFS tem reserva de requisições por padrão, para não "esgotar" o sistema de arquivos rapidamente quando muitas requisições são feitas ao mesmo tempo. Eu tenho uma servidor multimedia em casa e o XFS dá banho no ext4 nisso. Fora o servidor são mais 4 máquinas, comece a abrir vários vídeos de um mesmo HD pra você ver a diferença. Melhor que ele pra streaming de video em rede só o ZFS com RAID, parece que nem faz força. Desculpem pela redação, acabou ficando quase 50 reais.... hehehehe Mas era só!
[24] Comentário enviado por AprendiNoLinux em 20/12/2014 - 15:03h
Fantástico artigo...
Andei pesquisando hoje sobre armazenamento e não consegui chegar em conclusão alguma rsrs.
Pelas possíveis mudanças de tamanho nas partições, a opção XFS foi descartada.
Parece que vou manter ext4 com lvm...
[25] Comentário enviado por bl4ckout em 11/03/2019 - 09:56h
Sem dúvidas o Universo Linux é sensacional e principalmente por ter uma comunidade tão viva, unida e dinâmica.
Usei o Windows por muito tempo e estou totalmente motivado a algum dia, contribuir com minhas experiências no Linux com todos aqui, no Viva o Linux.
Pode parecer simples, mas agradeço pelo esforço de todos por manter esse fórum rico como está, pois verdadeiramente é um grande refúgio para novos tripulantes.
[26] Comentário enviado por xerxeslins em 11/03/2019 - 10:19h
[25] Comentário enviado por bl4ckout em 11/03/2019 - 09:56h
Sem dúvidas o Universo Linux é sensacional e principalmente por ter uma comunidade tão viva, unida e dinâmica.
Usei o Windows por muito tempo e estou totalmente motivado a algum dia, contribuir com minhas experiências no Linux com todos aqui, no Viva o Linux.
Pode parecer simples, mas agradeço pelo esforço de todos por manter esse fórum rico como está, pois verdadeiramente é um grande refúgio para novos tripulantes.