Sei sulla pagina 1di 12

5

1 INTRODUO

Este trabalho visa apresentar um estudo detalhado sobre o Sistema de
Arquivos (File System) ReiserFS que foi desenvolvido inicialmente por Hans Reiser
e que atualmente est sendo patrocinado pela empresa/distribuio alem do
sistema operacional livre Linux; SuSE e sendo mantido pela empresa NameSys.


2 DESENVOLVIMENTO

2.1 OBJETIVO

Buscamos apresentar ao leitor, de forma simples e objetiva, informaes
como caractersticas, testes de uso, vantagens e desvantagens de se utilizar o
Sistema de Arquivos ReiserFS nas parties de um disco rgido (winchester, HD)
instalado com o software sistema operacional livre Linux.

2.2 SISTEMA DE ARQUIVOS (FILE SYSTEM)

Conceito: um sistema de armazenamento de dados que tem a funo/
objetivo de fornecer ao sistema operacional uma estrutura necessria para
ler/gravar/executar arquivos. Citamos tambm que um sistema de arquivos a
parte mais visvel de um sistema de computao. Veja abaixo alguns exemplos de
sistemas de arquivos juntamente com o sistema operacional que o mesmo
suportado e tambm seu criador/desenvolvedor:

SISTEMA DE ARQUIVOS SISTEMA OPERACIONAL DESENVOLVEDOR
FAT Windows Microsoft
FAT16 Windows 95 Microsoft
FAT32 Windows 95 OSR2, 98, ME Microsoft
NTFS Windows NT, 2000, XP Microsoft
HPFS OS/2 IBM
ext2 Linux -
6
ext3 Linux Stephen Tweedie -Red Hat
ReiserFS (3.5, 3.6, 4.0) Linux Hans Reiser
XFS Linux Silicon Graphics
JFS Linux IBM


O Sistema de Arquivos criado durante a formatao de uma partio no
disco rgido (HD, winchester). Aps a formatao, toda a estrutura para
leitura/gravao/execuo de arquivos e diretrios pelo sistema operacional estar
pronta para ser utilizada. No sistema operacional livre Linux, este passo feito
durante a instalao do mesmo, onde o usurio poder escolher/optar qual tipo de
sistema de arquivos ser utilizado em cada partio do disco rgido que ele desejar
criar.
de suma importncia que o sistema de arquivos escolhido seja
consistente. Nem todos os sistemas de arquivos garantem isso. Neste trabalho
apresentaremos o sistema de arquivos ReiserFS. Este file system trabalha com o
recurso de journal - significa que todas as alteraes dos dados so antes
registradas no disco rgido para que, caso o sistema venha a falhar durante este
processo, a transao possa ser recuperada quando o sistema voltar. Isto confere
agilidade ao processo de recuperao de falhas, bem como aumenta a
confiabilidade das informaes armazenadas no disco rgido.

2.3 SISTEMAS DE ARQUIVO JORNALADOS (JOURNALING FILE SYSTEM)

Conceito: tambm conhecido como loggin, journaling um mecanismo
utilizado para garantir que as estruturas de dados de um Sistema de Arquivos
estejam sempre gravadas/armazenadas corretamente no disco rgido. Esta tcnica
foi inicialmente desenvolvida/criada para banco de dados e tem como finalidade
garantir que todos os passos de uma determinada alterao na sua estrutura
aconteam completamente ou, caso ocorra algum imprevisto, nada acontecer, pois
graas ao journaling, se mantm em LOG todas as operaes no sistema de
arquivos, caso acontea uma queda de energia eltrica (ou qualquer anormalidade
que interrompa o funcionamento do sistema), o journaling verificar o sistema de
arquivos no ponto em que estava quando houve a interrupo, evitando a demora
7
para checar todas as parties em um sistema de arquivos (que poderia levar vrios
minutos em sistemas de arquivos grandes).
Com o avano da utilizao do sistema operacional livre Linux em sua
crescente utilizao em sistemas servidores; novas caractersticas se tornaram
necessrias a ele. Uma delas o mecanismo de journaling que fornece uma rpida
e segura recuperao do sistema de arquivos aps uma falha no sistema servidor.
Caso ocorra uma situao catastrfica em um sistema de arquivos
tradicional, ou seja, que no tenha suporte ao recurso de journaling, a prxima vez
que ele for utilizado toda sua estrutura de dados deve ser cuidadosamente
verificada. Isto pode ser um processo muito lento e dependendo do tamanho do
sistema de arquivos. Embora a tcnica de journaling no proteja contra falhas no
disco e erros de programao no sistema de arquivos, as demais falhas so
passveis de correo, que consomem poucos segundos e independente do
tamanho do sistema de arquivos. Resumindo, o recurso de journaling
considerado um modo de alcanar/atingir a integridade das informaes
depois de uma falha no sistema.

2.4 VANTAGENS DOS SISTEMAS DE ARQUIVO JORNALADOS

Os sistemas de arquivos com recurso de journaling (como o ReiserFS, o
ext3 ou JFS) possuem uma srie de vantagens em relao ao sistema de arquivos
tradicional do sistema operacional Linux (o padro ext2). Talvez a mais expressiva
delas seja a possibilidade de recuperao rpida aps um desligamento incorreto do
sistema operacional (sem necessidade de interminveis minutos
rodando/executando o software aplicativo/utilitrio fsck). Com isso, os dados so
mais confiveis graas segurana que o recurso de journaling oferece aos
sistemas de arquivos que o implementam/suportam. O sistema de journaling grava
qualquer operao que ser feita no disco rgido em uma rea especial chamada
"journal", assim se acontecer algum problema durante uma operao de disco, ele
poder voltar ao estado anterior do arquivo ou finalizar a operao. O journal
acrescenta ao sistema de arquivos o suporte a alta disponibilidade e maior
tolerncia a falhas. Aps uma falha de energia, por exemplo, o journal analisado
durante a montagem do sistema de arquivos e todas as operaes que estavam
sendo feitas no disco rgido so verificadas. Dependendo do estado da operao,
8
elas podem ser desfeitas ou finalizadas. O retorno do servidor praticamente
imediato. Outra situao que pode ser evitada com inconsistncias no sistema
de arquivos do servidor aps a situao exposta acima.

2.5 O SISTEMA DE ARQUIVOS REISERFS

O sistema de arquivos ReiserFS faz parte da nova gerao de sistemas de
arquivos do sistema operacional Linux (j o sistema de arquivos padro da
distribuio SuSE Linux 8.1), sendo que seu maior benefcio o suporte a
journaling. Alm disso, o ReiserFS no utiliza blocos de tamanho fixo, mas ajusta
o tamanho de acordo com o tipo de arquivo utilizado em cada parte do disco rgido.
Arquivos com o tamanho reduzido (pequenos) resultam em blocos menores e em
uma economia considervel de espao. Como conseqncia do tamanho de
bloco dinmico, o ReiserFS muito mais rpido ao ler pequenos arquivos,
principalmente com o tamanho menor ou igual a 2KB, j que com o fim dos blocos
de 4KB os arquivos podem ficar muito mais prximos um do outro, agilizando assim
o acesso aos dados.
O uso deste sistema de arquivos comparado ao sistema de arquivos 'padro'
do Linux, ext2, na maioria dos casos, melhora o desempenho do sistema de
arquivos atravs da gravao seqencial dos dados na rea de meta-dados.
Os meta-dados so as estruturas de controle de um sistema de arquivos.
Estas estruturas so formadas pelos seguintes itens/componentes:
i-nodes;
mapa de blocos livres;
mapa de i-nodes;
diretrios, etc.
Os dados, que so as informaes realmente armazenadas nos arquivos,
no possuem um LOG (que pode ser definido como um conjunto de registros das
ocorrncias em um sistema). Portanto, em caso de falha no sistema, somente a
consistncia do sistema de arquivos garantida, podendo haver alguma perda
de dados em determinadas situaes.
O ReiserFS mantm um LOG de todas as transaes efetuadas em disco.
Este LOG armazenado/gravado no disco rgido e quando, inesperadamente,
acontece uma falha no sistema ou uma queda de energia, o LOG sempre nos
9
fornecer uma posio consistente do disco rgido, ao contrrio do sistema de
arquivos ext2 onde esta informao reside apenas na memria RAM e se perde
quando ocorrem quedas de energia, podendo ocasionar uma situao inconsistente
na(s) partio(es) no disco rgido com blocos de dados perdidos, e outros com
problemas que, infelizmente, podem no ser recuperados depois da falha no
sistema.
O modo de organizar os dados no sistema de arquivos ReiserFS atravs de
rvores (trees). Quando ns organizarmos informaes em um computador, ns as
ordenamos tipicamente em pilhas (nodos ou ns), e h um nome (ponteiro) para
cada pilha que o computador utilizar para encontrar informaes. Uma rvore pode
ser definida como um conjunto de nodos/ns organizados em um n raiz
(principal), e estes conjuntos de ns adicionais so chamado de subtrees (sub-
arvores). Veja abaixo um exemplo de uma rvore com seus ramos (twigs) e suas
folhas (leaves). As folhas so nodos/ns que no possuem filhos (children).
Uma procura comear com o n raiz (root node - nvel 4), atravessa 3 ns mais internos
(branch nodes - nivel 3), que por sua vez cria mais alguns ramos (twig nodes - nvel 2) at
terminar no nvel 1 com ns de folhas (leaf nodes) que no possuem filhos.
O que acontece com um sistema de arquivos (filesystem) que no
implementa o recurso de journaling quando h uma falha (crash) no sistema?
(exemplo: falta de energia eltrica). Existem trs cenrios:
1. se voc no tinha nenhum arquivo aberto, timo, no se preocupe;
2. se voc tinha algum arquivo texto aberto, mas no estava digitando nada,
as alteraes sero perdidas; mas o arquivo antigo estar preservado;
3. devemos nos preocupar quando ocorrer uma falha no sistema justamente
no momento em que o arquivo estava sendo digitado. Dependendo da situao,
voc perde este arquivo por completo e se voc tiver o azar da falha no sistema
10
ocorrer quando o diretrio (pasta) estava sendo atualizado, ento poderemos perder
todo este diretrio juntamente como seu contedo.
J o sistema de arquivos ReiserFS trabalha de com uma espcie de agenda
(um LOG ou um journal). A escrita ocorre em duas etapas:
1. dados sobre a futura operao de escrita so agendadas (gravadas no
journal)
2. a operao de escrita realmente realizada. Assim, se ocorrer alguma
falha na fase de "agendamento", o arquivo no atualizado, mas se mantm
intacto. Se ocorrer algum problema na fase de escrita propriamente dita, ento o
journal deve conter as informaes necessrias para completar a operao de
escrita e o disco rgido atualizado.
As parties so divises existentes no disco rgido que marcam onde se
inicia e onde termina um sistema de arquivos. Graas a estas parties, podermos
utilizar mais de um sistema operacional no mesmo disco rgido (como o Linux e o
Windows) ou dividir o disco rgido em uma ou mais partes para ser utilizado por um
nico sistema operacional. Para particionar (dividir) o disco rgido em uma ou mais
partes necessrio utilizar um programa (software) de particionamento como o
fdisk, cfdisk ou Disk Druid (ambos para o sistema operacional livre Linux). Aps
criada e formatada, a partio ser identificada como um dispositivo no diretrio
'/dev' que dever ser "montada" para permitir seu uso no Linux. Uma determinada
partio no interfere em outras parties existentes.
Para utilizarmos o sistema de arquivos ReiserFS, devemos checar se o
kernel linux ( ncleo do sistema operacional livre Linux) possui o suporte
habilitado (na guia File Systems) ao ReiserFS e, logo aps, instalar o software
reiserfsprogs que contm os utilitrios para gerenciar parties ReiserFS.

2.6 VANTAGENS E CARACTERSTICAS DO SISTEMA DE ARQUIVOS REISERFS

As principais caractersticas e vantagens do sistema de arquivos ReiserFS,
alm de fornecer o recurso de journaling, so:
BOOT (processo de inicializao do sistema) muito mais rpido pois verifica
se no disco rgido apenas o que apontado pelo "journal file".

Implementa o tamanho de blocos variveis;
11

Suporta arquivos maiores que 2GB (Giga Bytes);

O acesso mhash a rvore de diretrios mais rpido que o ext3;

extremamente rpido devido ao uso de rvores balanceadas;

A integridade do sistema assegurada pelo jornal file e pela descrio de
meta-dados;

Existem opes suplementares que podem ser habilitadas no kernel linux
para checagem e controle da sincronia entre dados e o disco rgido.

O ReiserFS trata toda a partio do disco rgido como se fosse uma nica tabela
de banco de dados contendo diretrios, arquivos, e arquivos de meta-data. Estes
so organizados em uma eficiente estrutura de dados chamada de "rvore
equilibrada - (balanced tree)". Isto difere um pouco do modo no qual os sistemas
de arquivos tradicionais operam, mas oferece grandes melhorias de velocidade para
muitos aplicativos, especialmente os que utilizam vrios pequenos arquivos (small
files). Com isso, agilizasse o processo de pesquisa de arquivos.

A 'rvore equilibrada' no armazena apenas os arquivos meta-data, mas
tambm a prpria informao do arquivo. Em um sistema de arquivos tradicional
como ext2, o espao no disco alocado em blocos que variam em tamanho de 512
bytes at 4096 bytes (4KB) ou at maior. Se o tamanho de um arquivo exceder um
mltiplo exato do tamanho do bloco, ento ocorrer desperdcio de espao no disco.
O ReiserFS no aloca espao de armazenamento em um 'k' fixo ou quatro
blocos de 'k'. Ao invs disso, pode-se alocar o tamanho exato que o arquivo precisa.
Este FS tambm inclui otimizadores para aumentar desempenho, de pequenos
arquivos porque eles normalmente podem ser lidos com uma nica operao de I/O
no disco rgido.

12
O ReiserFS 4 chega a ser duas vezes mais rpido que a verso atual (3.6).
Considerando que o ReiserFS 3 j conhecido pelo seu excelente desempenho
porque utiliza um mecanismo de estrutura de rvore para manter/gerenciar
arquivos. Com pequenos armazenados em disco, este mecanismo do ReiserFS
pode economizar muito espao de armazenamento. Alm disso, desde que mais
arquivos so colocados mais perto um do outro, o sistema pode abrir e ler muitos
arquivos pequenos com s um acesso fsico. Este processo melhora drasticamente
o desempenho e rendimento do sistema de arquivos.
2.7 DESVANTAGENS E LIMITAES DO SISTEMA DE ARQUIVOS REISERFS
O ReiserFS no trabalha perfeitamente com o sistema de arquivos de rede NFS
(Network File System). Existem alguns "patches (remendos) disponveis para
consertar o problema, mas eles no o resolvem completamente.

Igualmente o ReiserFS no trabalha perfeitamente com RAID implementado via
software (tcnica de gerenciar discos - tolerantes falhas). Se voc for implementar
RAID via hadware, fique tranqilo, pois o ReiserFS o suporta muito bem.

2.8 TESTES DE USO

Os testes de uso foram realizados em um computador com a seguinte
configurao:
processador Intel Pentium 100MHz;
64MB (Mega Bytes) de memria RAM;
512KB de memria cache;
disco rgido Quantum Fireball de 2GB (Giga Bytes)
uma partio vazia de 600MB (Mega Bytes)






13


ESCRITA SEQENCIAL:

Fonte: Anlise de desempenho de sistemas de arquivos com journaling
para Linux. Autor: Silvano Bolfini dias








LEITURA SEQENCIAL:

Fonte: Anlise de desempenho de sistemas de arquivos com journaling
para Linux. Autor: Silvano Bolfini dias





14



CPIA DE GRANDES ARQUIVOS:

Fonte: Anlise de desempenho de sistemas de arquivos com journaling
para Linux. Autor: Silvano Bolfini dias










CPIA DE GRANDES ARQUIVOS:


Fonte: Anlise de desempenho de sistemas de arquivos com journaling
para Linux. Autor: Silvano Bolfini dias





15
2.9 EXT3 X REISERFS, QUAL O MAIS SEGURO?

Por Carlos E. Morimoto WebMaster do site www.guiadohardware.net
A principal diferena entre esses 2 sistemas de arquivos jornalados que o
ext3 tenta guardar informaes tanto sobre a meta-data, ou seja, as informaes
sobre o espao ocupado pelos arquivos e suas permisses quanto sobre os dados,
enquanto o ReiserFS guarda/armazena apenas informaes sobre a meta-data. No
caso de um desligamento incorreto o ReiserFS capaz de recuperar a consistncia
do sistema de arquivos em fraes de segundos e a possibilidade de perda de
diretrios ou parties praticamente 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 a meta-data, 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 recurso de journal guarda/armazena mais informaes e acessado mais
freqentemente, causando uma certa 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.
Este o grande perigo do ext3, pois sem o recurso de journal a tolerncia
falhas a mesma que no seu antecessor, ext2: o sistema rodar/executar o
software fsck (imagine que este software se parea com o aplicativo scandisk) que
demorar vrios minutos e voc corre um grande risco de perder completamente os
arquivos e/ou diretrios que estiverem sendo acessados no momento da pane/falha
do sistema.
Concluindo, o ReiserFS oferece uma grande proteo contra corrompimento
do sistema de arquivos, mas em compensao pouca proteo para os arquivos em
si. O ext3 por sua vez oferece uma maior proteo aos arquivos, mas em troca
oferece um menor desempenho e uma proteo mais frgil para o sistema de
arquivos em si.
16
3 CONCLUSO

Conclumos que, j com todas as caractersticas que o sistema operacional
Linux oferece (estabilidade, performace, velocidade, segurana etc), um sistema de
arquivos com recursos de journaling como o ReiserFS vem adicionar uma maior
segurana e integridade aos dados para pequenos, mdios e grandes servidores.


4 BIBLIOGRAFIA

SITE oficial do sistema de arquivos ReiserFS
Disponvel em: <http://www.namesys.com>

ARBEX, Wagner. Sistemas de Arquivos (Verso 3.2), J uiz de Fora.
Disponvel em: <http://www.jfnet.com.br/~arbex>

LINUX in Brazil
Disponvel em: <http://www.br-linux.org>

GUIA Foca Linux
Disponvel em: <http://focalinux.cipsga.org.br>

MORIMOTO, Carlos E. EXT3 X ReiserFS, qual o mais seguro?
Disponvel em: <http://www.guiadohardware.net>

DIAS, Silvano Bolfoni. Anlise de desempenho de sistemas de arquivos com
journaling para Linux, Rio de J aneiro, Dezembro 2000.

LINUX Gazete
Disponvel em: <http://www.linuxgazette.com/issue68/>

DEV Linux ReiserFS
Disponvel em: <http://devlinux.com/projects/reiserfs>

Potrebbero piacerti anche