Você está na página 1de 13

Resumo

Os sistemas de arquivos do GNU/Linux esto evoluindo juntamente com o kernel e outros


subsistemas de forma constante. Melhorias so introduzidas em todos os formatos de sistemas
suportados pelo GNU/Linux para torn-los mais seguros, rpidos e estveis.
Dentre os mais de 20 sistemas de arquivos suportados pelo GNU/Linux, se destacam o EXT3 e o
ReiserFS. Diversas distribuies do GNU/Linux como Conectiva, Kurumin, SuSE, Fedora, Gentoo,
Linspire, Slackware e Debian utilizam esses sistemas como sistema de arquivos padro na
instalao.
Este artigo apresenta uma descrio das caractersticas funcionais e estruturais de cada sistema, bem
como um comparativo dessas propriedades. O entendimento dessas caractersticas essencial para a
escolha entre um ou outro formato por um administrador de sistemas GNU/Linux que tenha a tarefa
de configurar um sistema de arquivos ou montar parties com finalidades especficas.
Palavras-chave: Sistema de arquivos, Journaling, rvores balanceadas, inode.

Introduo
por meio de um sistema de arquivos que ocorre a gravao e a recuperao dos dados em um
dispositivo de armazenamento em um computador.
O sistema de arquivos independente do hardware e da BIOS, sendo especificado pelo software do
sistema operacional no momento da instalao do sistema ou na configurao de dispositivos de
armazenamento adicionais posteriormente instalao.
Segundo WIRZENIUS (1998), o dispositivo de armazenamento comumente usado em um
computador o disco rgido. Ele formado por pratos magnetizveis onde os dados so gravados e
recuperados por leitores eletrnicos denominados "cabeas" de leitura e gravao. O disco possui
vrios desses pratos giratrios. Cada face do prato possui uma cabea de leitura e gravao
exclusiva. O disco possui tambm uma geometria lgica que permite ao computador gravar e
recuperar dados nessa estrutura fsica.
Uma vez que o sistema operacional precisa conhecer essa geometria do sistema, necessrio
submeter o disco a um processo denominado formatao lgica para gravar uma estrutura de
sistema de arquivos nele.
Assim, o disco possui uma formatao determinada por um sistema de arquivos. Esse formato
especifica o modo como os arquivos so gravados e recuperados, alm de outros detalhes tcnicos
sobre os mesmos.

Formatao lgica de dispositivos


Aps a instalao fsica do dispositivo no computador, uma formatao lgica efetuada nesse
dispositivo, determinando a maneira que os dados so gravados e recuperados e as propriedades
desses conjuntos de dados.
Essas opes esto relacionadas segurana de acesso e metadados, tais como: tamanho em bytes,
hora de criao e modificao, tipo do arquivo e diversas outras propriedades que qualificam um
arquivo.

Segundo WIRZENIUS (1998), durante a formatao pode-se encontrar blocos ruins no disco,
chamados de blocos defeituosos (bad blocks) ou setores defeituosos (bad sectors). Esses blocos
defeituosos so marcados pelo sistema operacional como no utilizveis. A presena de muitos
blocos defeituosos indica a possibilidade de falha no dispositivo e recomenda-se sua troca.
No GNU/Linux a formatao pode ser realizada pelo utilitrio mkfs (make file system). Esse
comando constri um sistema de arquivos do tipo especificado pelo administrador e que seja
suportado pelo GNU/Linux. Caso o tipo no seja especificado usado o EXT2. A sintaxe para o
comando :
mkfs -t <type> /dev/<dispositivo>
Onde <type> um tipo de sistema de arquivos vlido e <dispositivo> a partio que se deseja
formatar. Por exemplo:
# mkfs -t ext3 /dev/hda3
Criar uma partio do tipo EXT3 na terceira partio primria (a3) de um disco tipo IDE (hd). O
processo de formatao apaga de modo irremedivel os dados, caso existam, em uma partio. Isso
ocorre porque uma nova estrutura lgica gravada no disco para a partio destruindo a existente.
Observa-se que o disco rgido normalmente subdividido em regies independentes denominadas
parties.

parties
As parties em disco recebem denominaes distintas entre si (hda1, hda2 e assim por diante, at
63 parties para dispositivos IDE. Para dispositivos SCSI, sda1, sda2 e assim por diante at 15
parties) e cada uma pode ser formatada com um tipo de sistema de arquivos diferente dentre os
reconhecidos pelo GNU/Linux. Deste modo, comum coexistir, em um mesmo disco, vrias
parties com diferentes sistemas de arquivos para atender tanto s necessidades dos usurios
quanto s do prprio sistema GNU/Linux, no que se refere s parties swap.
As parties funcionam de modo similar ao disco rgido avulso. Cada uma possui suas estruturas e
registros de dados e metadados independentes das outras. O esquema de particionamento no
definido pelo hardware ou pela BIOS, sendo uma conveno do sistema operacional.
Assim, a convivncia entre sistemas operacionais em parties no mesmo dispositivo de
armazenamento depende do modo como os sistemas operacionais executam a instalao de seus
sistemas de arquivos. O utilitrio que cria as parties chamado particionador. Existem diversos
particionadores no GNU/Linux. Dois dos mais comuns so o cfdisk e o fdisk.

sistemas de arquivos
Os dados so organizados em estruturas, que os armazenam digitalmente de modo que possam ser
lidos por um computador. Essas estruturas so chamadas de arquivos.
Os arquivos so armazenados, no sistema de arquivos, em diretrios que so uma subdiviso lgica
e que funcionam como repositrios de arquivos ou de outros diretrios.

O conjunto de diretrios e arquivos forma um sistema de arquivos raz, ou "rvore" de diretrios,


que no GNU/Linux deve seguir um padro estabelecido. Segundo RIBEIRO (2004), o sistema de
arquivos hierrquico e admite que diversos dispositivos sejam mapeados e utilizados a partir do
diretrio raz (root). Para o usurio toda essa estrutura vista de forma nica.
A denominao "sistema de arquivos" tambm usada para se referir ao formato lgico que dado
ao dispositivo de armazenamento, pelo sistema operacional, no momento da formatao. O sistema
de arquivos que define o modo como os arquivos so estruturados, nomeados, acessados,
utilizados, protegidos e manipulados pelo sistema operacional.
Segundo NEMETH et al (2004), o GNU/Linux suporta diversos formatos de sistemas de arquivos
atravs de uma camada modular introduzida no kernel denominada VFS (Virtual File System).
Dentre os sistemas de arquivos suportados pelo GNU/Linux esto os sistemas EXT3 e ReiserFS,
que apresentam excelentes tempos de resposta em suas tarefas e possuem recursos avanados de
recuperao de dados em casos de desastres e falhas.
Essa caracterstica de recuperao chamada de "journaling" (registro de aes). Sistemas que no
possuem "journal" so mais suscetveis s falhas e perdas de dados. Alm disso, em caso de parada
do sistema ou falta de energia, o tempo necessrio para retomar as operaes elevado, j que uma
verificao de integridade realizada em cada arquivo do sistema. Nas parties que possuem
milhares de arquivos essa verificao pode levar horas.
Os sistemas de arquivos com suporte a "journal" so recomendados por aumentarem a
disponibilidade (High Availability - HA) em servidores GNU/Linux. A alta disponibilidade
medida pelo tempo em que o servidor se encontra fora de servio por falhas no sistema operacional
ou no hardware.
Quanto menor o tempo em que o sistema estiver indisponvel, maior o ndice de disponibilidade,
medido em uma escala de casas decimais que tende a se aproximar de 100%, conforme Tabela 1.

O sistema de arquivos EXT3


<!-google_ad_client = "pub-3535276187000580";
/* 336x280 artigo esquerda verde */
google_ad_slot = "3144198977";
google_ad_width = 336;
google_ad_height = 280;
//-->google_protectAndRun("ads_core.google_render_ad", google_handleError,
google_render_ad);O sistema de arquivos EXT3 uma evoluo do sistema de arquivos EXT2, que

foi originalmente desenvolvido por Stephen Tweedie, Rmy Card e Theodore Ts'o e outros para a
Red Hat.
O EXT3 possui uma vantagem significativa sobre todos os outros sistemas atuais, que a sua total
compatibilidade com o sistema de arquivos EXT2. O EXT3 praticamente um EXT2 acrescido das
propriedades de "journal". Conseqentemente, pode empregar todas as aplicaes existentes
desenvolvidas para manipular o sistema de arquivos EXT2, bem como permitir uma migrao para
EXT3 sem grande esforo.
O EXT2 tem sido o sistema de arquivos mais popular para o GNU/Linux at o momento. Essa
ampla base de usurios faz parecer que o EXT2 o sistema de arquivos padro do GNU/Linux. Tal
afirmao no de todo correta, j que o GNU/Linux reconhece os sistemas de arquivos atravs de
uma funcionalidade incorporada ao kernel denominada VFS (Virtual File System). No existe
realmente um sistema de arquivos considerado padro e sim o mais adotado pelos usurios.
Deste modo, o GNU/Linux pode reconhecer mais de vinte sistemas de arquivos em diferentes nveis
de funcionalidade. Entre eles esto alguns que so proprietrios e outros que so populares em
diversas plataformas. Parte dessas caractersticas ainda experimenta,l no estando totalmente
funcionais. O padro EXT3 pode ser assim compreendido, conforme NEMETH et al (2004):
Os dados do arquivo so armazenados em unidades chamadas 'blocos'. Estes blocos podem ser
numerados seqencialmente. Um arquivo tambm tem um inode. Como os blocos, os inodes so
numerados seqencialmente, embora tenham uma seqncia diferente. Uma entrada de diretrio
consiste do nome do arquivo e um nmero de inode. O inode tambm armazena o local dos blocos
de dados, como se segue e conforme Figura 1:
Os nmeros dos blocos dos primeiros 12 blocos de dados esto armazenados diretamente no
inode. Estes s vezes so chamados de blocos diretos.
O inode contm o nmero do bloco de um bloco indireto. Um bloco indireto contm os
nmeros de blocos de 256 blocos de dados adicionais.
O inode contm o nmero do bloco de um bloco duplamente indireto. Um bloco duplamente
indireto contm os nmeros de blocos de 256 blocos indiretos adicionais.
O inode contm o nmero do bloco de um bloco trs vezes indireto. Um bloco trs vezes
indireto contm os nmeros de blocos de 256 blocos duplamente indiretos adicionais.

Fonte da Figura 1: Disponvel em:


http://home.fhtwberlin.de/~s0503881/ext2_whatis.html.
"Um sistema de arquivos do tipo EXT3 consiste de cinco componentes estruturais:

Clulas de armazenamento inode;


Superblocos distribudos;
Mapa de blocos no sistema de arquivos;
Resumo de emprego de blocos;
Conjunto de blocos de dados.

Cada partio de sistema de arquivos dividida em grupos de blocos. Estruturas como tabelas de
inode so alocadas entre os grupos de blocos para que os blocos que so acessados juntos possam
ser armazenados prximos uns dos outros no disco. Esse agrupamento aumenta a velocidade de
acesso ao arquivo e reduz o tempo de procura por blocos do mesmo arquivo. Inodes so entradas de
tabelas de comprimento fixo, cada uma das quais armazenam informaes sobre um arquivo
existente no sistema de arquivos." (NEMETH, et al, 2004, p. 106).
Os inodes so criados no momento da formatao lgica do dispositivo. Desta forma possvel
redimensionar o nmero de inodes de acordo com a capacidade do dispositivo e o tipo e tamanho de
arquivos que sero nele armazenados. Isso evita a falta de inodes que poderia provocar uma parada
de sistema. Para determinar o tamanho do inode no momento da formatao usado o comando
mke2fs com opo -i bytes-por-inodes.
Observe que este ajuste feito na criao da partio, no sendo possvel redimensionar o nmero
de inodes aps a formatao inicial. A forma de disponibilizar inodes em um dispositivo
removendo arquivos que ocupam muitas entradas nas tabelas de blocos ou movendo-os para outros
dispositivos.
Um superbloco um registro que descreve as caractersticas do sistema de arquivos conforme
Figura 2. Ele contm informaes sobre:

Comprimento de um bloco de disco;


Tamanho e localizao das tabelas de inodes;
Mapa de blocos de disco e informaes sobre utilizao;
Tamanho dos grupos de blocos;
e outros parmetros importantes para o sistema de arquivos.

Vrias cpias do superbloco so gravadas em reas diferentes do disco, (no incio de cada grupo de
bloco) prevenindo desse modo perdas de informaes essenciais para o sistema de arquivos.

Fonte: Internet em:


http://home.fhtw-berlin.de/~s0503881/ext2_whatis.html
O GNU/Linux mantm para cada sistema de arquivos montado uma cpia do superbloco em
memria RAM. A chamada de sistema "sync" despeja os dados sobre os superblocos que esto
armazenados em memria cache para seus locais em disco, sincronizando as informaes sobre o
sistema de arquivos. Essa sincronizao torna o sistema de arquivos consistente em um tempo

extremamente pequeno. Esse salvamento ou sincronizao ocorre em intervalos constantes de trinta


segundos para sistemas EXT2 e a cada 5 segundos para EXT3, reduzindo, ainda mais, as falhas em
servidores com intensas atividades de gravao de arquivos.
So descarregados tanto inodes modificados quanto blocos de dados armazenados em cache. O
comando "update" executado no boot aciona o daemon bdflush, que executa uma sincronizao
nesse intervalo de tempo.
Um mapa de blocos do disco uma tabela de blocos livres que o disco contm. No momento da
gravao de arquivos novos esse mapa verificado de modo que uma disposio eficiente seja
utilizada. Os resumos de empregos de blocos registram informaes bsicas sobre os blocos que j
se encontram em uso. (NEMETH, et al, 2004, p. 106).
At esse ponto os sistemas EXT3 e EXT2 so totalmente iguais.
Essa estrutura que se utiliza de dados e metadados bastante eficiente em termos de velocidade de
tempo de acesso e permite armazenar um grande nmero de arquivos em tamanhos diversos.
Contudo, o problema nessa abordagem a baixa tolerncia s falhas apresentada pelo EXT2.
Na ocorrncia de falta de energia eltrica, por exemplo, podem surgir inconsistncias entre os dados
e os metadados. Nesse caso, uma regio do disco poderia estar ocupada com dados sem que os
metadados relacionados estivessem devidamente registrados apontando esse fato. Deste modo, uma
perda de dados ir ocorrer no sistema de arquivos com a sobreposio dos dados por outros.
No caso de falhas ou interrupes bruscas do sistema eltrico, por exemplo, um utilitrio chamado
fsck (filesystem consistency check) utilizado para restaurar a consistncia do sistema de arquivos.
Esse utilitrio confivel e apresenta um trabalho de recuperao bastante eficiente na verificao
de erros e da consistncia do sistema.
Os danos mais comuns averiguados pelo fsck em sua verificao so:

Inodes no referenciados;
Contagem de links exagerada;
Blocos de dados no utilizados e no registrados nos mapas de blocos;
Blocos de dados listados como livres e que so usados num arquivo;
Informaes de resumo incompletas no superbloco.

Esses cinco problemas so corrigidos de maneira segura e automtica. O utilitrio tambm capaz
de analisar erros e solicitar a interveno do operador como nos casos de:

Blocos reivindicados por mais de um arquivo;


Blocos reivindicados fora do intervalo do sistema de arquivos;
Contagem de links muito pequenos;
Blocos no contabilizados;
Diretrios que se referem aos inodes no alocados;
Variados erros de formato. (NEMETH, et al ,2004, p. 109 e 110).

Corrigir um sistema de arquivos manualmente uma tarefa complexa que exige do administrador
conhecimentos sobre a estrutura e o funcionamento interno do sistema de arquivos. Alteraes
introduzidas nessa tentativa de recuperao que sejam indevidas podem danificar permanentemente
o acesso aos dados.

Caso fsck localize um arquivo cujo diretrio "pai" no pode ser encontrado, esse arquivo ser salvo
no diretrio lost+found no nvel mais alto do sistema de arquivos. Uma vez que os nomes dos
arquivos so registrados somente em seus diretrios "pais", no possvel referenciar-se a esses
arquivos por seus nomes. Os arquivos salvos nessa pasta tero como nomes seus nmeros de inode.
A introduo do "journal" em sistemas EXT3 modifica essa abordagem de recuperao de sistemas
de arquivos e reduz o tempo de parada do sistema para valores muito baixos, introduzindo uma
confiabilidade muito superior ao servidor. Na instalao do sistema de arquivos, uma rea
reservada para a alocao do "journal" ou "log".
Segundo NEMETH, et al (2004), as operaes efetuadas nos arquivos so registradas nessa rea de
log do mesmo modo que o controle de transaes em bancos de dados. As operaes so
primeiramente gravadas no journal. Quando a atualizao do registro de aes (log) completada,
um registro de complemento (commit record) gravado sinalizando o final da entrada. Ento, as
mudanas so efetivamente gravadas em disco no sistema de arquivos normal.
Uma falha nesse ponto permite, atravs da consulta ao journal, a reconstruo das operaes ainda
no concludas e a rpida recuperao do sistema. Aps a gravao em disco no sistema de
arquivos, um marcador confirma a operao e descarta o log, j que a operao foi corretamente
confirmada.
O EXT3 passou a ser suportado pelo kernel do Linux a partir da verso 2.4. Conseqentemente,
todas as distribuies Linux lanadas com esse kernel ou superior tm suporte padro para EXT3.
De acordo com INFOWESTER (2004), no EXT3, o cdigo de Journaling usa uma camada chamada
"Journaling Block Device" (mdulo JBD). A JBD foi criada com o propsito de implantar o suporte
ao Journal em qualquer tipo de dispositivo com base em blocos de dados. Por exemplo, o cdigo
EXT3 informa e "pede autorizao" JBD para efetuar as mudanas antes de modificar/adicionar
qualquer dado no disco. Sendo assim, o JBD que verdadeiramente "gerencia" o Journal. Portanto,
ele uma dependncia de mdulo para o correto funcionamento do EXT3 juntamente com o
mdulo mbcache, que introduz uma camada cache para os metablocos melhorando o desempenho
do sistema.
O JBD funciona como uma entidade independente permitindo que no s o EXT3 a use, mas,
tambm, outros sistemas de arquivos. A JBD utiliza um mtodo diferente de outros Journalings para
recuperao de informaes. Ao invs de armazenar as informaes em bytes que depois devem ser
gravados, a JBD grava os prprios blocos modificados do sistema de arquivos. Assim, o EXT3
tambm armazena "rplicas" completas dos blocos modificados em memria para rastrear as
operaes que ficaram pendentes. A desvantagem desta forma de trabalho que o Journal acaba
sendo maior.
No entanto, o EXT3 no precisa lidar com a complexidade dos Journalings que trabalham gravando
bytes. Ele suporta trs diferentes modos de trabalho do Journaling, de acordo com NEMETH, et al
(2004) e INFOWESTER (2004):
Journaling (Registro de aes): grava todas as mudanas em sistema de arquivos e usa um
arquivo de registros de aes maior. Isso pode retardar a recuperao durante a
reinicializao. o mais lento dos trs modos, sendo o que possui maior capacidade de
evitar perdas de dados. Uma forma de aperfeioar a velocidade dessa opo gravar os
registros em bancos de dados externos.
Ordered (Ordenado): grava somente mudanas em arquivos metadados (arquivos que
possuem informaes sobre outros arquivos), mas registra as atualizaes no arquivo de
dados antes de fazer as mudanas associadas ao sistema de arquivos. Este Journaling o

padro nos sistemas de arquivos EXT3 sendo a melhor opo para a maioria dos sistemas.
Writeback: tambm s grava mudanas para o sistema de arquivo em metadados, mas utiliza
o processo de escrita do sistema de arquivos em uso para gravao. o mais rpido
Journaling EXT3, porm o menos confivel e mais suscetvel corrupo de arquivos aps
uma queda do sistema. Esse modo equivalente instalao de um sistema com EXT2
nativo.
O modo Ordered o padro no EXT3, mas possvel especificar qual o modo que se deseja usar
atravs da modificao no arquivo /etc/fstab do parmetro data="mode", onde "mode" pode ser
igual a ordered, writeback ou journal. Por exemplo, uma entrada no /etc/fstab, usando o modo
journal como padro:
/dev/hda5 /etc ext3 data=journal defaults 1 1
Devido compatibilidade entre o sistema EXT2 e seu sucessor EXT3, possvel realizar uma
migrao apenas incluindo a rea destinada ao registro das aes. O utilitrio que faz essa
configurao o tune2fs com opo -j.
Por mais que seja segura a migrao, imprescindvel efetuar cpia de segurana antes do
procedimento e garantir que nenhum usurio obtenha acesso ao sistema nesse momento para evitar
perdas dos dados. Por exemplo, para migrar uma partio EXT2 em /dev/hda3 para EXT3 usa-se:
# tune2fs -j /dev/hda3
Aps a concluso do comando necessrio alterar o tipo de partio no /etc/fstab para que esta seja
corretamente montada. possvel montar uma partio EXT3 como EXT2, porm, isso no
recomendvel, pois pode causar danos inesperados aos dados.

O sistema de arquivos ReiserFS


<!-google_ad_client = "pub-3535276187000580";
/* 336x280 artigo direita verde */
google_ad_slot = "2913193654";
google_ad_width = 336;
google_ad_height = 280;
//-->google_protectAndRun("ads_core.google_render_ad", google_handleError,
google_render_ad);Um modo de se organizar os dados no formato de rvores. Quando
organizamos a informao em um computador, a classificamos tipicamente em pilhas (chamadas de
ns ou nodes), e h um nome (ponteiro) para cada pilha. Esse ponteiro usado para encontrar a
pilha. Alguns dos ns podem conter ponteiros atravs dos quais podemos localizar outros ponteiros
para outros ns.
Uma rvore uma estrutura organizada que tem algumas propriedades teis para essa finalidade
conforme Figura 3.
Assim define-se, segundo Namesys (2004), uma rvore como:
1. Um conjunto de ns organizados em um n raiz (Root node), e zero ou mais conjuntos adicionais
de ns chamados sub-rvores.
2. Cada sub-rvore uma rvore.

3. Nenhum n na rvore aponta ao n raiz, e h exatamente um ponteiro de n na rvore que aponta


para cada n da rvore que no seja o n raiz.
4. O n raiz tem um ponteiro para cada uma das sub-rvores, isto , um ponteiro para o n raiz da
sub-rvore.

Fonte: Disponvel em http://www.namesys.com


As rvores balanceadas ("balanced tree") (B*) usadas pelo ReiserFS para organizar o sistema de
arquivos so uma verso melhorada de rvores B+, onde no existe uma rvore diferente para cada
diretrio e sim, cada qual possui uma sub-rvore da principal.
O ReiserFS um sistema de arquivos com suporte a "journaling" concebido por Hans Reiser e
mantido pela empresa The Naming System Venture . So seus patrocinadores as empresas SuSE e
Linspire. O ReiserFS j o sistema de arquivos padro nas distribuies GNU/Linux da SuSE,
Gentoo e Linspire.
O ReiserFS uma camada semntica com mtodos e funes que so referenciados para executar
tarefas no sistema de arquivos fazendo o uso de plug-ins que evocam chamadas de sistema para
esses mtodos e funes.
Esse mtodo de acesso trata toda a partio como se fosse uma nica tabela de banco de dados
contendo diretrios, arquivos e metadados dentro de uma mesma rvore. A implantao dessa
caracterstica exigiu que tcnicas mais complexas de indexao fossem implementadas no ReiserFS,
tornando mais eficientes seus tempos de resposta comparados aos de outros sistemas. ReiserFS usa
uma rvore finita (o nmero de ns limitado).
Outro termo importante para a definio de rvores o termo Edge. Diferentemente de um ponteiro
que unidirecional, o Edge bidirecional, ou seja, pode ser seguido de um n a outro e desse para
seu antecessor. Ento se pode dizer que Edge no ponteiro.
Atribumos a tudo que est armazenado na rvore uma chave. A pesquisa de localizao se d por
meio das chaves. O uso das chaves nos d uma flexibilidade adicional para classificao da
informao, se essas chaves forem pequenas elas nos do um modo compacto de especificar como
encontrar as informaes. Isto tambm limita o tipo de informao que podemos usar como uma
chave.
Este limite restringe sua utilidade, e assim tem-se uma camada de armazenamento, que encontra
dados por chaves, e uma camada semntica, que tem um sistema de nomes rico.

A busca por chaves, ento, agiliza a pesquisa em rvores, mas limita o tipo de chaves que podemos
trabalhar.
O ReiserFS possui suporte a arquivos maiores que 2GB.
ReiserFS usa rvores balanceadas para tornar o processo de busca de arquivos, informaes sobre
segurana e outros metadados mais eficientes. Para arquivos muito pequenos, seus dados podem ser
armazenados prximos aos metadados, ento, ambos podem ser recuperados com um pequeno
movimento do mecanismo da "cabea" de leitura do disco. Essa propriedade vai contribuir para um
melhor desempenho caso uma aplicao necessite abrir muitos arquivos pequenos rapidamente.
Outra grande vantagem do ReiserFS a alocao dinmica de inodes, j que esse sistema de
arquivos no os aloca em espaos fixos ou blocos e sim, aloca o tamanho exato que o arquivo
precisa. Em sistemas baseados em inodes fixos, como o EXT3, o espao no disco alocado em
blocos que variam de 512 a 4096 bytes ou at maior, caso o arquivo exceda um mltiplo exato do
tamanho do bloco.
A leitura e escrita de arquivos grandes so limitadas pela velocidade do dispositivo de
armazenamento e pelo canal de entrada e sada da controladora de discos. J o acesso a arquivos
pequenos, como scripts do Shell, limitado pela eficincia do projeto do sistema de arquivos. A
razo disso que a abertura de um arquivo requer a leitura dos metadados sobre ele que esto
armazenados no inode do diretrio em uma rea distinta dos dados. Aps localizar a entrada
referente ao arquivo no diretrio que o sistema realiza a leitura dos setores que contm os dados.
Alm disso, o sistema precisa examinar os metadados relativos segurana para verificar se o
usurio tem permisso de acesso ao arquivo, isso significa leituras adicionais. O sistema pode gastar
mais tempo decidindo entre permitir o acesso e localizar as entradas de dados do que se as buscasse
dentro do prprio arquivo. Entre o EXT3 e o ReiserFS, a principal diferena que o EXT3 tenta
guardar informaes tanto sobre o metadados, ou seja, as informaes sobre o espao ocupado pelos
arquivos e suas permisses quanto sobre os dados em si, enquanto o ReiserFS guarda apenas
informaes sobre os metadados.
Para completar, o ReiserFS rpido. Seu ganho de velocidade em relao a outros sistemas de
arquivos varia de acordo com cada operao em disco. Em quase todas as operaes ele mais
rpido, e em algumas no. No incomum algum utilizar o ReiserFS com milhares de arquivos no
mesmo diretrio, uma tarefa para a qual o ReiserFS especialmente adaptado.
Seu uso de funes hash e rvores balanceadas, ao invs de seqncias infindveis de inodes tornam
a procura de um arquivo em uma dezena ou em uma grande quantidade uma operao bem rpida.
No caso de um desligamento incorreto do sistema, o ReiserFS capaz de recuperar a consistncia
do sistema de arquivos em fraes de segundo e a possibilidade de perda de pastas ou parties
nula. Em compensao, os arquivos que eventualmente estiverem sendo gravados no exato
momento em que acabou a energia ficaro com seus dados alterados. Voc continuar tendo acesso
aos arquivos normalmente, mas o contedo estar truncado ou incompleto.
J o EXT3 tenta sempre preservar no s o metadados, mas tambm os dados dos arquivos em si.
Isto se revela ao mesmo tempo uma fora e uma fraqueza. A vantagem que existe uma
possibilidade maior de recuperar os arquivos que estiverem sendo gravados no exato momento em
que acabar a energia. Por outro lado o journal guarda mais informaes e acessado mais
freqentemente, o que causa degradao no desempenho ( justamente por isso que o ReiserFS

costuma se sair melhor nos benchmarks) e ao mesmo tempo faz com que exista a possibilidade do
prprio journal se corromper durante o desligamento.
Apesar de ser muito difcil a corrupo do sistema ReiserFS, tambm pode acontecer. Porm o
gerenciamento de setores defeituosos do sistema de arquivos ReiserFS simples de ser realizado j
que as ferramentas para essa operao esto disponveis. Segundo Morimoto (2004), pode-se usar o
comando badblocks para fazer um exame de superfcie e mostrar uma lista com os setores
defeituosos. Para usar em conjunto com o ReiserFS, necessrio especificar o tamanho dos blocos
(em bytes). Se voc no usou nenhuma opo especial ao formatar a partio, os blocos tero 4096
bytes. O comando para verificar a partio /dev/hda1, por exemplo, fica:
# badblocks -b 4096 /dev/hda1
Ainda segundo Morimoto (2004), o ReiserFS capaz de marcar, via software, setores defeituosos
que for encontrando. Isso feito automaticamente, assim como no NTFS do Windows XP. S
preciso marcar setores defeituosos manualmente em sistemas de arquivos antigos, como o FAT32 e
o EXT2.
Para ver se existem setores defeituosos na partio, marcados via software, execute o comando:
# debugreiserfs /dev/hda1
Caso exista algum erro no sistema de arquivos, causados por desligamentos incorretos, por
exemplo, voc pode corrigir com o comando:
# reiserfsck /dev/hda1
O ReiserFS um sistema de arquivos relativamente novo, mas que conta com o patrocnio de
grandes empresas. Apesar de ainda estar em desenvolvimento, seu uso em servidores de produo j
uma realidade. Dadas as caractersticas do sistema tem se mostrado como uma soluo a mais
para os usurios do sistema GNU/Linux.

Concluses
Em sistemas EXT2 sem journal as falhas e erros so corrigidos com o utilitrio fsck. Apesar dos
resultados satisfatrios de correo e recuperao desse utilitrio, em sistemas de alta
disponibilidade o tempo gasto para solucionar inconsistncias um transtorno. H uma demora para
concluir a checagem, j que todos os arquivos so analisados por referncias cruzadas. Essa
abordagem somente funciona bem para inconsistncias comuns.
Conclui-se desta forma que o uso de um sistema de arquivos sem journal atualmente inaceitvel
para os padres de disponibilidade e principalmente em relao questo de segurana dos dados.
A abordagem dos sistemas com "journal" economiza bastante tempo e contribui para melhorar o
ndice de disponibilidade de sistemas crticos que no podem ficar indisponveis por muito tempo.
Essa caracterstica atendida satisfatoriamente tanto pelo EXT3 quanto pelo ReiserFS.
No quesito velocidade de acesso rvore de diretrios, o ReiserFS mais rpido que o EXT3
devido aos algoritmos otimizados. Conforme PISZCZ (2004) em seus testes comparativos.
Uma das vantagens do ReiserFS sobre o EXT3 o seu desempenho para lidar com parties que
possuem um grande nmero de arquivos pequenos. Esses arquivos so lidos em apenas uma

operao de entrada/sada do disco rgido, sendo esse sistema ideal para esse tipo de aplicao. Isso
deve ser levado em conta pelo administrador de sistemas.
Mesmo com as caractersticas e funcionalidades avanadas do ReiserFS, tais como rvores
balanceadas, velocidade de acesso e melhor desempenho com operaes de entrada e sada em
disco, esse sistema ainda no se encontra em um estgio avanado de desenvolvimento. Isso faz
com que o EXT3 ainda seja uma boa opo para servidores de produo, j que possvel realizar a
migrao para o EXT3 com relativa facilidade, evitando-se a reinstalao de sistemas.
O ReiserFS tende a superar o EXT3 aps a implementao de novas caractersticas na verso
Reiser4.
A escolha entre o uso do sistema EXT3 ou do ReiserFS deve ser uma deciso prpria do
administrador, visto que o desempenho de ambos os sistemas bastante prximo e especfico para
cada caso de uso.

Referncias bibliogrficas
BARBOSA, Jorge L. V. Artigo. Disponvel em
http://atlas.ucpel.tche.br/~barbosa/consiso/consiso9/so/sites/s15/reiserfs.htm
Acesso em Novembro de 2004.
BARION, Ettore F. R. - Dicas Unicamp - Disponvel em
http://www.dicas-l.unicamp.br/dicas-l/20010517.shtml
Acesso em Novembro de 2004.
BREVIGLIERI, Rafael Leandro. Sistemas de arquivos. Disponvel em
http://www.slackware-brasil.com.br/.../artigo_completo.php?aid=108
Acesso em Novembro de 2004.
CRANE, Aaron. HowTo-Sistemas de arquivos. Disponvel em
http://br.tldp.org/projetos/howto/.../ext2fs-undeletions.pt_BR-606.html
Acesso em Novembro de 2004.
EQUIPE P&D em H.A Conectiva - Primeiros passos HA mini-Howto - Disponvel em
http://ha.underlinux.com.br/doc/heartbeat-0.4.8e-doc/Primeiros_Passos_HA _miniHOWTO.txt
Acesso em Novembro de 2004.
INFOWESTER. Sistema de Arquivo EXT3. Disponvel em
http://www.infowester.com/linext3.php
Acesso em Novembro de 2004.
MORIMOTO, Carlos E. Dicas. Disponvel em
http://www.guiadohardware.net/linux/dicas/36.htm
NAMESYS. Conceitos, Definies sobre rvores balanceadas e o ReiserFS. Site oficial do
ReiserFS disponvel em http://www.namesys.com.
NEMETH, Evi, et al. Manual Completo do Linux - Guia do Administrador. Traduo de Ariovaldo
Griesi. So Paulo: Makron Books, 2004.
PISZCZ, Justin. Teste comparativo entre sistemas de arquivos com journal. Traduo de Bruno

Bellantuono. Disponvel em
http://www.pczone.com.br/html/modules.php?name=News&file=article&sid=126
Acesso em Novembro de 2004.
RIBEIRO, Uir. Certificao Linux. Rio de Janeiro: Axcel Books, 2004.
SILVA, Gleydson Mazioli da. Guia FOCA GNU/Linux. Verso 5.44. Disponvel em
http://www.cipsga.org.br. Acesso em Agosto de 2004.
WIRZENIUS, Lars, et al. Guia do Administrador de Sistemas Linux. Traduo de Conectiva
Informtica. So Paulo: Conectiva, 1998.