Por Jackson Laskoski
falecom@jack.eti.br
A pedidos estou republicando este texto que escrevi em 03/12/2002. Embora um tanto quanto defasado, conceitualmente, a nível de conhecimento o artigo ainda tem sua valia. Trata-se de uma breve discussão acerca de 3 dos principais sistemas de arquivos utilizados no Linux e suas principais diferenças. Boa leitura!
Muitas são as dúvidas a cerca do tipo de sistema de arquivos ideal a ser usado nas partições Linux (nativas). Isso ocorre porque atualmente temos várias opções, sem falar que o Linux suporta uma infinidade de outros sistemas de arquivos que não os nativos (FAT 16/32, AIX, NETWARE, et..). Antes de mais nada faz-se necessário conceitualizarmos o que vem a ser um sistema de arquivos para um dado sistema operacional: Sistema de arquivos é a maneira como um disco (partições) é formatado e organiza seu conteúdo (arquivos). No caso do sistema operacinal Linux, são três os tipos de sistemas de arquivos nativos com mais evidênica: o Ext2, o Ext3 e o ReiserFS.
O sistema de arquivos Ext2 é o mais conhecido, afinal nasceu praticamente junto com o próprio Linux. É usado em distribuições baseadas no kernel série 2.2.X e sem sombra de dúvidas é o mais rápido (em termos de operações de escrita/leitura) das três opções. Isso ocorre porque o Ext2 não é baseado no recurso de Journaling, que faz com que o sistema de arquivos em questão mantenha um journal (um log) onde são armazenadas todas as mudanças feitas em arquivos do disco. A ausência deste recurso torna o Ext2 mais rápido em operações cotidianas dentro do sistema operacional, afinal de contas, não existe a aparente “perda” de tempo no geramento de um log refente a modificações nos arquivos. Em contrapartida, a cada desligamento incorreto do sistema (queda de energia, desligamento acidental) o sistema de arquivos Ext2 encarrega-se de passar um FSCK (uma espécie de scandisk do Linux) em toda a partição, o que acarreta uma enorme perda de tempo (imagine uma partição de 15 GB lotada de arquivos), além de ser sucetível a perda de arquivos, talvez mais do que partições FAT 16/32 usadas no Windows.
O ReiserFS, por sua vez, trabalha com o conceito de Journaling. Contudo armazena em log apenas informações metadata, ou seja, informações referentes ao tamanho (espaço ocupado) do arquivo e suas permissões. É mais rápido que o Ext3 e mais lento (obviamente) que o Ext2. No caso de um desligamento incorreto é possível localizar todas as operações que não haviam sido completadas, restaurando a consistência do sistema de arquivos sem a necessidade de vascular arquivo por arquivo, como faz o scandisk do Windows ou o FSCK no Linux. Isso significa dizer que o ReiserFS consegue recuperar o sistema de arquivos em fração de segundos (caso ocorra algum sinistro) e a perda de pastas e arquivos é praticamente nula. Em compensação, os arquivos que eventualmente estiverem sendo gravados no exato momento em que acabou a energia ficarão com seus dados alterados. Você continuará tendo acesso aos arquivos normalmente, mas o conteúdo estará truncado ou incompleto. Na realidade isso pode ocorrer porque o ReiserFS não armanena as informações em si dos arquivos, apenas suas informações metadata.
O Ext3 é o sistema de arquivos mais lento (em operações normais) das três opções. Todavia, trabalha com o recurso de Journaling completo. Armazena tanto as informações metadata quanto os dados dos arquivos em si em seus logs. Isso possibilita a recuperação total de eventuais danos causados ao sistema de arquivos. É importante frisar que atualmente a grande maioria das distribuições Linux do mercado, baseadas no kernel série 2.4.X, suportam qualquer um dos três sistemas de arquivos e, sendo assim, você pode ficar bem a vontade para optar por qual opção lhe é mais agradável/viável em um determinado momento.
Pessoalmente, penso que o sistema de arquivos Ext3 (a evolução do Ext2) é a melhor opção em praticamente a totalidade dos casos. Principalmente em servidores de missão crítica, onde os dados não podem ser perdidos de jeito nenhum. Um outro dado importante a ser cogitado é que o baixo desempenho comentado aqui referente ao sistema de arquivos Ext3 é praticamente impercepível na maioria dos casos, o que não justifica a sua não adoção. Particularmente, acho que mais importante que rapidez, é a segurança – principalmente em informática 🙂
Você encontrou algum erro ortográfico ou técnico neste artigo? tem alguma sugestão, crítica ou elogio? – Então entre em contato comigo ou deixe comentários. Gracias!