Durante a instalação, você pode escolher sistemas de arquivo diferentes para as suas partições, pois elas serão formatadas utilizando algoritmos diferentes.
A não ser que você seja um especialista, escolher um sistema de arquivo não é simples. Nós iremos dar uma olhada rápida em alguns sistemas de arquivo, dos quais todos estão disponíveis no Mandriva Linux.
O Second Extended File System (sua forma abreviada é ext2FS ou simplesmente ext2) tem sido o sistema de arquivo padrão do GNU/Linux por muitos anos. Ele substituiu o Extended File System (que é de onde vem o “Second” no nome do sistema). O ext2 corrige alguns problemas e limitações de seu predecessor.
O ext2 respeita os padrões comuns do sistema de arquivos do UNIX®. Desde o seu início, ele estava destinado a desenvolver enquanto ainda oferecer uma grande robustez e boa performance.
Como o seu nome sugere, o Third Extended File System é o sucessor do ext2. Ele é compatível com o último mas aprimorado por incorporar o suporte a journaling.
Uma das maiores falhas dos sistemas de arquivo “tradicionais” como o ext2 é a sua baixa tolerância à quedas repentinas do sistema (queda de energia ou travamentos causados por software). Falando de maneira geral, uma vez que o sistema é reiniciado, estes tipos de evento envolvem um exame muito longo da estrtura do sistema de arquivos e tentativas de corrigir erros, que às vezes resultam em um sistema corrompido. Isto pode causar a perda parcial ou total de dados gravados.
O Journaling soluciona este problema. Para simplificar, vamos dizer que o que estamos fazendo é armazenar as ações (como a gravação de um arquivo) antes de realmente executarmos. Nós podemos comparar esta funcionalidade com aquele capitão de barco que mantém um diário de bordo onde anota todos os eventos que acontecem diariamente. O resultado: um sistema de arquivo sempre coerente. E se um problema ocorrer, uma verificação é muito rápida e os reparos eventuais muito reduzidos. Então o tempo gasto para verificar um sistema de arquivo é proporcional ao uso atual e não relacionado ao seu tamanho.
Sendo assim, o ext3 oferece um sistema de arquivo com journaling enquanto mantém a estrutura do ext2, garantindo uma compatibilidade excelente. Isto torna muito fácil trocar de ext2 para ext3 e voltar novamente.
Ao contrário do ext3, o reiserfs foi escrito do zero. Ele é um sistema de arquivos com journaling como o ext3, mas a sua estrutura interna é radicalmente diferente porque ele usa conceitos de árvores binárias inspiradas nos softwares de base de dados e também possui um tamanho de bloco variável, tornando-o otimizado para o uso com vários (milhares ou centenas de milhares) arquivos pequenos. Ele também possui uma boa performance com arquivos grandes, o que o torna adequado para vários usos.
O JFS é o sistema de arquivo com journaling desenvolvido e utilizado pela IBM. Antes ele era proprietário e fechado, mas a IBM decidiu abrí-lo para o movimento de software livre. Sua estrutura interna é similar a do reiserfs.
O XFS é o sistema de arquivo com journaling desenvolvido pela SGI e utilizado pelo sisema operacional Irix. Assim como o JFS, o XFS também era proprietário e fechado, até que a SGI resolveu abrí-lo para o movimento de software livre. Sua estrutura interna possui muitas funcionalidades diferentes, como suporte real-time para transferência de dados via rede, extensões e sistemas de arquivo para clusters (mas não na versão gratuita).
Tabela 4.1. Características dos Sistemas de Arquivo
Ext2 | Ext3 | ReiserFS | JFS | XFS | |
---|---|---|---|---|---|
Estabilidade | Excelente | Muito Bom | Bom | Mediano | Bom |
Ferramentas para restaurar arquivos apagados | Sim (complexo) | Sim (complexo) | Não | Não | Não |
Tempo de reinicialização após travamento | Demorado, até mesmo muito demorado | Rápido | Muito rápido | Muito rápido | Muito rápido |
Estado das informações após um travamento | Falando no geral, bom. Mas alto risco de perda total ou parcial de informações | Muito bom | Mediano[a] | Muito bom | Muito bom |
Suporte a ACL | Sim | Sim | Não | Não | Sim |
[a] é possível melhorar os
resultados na recuperação de falhas aplicando o
journaling nos dados e não apenas
nos metadados, adicionando a opção
|
O tamanho máximo de um arquivo depende de vários parâmetros (por exemplo, o tamanho de bloco no ext2/ext3), e deve desenvolver de acordo com a versão do kernel e da arquitetura.
No kernel 2.6.X o
limte do dispositivo de bloco pode ser extendido utilizando um
kernel compilado com o suporte a Large Block Device habilitado
(CONFIG_LBD=y
). Para mais informações,
consulte Adding
Support for Arbitrary File Sizes to the Single UNIX
Specification, Large File
Support in Linux, e Large
Block Devices. Com isto e um sistema de arquivo com suporte, você poderá ter muitos TB sem a necessidade de executar qualquer truque especial do sistema de arquivo, como é feito pelo JFS.
É sempre muito difícil comparar performance entre arquivos de sistema. Todos os testes possuem as suas limitações e os resultados devem ser interpretados com precaução, comparações feitas há alguns meses ou semanas atrás já são bastante velhas. Não vamos esquecer que o hardware de hoje (especialmente se tratando da capacidade de discos rígidos e performance das controladoras de disco) alavancou consideravelmente as diferenças entre os vários sistemas de arquivo.
Cada sistema oferece vantagens e desvantages. Na verdade, tudo depende de como você usa a sua máquina. Uma simples máquina para desktop ficará boa com o ext2. Para um servidor, um sistema de arquivo com journaling como o ext3 é recomendado. O reiserfs, por causa de sua concepção, é melhor se utilizado em um servidor de banco de dados. O JFS é o preferido em casos onde a transferência de dados do sistema de arquivos é o ponto principal. O XFS é interessante se você precisa de suas funcionalidades avançadas. Para uso “normal”, os quatro sistemas de arquivo dão aproximadamente o mesmo resultado e todos eles posuem opções diferentes para ajustar o sistema de arquivo para um caso particular. Verifique a documentação do sistema de arquivos para mais informações.