Sei sulla pagina 1di 35

PROFESSOR: ANTONY

ALISON ANTONY RIBEIRO

11:03

Um pouco da histria
Os sistemas de arquivos utilizados atualmente no Linux
so avanados e tem vrios recursos mas no foi
sempre assim. Nas primeiras verses do kernel, o
sistema de arquivos utilizado era o EXT. Extremamente
frgil e com muitas limitaes, como por exemplo,
permisso para criao de parties de somente at
2GB e fcil desfragmentao.
A partir do EXT2 a limitao de 2GB para parties caiu
por terra, j que ele permite criao de parties de
at 4Terabytes!

11:03

Principais sistemas de
arquivos no Linux
Diferentemente do que ocorria h alguns anos, escolher
um sistema de arquivos para um sistema Linux no
mais uma questo de segundos (Ext2 ou ReiserFS?).
Kernels a partir do 2.4 oferecem uma variedade de
opes de sistemas de arquivos. A seguir ser mostrada
uma viso geral de como esses sistemas de arquivos
basicamente funcionam e quais as vantagens que
oferecem.
muito importante lembrar que pode no haver um
sistema de arquivos adequado a todos os tipos de
aplicativos. Cada sistema de arquivos tem seus pontos
fortes e fracos especficos, o que deve ser considerado.
No entanto, nem mesmo o sistema de arquivos mais
sofisticado pode ser substitudo por uma estratgia de
11:03
backup razovel.

EXT2
Sem dvida alguma o EXT2 foi uma evoluo e tanto
em relao ao EXT, pois neste sistema de arquivos

muitas melhorias foram implantadas, fazendo deste


modo com que o Linux tivesse um sistema de arquivos

com

recursos

importantssimos

para

uma

boa

administrao de sistemas, tais como o suporte a regras


de permisses bem definidas. A estrutura do EXT2 pode
ser definida assim:

11:03

EXT2
.: Boot Block Onde so gravadas as informaes necessrias
para a inicializao do sistema.
.: Inodes Ficam armazenadas todas as informaes sobre cada
arquivo: Permisso de acesso, tipo de arquivo, identificao, dono
do arquivo, data que foi criado e modificado, tamanho e a
localizao para o bloco de dados onde o arquivo est guardado.
.: Diretrios So tipos de arquivos especiais que armazenam
uma lista de todos os arquivos e subdiretrios subordinados a ele.
.: Links - Um recurso muito interessante no qual pode se apontar
para um outro arquivo ou diretrio qualquer.
Quando se fala em arquivos e diretrios no Linux, falamos em tudo,
literalmente. Ao contrrio do Windows, que trata dispositivos de
hardware como tal, o Linux trata tudo como arquivo, ou seja, um
disco rgido um arquivo, um modem tambm, assim como um CDROM, impressora, placa de som, etc.... Os dispositivos de hardware
11:03
ficam todos no diretrio /dev.

EXT2
Outra caracterstica o recurso de montagem. O sistema de
arquivos do Linux obedece uma hierarquia de arquivos e diretrios,

onde pode haver subdiretrios relacionados. E todos devem estar


organizados numa partio, que onde o sistema de arquivos
criado. Estas parties podem ser montadas ou desmontadas.
Quando o sistema iniciado, verifica-se no arquivo /etc/fstab as
parties e dispositivos a serem montados. Ao desligar o sistema,

as mesmas so desmontadas. Mesmo com o sistema ativo, as


parties ou dispositivos podem ser montados ou desmontados a
qualquer hora, inclusive em diretrios diferentes, o que d uma
versatilidade muito grande.

11:03

EXT2
No Linux pode se acessar parties de diversos tipos,
como FAT, FAT32, iso9660 e outras, inclusive pode se
instalar um sistema nestas parties, assim como rodalo atravs de um CD-ROM. Isso se deve graas ao VFS (
Virtual File System ), que faz todo um trabalho de
gerenciamento do sistema de arquivos desconhecido,
decifrando sua estrutura e repassando as para o kernel
e programas, para que estes possam trabalhar sob o FS.
evidente que isso tem um preo, que se traduz em
perda de rendimento, devido a emulao de estruturas.
Para quem tem dual boot a versatilidade do Linux um
bom recurso, mas at pouco tempo atrs ainda existia
uma pequena barreira: NTFS, que falarei mais adiante.
11:03

EXT2
Tantos recursos assim fazem com que o EXT2 seja poderoso,
mas evidente que ele tem as suas fragilidades. Algumas
delas podem at comprometer o bom andamento do trabalho.
Um grande problema do EXT2 a sua baixa tolerncia a falhas
em caso de quedas de energia ou desligamento inadequado,
sendo talvez at mais frgil do que a FAT32 do Windows. Um
desligamento inadequado num sistema EXT2 fora o uso do
fsck para verificar a integridade do sistema. Algo mais ou
menos semelhante ao que acontece com o Scandisk do
Windows. Esta checagem pode demorar vrios minutos,
dependendo do tamanho do disco rgido, e conforme for o
caso, pode haver at perda de dados, se o arquivo estiver
sendo gravado na hora do desligamento pode haver perda de
um diretrio inteiro. Estes problemas foram contornados com
11:03
a criao dos sistemas de arquivos com Journaling

EXT2
Solidez
Por ser um veterano, o Ext2 passou por vrias melhorias e foi bastante
testado. Esta pode ser a razo para as pessoas sempre se referirem a ele
como "slido como uma pedra". Depois de uma falha no sistema em que o
sistema de arquivos no pode ser desmontado inteiramente, o e2fsck
comea a analisar os dados do sistema de arquivos. Os metadados so
levados a um estado consistente e os arquivos pendentes ou blocos de
dados so gravados em um diretrio designado (chamado lost+found). Em
contraste com os sistemas de arquivos de registro em dirio, o e2fsck
analisa todo o sistema de arquivos e no somente os bits de metadados
modificados recentemente. Esse procedimento demora muito mais do que a
verificao dos dados de registro de um sistema de arquivos com registro
em dirio. Dependendo do tamanho do sistema de arquivos, ele pode levar
meia hora ou mais. Portanto, no desejvel optar pelo Ext2 em servidores
que precisem de grande disponibilidade. No entanto, como o Ext2 no
mantm um dirio e usa muito menos memria, algumas vezes ele mais
rpido do que outros sistemas de arquivos.
11:03

EXT2
Fcil capacidade de upgrade
O cdigo do Ext2 a base slida sobre a qual o Ext3 poderia
se tornar um sistema de arquivos de ltima gerao
amplamente aclamado. Sua confiabilidade e solidez foram
combinadas de forma elegante com as vantagens de um
sistema de arquivos de registro em dirio.

11:03

Journaling
As limitaes do EXT2 comprometiam sistemas de misso
crtica, onde uma parada de alguns minutos ou perda de
dados poderiam causar prejuzos considerveis. Os sistemas
de arquivos com tecnologia Journaling tem a capacidade
de acompanhar as mudanas que sero feitas nos arquivos
antes de serem efetivadas. Estes registros so gravados
numa rea separada do sistema de arquivos, chamada
Journal ou registros de LOG. Depois que as mudanas
so efetivadas, estes registros anteriores so eliminados. Na
prtica como se fosse um log constante, em full time,
constantemente atualizado.

11:03

Journaling
Isso faz com que os FS com esta tecnologia tenham uma alta
tolerncia a falhas e a perda de dados diminua
consideravelmente. Com estes FS no mais necessria a
atuao do FSCK a cada desligamento inadequado do
sistema, visto que ao reiniciar a mquina o sistema
verificar no registro de LOG se h mudanas marcadas
como no feitas. Caso positivo, estas sero efetivadas e o
sistema inicializar rapidamente e sem maiores problemas,
poupando
tempo
e
dores
de
cabea:-).
Nesta categoria de sistemas de arquivos existem algumas
opes como EXT3, ReiserFS e JFS, sendo que os mais
utilizados so o EXT3 e o ReiserFS.

11:03

ReiserFS
Oficialmente um dos recursos mais importantes da
verso 2.4 do kernel, o ReiserFS tornou-se disponvel
como um patch para kernels SUSE 2.2 x desde a verso
6.4 do SUSE Linux. O ReiserFS foi criado por Hans

Reiser e pela equipe de desenvolvimento da Namesys.


Ele provou ser uma alternativa robusta ao Ext2. Seus

bens mais importantes so a melhor utilizao do


espao em disco, o melhor desempenho do acesso ao
disco e uma recuperao de falhas mais rpida.
11:03

ReiserFS
Os pontos fortes do ReiserFS, em mais detalhes, so:
Melhor utilizao do espao em disco
No ReiserFS, todos os dados so organizados em uma estrutura
chamada rvore equilibrada. A estrutura de rvore contribui para
uma melhor utilizao do espao em disco, pois arquivos
pequenos podem ser armazenados diretamente nos ns da folha
da rvore equilibrada B*, em vez de serem armazenados em outro
local e simplesmente manterem um indicador no local do disco.
Alm disso, o armazenamento no alocado em pacotes de 1 ou
4 kB, mas em pores do tamanho exato necessrio. Uma outra
vantagem est na alocao dinmica de inodes. Ela mantm o
sistema de arquivos mais flexvel do que os sistemas de arquivos
tradicionais, como Ext2, em que a densidade do inode deve ser
especificada no momento da criao do sistema de arquivos.
11:03

ReiserFS
Melhor desempenho do acesso ao disco
Para arquivos pequenos, os respectivos dados e as informaes
(inode) stat_data so sempre armazenados lado a lado. Eles

podem ser lidos com uma simples operao E/S de disco, o


que quer dizer que necessrio somente um acesso ao disco

para recuperar todas as informaes necessrias.


Rpida recuperao de falhas
A utilizao de um dirio para controlar as mudanas de
metadados recentes faz com que a verificao de um sistema
de arquivos leve segundos, mesmo no caso dos muito grandes.
11:03

ReiserFS
Confiabilidade por meio do registro dos dados em dirio
O ReiserFS tambm suporta o registro de dados em dirio
e modos de dados ordenados similares aos conceitos
realados na seo Ext3, Seo 13.2.3, Ext3. O modo

padro data=ordered, que garante a integridade dos


dados e dos metadados, mas usa o registro de dados em

dirio somente para metadados.

11:03

EXT3
O Ext3 foi criado por Stephen Tweedie. Diferentemente de
todos os sistemas de arquivos de ltima gerao, o Ext3

no segue totalmente um princpio de design novo. Ele


baseado no Ext2. Esses dois sistemas de arquivos tm uma

relao muito prxima. Um sistema de arquivos Ext3 pode


ser facilmente criado sobre um sistema de arquivos Ext2. A
diferena mais importante entre o Ext2 e o Ext3 que o
Ext3 suporta o registro em dirio. Em resumo, o Ext3 tem
trs grandes vantagens a oferecer:
11:03

EXT3
Upgrades do Ext2 fceis e altamente confiveis.
Como o Ext3 baseado no cdigo do Ext2 e compartilha seu
formato em disco, bem como seu formato de metadados, as
atualizaes do Ext2 para o Ext3 so incrivelmente fceis. Ao
contrrio de transies para outros sistemas de arquivos de
registro em dirio, como o ReiserFS ou XFS, que podem ser
bastante tediosas (fazer backup de todo o sistema e recri-lo de
um rascunho), a transio para o Ext3 uma questo de minutos.
Ela tambm muito segura, pois a recriao de um sistema de
arquivos inteiro de um rascunho pode no ser perfeita.
Considerando o nmero de sistemas Ext2 existentes que aguardam
um upgrade para um sistema de arquivos de registro em dirio,
voc pode imaginar facilmente por que o Ext3 pode ter alguma
importncia para vrios administradores de sistema. O downgrade
do Ext3 para o Ext2 to fcil quanto o upgrade. Simplesmente
execute uma desmontagem completa do sistema de arquivos Ext3
11:03
e remonte-o como um sistema de arquivos Ext2.

EXT3
Confiabilidade e desempenho
Alguns outros sistemas de arquivos de registro em dirio
seguem a abordagem de registro em dirio de Apenas
Metadados. Isso significa que seus metadados so sempre
mantidos em um estado consistente, mas o mesmo no pode
ser garantido automaticamente para os prprios dados do
sistema de arquivos. O Ext 3 foi criado para cuidar dos dados
e dos metadados. O grau de cuidado pode ser
personalizado. Habilitar o Ext3 no modo data=journal oferece
segurana mxima (integridade de dados), mas tambm
deixa o sistema mais lento, pois os dados e os metadados so
registrados em dirio. Uma abordagem relativamente nova
usar o modo data=ordered, que garante a integridade dos
dados e metadados, mas usa o registro em dirio apenas para
11:03
metadados.

EXT3
O driver do sistema de arquivos coleta todos os blocos de
dados que correspondem a uma atualizao de metadados.
Esses blocos de dados so gravados em disco antes da
atualizao dos metadados. Como resultado, obtm-se
consistncia para dados e metadados sem sacrificar o
desempenho. Uma terceira opo usar o data=writeback,
para que os dados sejam gravados no mesmo sistema de
arquivos depois que seus metadados forem confirmados no
dirio. Essa opo sempre considerada a melhor em
desempenho. Contudo, ela pode permitir que dados antigos
surjam novamente nos arquivos depois de uma falha e
recuperao, enquanto a integridade do sistema do arquivo
mantida. A menos que voc especifique de forma diferente, o
Ext3 ser executado no modo data=ordered por padro.
11:03

EXT4
O ext4 trouxe, de acordo com seus desenvolvedores,
alguns recursos que no existiam no ext3, mantendo

alguns que a verso anterior j possua. Na verdade so


recursos que estavam tentando implantar na verso 3 do

extFS (ext3), porm, devido a alguns problemas na


implementao, lanaram essa nova verso com as
caractersticas descritas abaixo.

11:03

EXT4
Principais vantagens
Possui

journaling com aprimoramento de checksum.

Melhorias

no journaling: Checagem no journaling, checksum aprimorado


permitindo ao ext4 ter mais tolerncia falhas que o ext3 e restruturao mais
rpida;
Suporte

para tamanhos maiores de volumes e arquivos em relao verso 3. O


ext4 tem uma margem de 1024 PB (Petabytes) ou 1EB (Exabyte) para parties e
16 TB por arquivo. Isto pode no ser importante para desktops ou servidores
simples, porm com certeza til para servidores grandes, configurados em Raid e
de alta disponibilidade.
A indexao

de quantidade de diretrios foi aumentada;

Suporte

a recuperao de arquivos Undelete: Suporte recuperao de arquivos,


permitindo que arquivos seja recuperados.
Checagem

rpida do sistema de arquivos: O fsck est mais rpido por que a nova
estrutura de organizao de blocos permite que partes no usadas do HD sejam
puladas, o que economiza tempo numa eventual checagem.
11:03

EXT4
Melhorias

na pr-alocao: s vezes um programa vai usar um espao do HD mas


no na hora, ento ele reserva o espao que vai usar, fazendo uma pr- alocao, ou
seja, ele guarda aquele espao pra ele e ningum mais pode usar, como se fosse
uma reserva. Para essa ao, a maioria dos file systems enchem de zeros os inodes
que eles vo reservar.
Quando

essa ao executada milhares de vezes, como em um banco de dados,


esse tempo de escritas de zeros geram um delay de tempo desnecessrio. O ext4 vai
permitir pr-alocao de arquivos sem fazer isso, o que vai garantir uma melhoria na
performance, principalmente nas rotinas de bancos de dados e em ferramentas
multimdia.
Tempo

de alocao estendido: O ext4 vai conseguir manter a alocao do espao


em disco at o ltimo momento, o que pode trazer mais performance.
Maior

nmero de subdiretrios: O ext3 colocava um limite de subdiretrios ou


pastas de 32000, se voc achava isso um incmodo, os limites sero apenas o do
espao fornecido pelo disco.
Alocao

tardia: ext4 usa uma tcnica de execuo do sistema de arquivos


chamado allocate-on-flush, tambm conhecida como a atribuio de atraso. Isso
melhora o desempenho e reduz a fragmentao, melhorando a alocao de blocos
11:03
decises com base no tamanho do arquivo.

EXT4
Principais desvantagens

1.

Alocao

tardia

potencial

perda

de

dados:

Com as mudanas de alocao atrasada, este recurso representa algum


risco adicional de perda de dados nos casos em que o sistema trava
antes que todos os dados tenham sido gravados no disco.
Devido a isto, o ext4, na verso 2.6.30 do kernel GNU/Linux, detecta
automaticamente estes casos e reverte para o comportamento antigo. O
cenrio tpico em que isso pode ocorrer um programa que substitui o
contedo de um arquivo sem forar uma gravao para o disco com
sync.

11:03

EXT4
2. Criao do sistema de arquivos:
Assim como no ex3, o ext4 lento quando se aplica um sistema de
arquivos, e se o disco tiver que marcar badblocks, demora mais ainda.

O sistema de arquivos ext4, apesar de possuir journaling, no foi


desenvolvido desde o inicio para suport-lo e este recurso foi integrado
a partir da verso 3 do mesmo, por isso o journal no to eficaz, nem
no ext3 e no ext4, apesar que o ltimo mencionado teve melhorias.
E quando o journal falhar, ele faz uso do fsck para verificar a
integridade do sistema de arquivos, e se o fsck no conseguir recuperar
a integridade do mesmo, seu sistema de arquivos fica corrompido.
Atualmente o ext4 bem rpido, tem um timo desempenho, mas seu
journal pode deixar a desejar quanto tolerncia de falhas, apesar que
o mesmo teve melhorias e resiste bem.
11:03

Reiser4
Logo depois que o kernel 2.6 foi lanado, a famlia de
sistemas de arquivos com registro em dirio recebeu outro

membro: o Reiser4. O Reiser4 fundamentalmente


diferente de seu predecessor, o ReiserFS (verso 3.6). Ele

apresenta

conceito

de

plug-ins

para

ajustar

funcionalidade do sistema de arquivos e um conceito de


segurana mais refinado.

11:03

Reiser4
Conceito de segurana refinado
Na criao do Reiser4, seus desenvolvedores enfatizaram a
implementao de recursos relevantes de segurana.
Portanto, o Reiser4 contm um conjunto de plug-ins de
segurana dedicados. O mais importante deles apresenta o
conceito de itens de arquivo. Atualmente, os controles de
acesso a arquivos so definidos por arquivo. Se existe um
arquivo grande contendo informaes relevantes para vrios
usurios, grupos ou aplicativos, os direitos de acesso devem
ser razoavelmente imprecisos para incluir todas as partes
envolvidas. No Reiser4, possvel dividir esses arquivos em
partes menores (os itens).
11:03

Reiser4
Os direitos de acesso podem ento ser definidos para cada
item e cada usurio separadamente, permitindo um
gerenciamento de segurana de arquivos muito mais preciso.
Um exemplo perfeito seria /etc/passwd. Atualmente,
somente os usurios root podem ler e editar o arquivo,
enquanto os no-root s obtm acesso de leitura a esse
arquivo. Usando o conceito de item do Reiser4, voc pode
dividir esse arquivo em um conjunto de itens (um item por
usurio) e permitir que os usurios ou aplicativos modifiquem
seus prprios dados, mas sem acessar os dados de outros
usurios. Esse conceito aumenta a segurana e flexibilidade.

11:03

Reiser4
Extensibilidade por meio de plug-ins
Muitas funes do sistema de arquivos e funes externas
normalmente usadas por um sistema de arquivos so
implementadas como plug-ins no Reiser4. Esses plug-ins
podem ser facilmente adicionados ao sistema bsico. Voc
no precisa mais compilar o kernel ou reformatar o disco
rgido para adicionar novas funcionalidades ao sistema de
arquivos.
Melhor layout do sistema de arquivos por meio de alocao
atrasada
Assim como o XFS, o Reiser4 suporta a alocao atrasada.
Consulte a Seo 13.2.6, XFS. A utilizao da alocao
atrasada, at mesmo para metadados, pode resultar em um
11:03
melhor layout geral.

XFS
Com inteno original de ser um sistema de arquivos para o
sistema operacional IRIX, a SGI iniciou o desenvolvimento do
XFS no comeo de 1990. A idia por trs do XFS era criar um
sistema de arquivos de registro em dirio de 64 bits de alto
desempenho para atender aos altos desafios de computao
de hoje. O XFS muito bom na manipulao de arquivos
grandes e tem bom desempenho em hardware de ponta.
Entretanto, at mesmo o XFS tem uma desvantagem. Assim
como o ReiserFS, o XFS cuida bastante da integridade dos
metadados, mas nem tanto da integridade dos dados.
Uma rpida anlise dos recursos fundamentais do XFS explica
por que ele pode ser um forte concorrente para outros
sistemas de arquivos de registro em dirio em computao de
ponta.
11:03

XFS
Alta escalabilidade por meio do uso de grupos de alocao
No momento de criao de um sistema de arquivos XFS, o
dispositivo de bloco subjacente ao sistema de arquivos
dividido em oito ou mais regies lineares do mesmo tamanho.
Elas so denominadas grupos de alocao. Cada grupo de
alocao gerencia seus prprios inodes e espaos liberados
em disco. Praticamente, os grupos de alocao podem ser
vistos como sistemas de arquivos dentro de um sistema de
arquivos. Como grupos de alocao so independentes uns
dos outros, mais de um pode ser abordado pelo kernel ao
mesmo tempo. Esse recurso a chave da grande
escalabilidade do XFS. Naturalmente, o conceito de grupos
de alocao independente corresponde s necessidades dos
sistemas com multiprocessadores.
11:03

XFS
Alto desempenho por meio de um eficiente gerenciamento de espao
em disco
O espao em disco e os inodes so controlados por rvores equilibradas B+
dentro dos grupos de alocao. O uso de rvores equilibradas B+ contribui
muito para o desempenho e a escalabilidade do XFS. O XFs usa a alocao
atrasada. Ele lida com a alocao dividindo o processo em duas partes.
Uma transao pendente armazenada em RAM e o espao necessrio
reservado. O XFS ainda no decide exatamente onde (tratando-se do
bloco do sistema de arquivos) os dados devem ser armazenados. Essa
deciso atrasada at o ltimo momento possvel. Alguns dados
temporrios de vida curta talvez nunca cheguem no disco, pois podem
ficar obsoletos devido ao tempo que o XFS leva para decidir onde gravlos. Portanto, o XFS aumenta o desempenho de gravao e reduz a
fragmentao do sistema de arquivos. Como a alocao atrasada resulta
em eventos de gravao menos freqentes do que em outros sistemas de
arquivos, provvel que a perda de dados depois de uma falha durante a
gravao seja mais severa.
11:03

XFS
Pr-alocao para evitar a fragmentao do sistema de
arquivos
Antes de gravar os dados no sistema de arquivos, o XFS
reserva (pr-aloca) o espao livre necessrio para um

arquivo. Portanto, a fragmentao do sistema de arquivos


amplamente reduzida. O desempenho aumenta porque o

contedo dos arquivos no distribudo em todo o sistema de


arquivos.

11:03

Linux e NTFS
Os sistemas de arquivos para Linux tem como grande
vantagem a versatilidade, segurana e compatibilidade com
outros sistemas de arquivos. O problema reside no outro
lado, como a Microsoft que visa somente os seus interesses e
tenta dificultar qualquer soluo que possa viabilizar uma
harmonia de sistemas. Ela no est muito interessada nesta
compatibilidade, fazendo com que seja necessrio o uso de
recursos como engenharia reversa para fazer com que os
sistemas possam trabalhar juntos em paz. Isso o que
acontece com o NTFS. Proprietrio, fechado, este sistema de
arquivos devido a sua obscuridade tem se tornado uma
barreira para usurios que rodam sistemas Linux e Windows
em dual boot.
11:03

Linux e NTFS
As distribuies que vem com o kernel 2.4.x, tem suporte
para arquivos NTFS somente para leitura. Como a escrita
ainda est em estado experimental, pode se ter experincias
desagradveis, como por exemplo, corrupo dos arquivos na
partio NTFS. Existem projetos como o Linux-NTFS, que tem
obtido bons resultados, mas provavelmente o projeto que
conseguiu fazer realmente o acesso a parties NTFS pleno e
transparente ao usurio foi o Captive. Alm do Captive, o
kernel 2.6.1 j apresenta suporte para escrita em parties
NTFS. Ainda no tive relatos sobre experincias neste kernel
em relao a isto mas creio que esta barreira j esteja
praticamente quebrada.

11:03

Potrebbero piacerti anche