Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

Apostila de File Systems

Fazer download em pdf ou txt
Fazer download em pdf ou txt
Você está na página 1de 13

Instrutor Bruno Odon

www.howtoday.com.br

SISTEMAS DE ARQUIVOS

Alguns conceitos so imprescindveis antes que o estudo deste assunto seja


iniciado:
INODES
So nmeros que servem como ndices para arquivos e diretrios. Cada arquivo
ter um nmero reservado para ele, isto acontece por causa da reserva de inodes
existente no filesystem (que, por padro, de 5%). A reserva de inodes deve ser sempre
verificada com a linha de comando df hi, pois o estouro desta reserva causa a
incapacidade de criao de novos arquivos ou diretrios no sistema de arquivos em
questo.

JOURNALING
Este recurso encontrado em sistemas de arquivos diversos suportados pelo
Linux, como EXT3, EXT4 e ReiserFS. Ele consiste na criao de um log de atividades
recentes do sistema, que podem ser recuperadas em um prximo boot, caso ocorra um
desligamento no programado, por exemplo, proporcionando maior probabilidade de
recuperao de crashes de sistema.

SUPERBLOCO
So cpias de blocos que armazenam informaes detalhadas sobre um sistema
de arquivos. Estas cpias, por padro, so feitas a cada 8192 blocos e elas sevem para
auxiliar a recuperao de um filesystem que esteja com inconsistncia.

So muitos sistemas de arquivos suportados pelo Linux e sempre importante


estar sincronizado com o suporte oferecido pelo Kernel a eles, para que no haja
nenhum tipo de perda de tempo ao tentar usar um sistema de arquivos que no
suportado.
Os mais importantes sistemas de arquivos suportados pelo Linux so:

EXT2
Sistema de arquivo padro de distribuies antigas. adotado muito comumente
como padro por programas como o tune2fs, o mke2fs e o e2fsck. Seu limite de criao
de blocos de 8TB e o tamanho de cada bloco pode chegar a 4096 bytes.

EXT3
Este sistema de arquivos possui limitao por tamanho de arquivo de 2TB e limite
de criao de blocos de 32TB. Ele tambm possui o recurso de Journaling, diferena
mais marcante entre ele e o EXT2.
importante ressaltar que, em caso de fim dos inodes, nenhum dos dois sistemas
de arquivos acima os recria. Ser preciso que o prprio administrador redefina a reserva
de inodes.
Instrutor Bruno Odon
www.howtoday.com.br

EXT4
Sucessor do EXT3, este sistema de arquivos suporta arquivos de at 16TB de
tamanho e 1 exabyte de blocos no total.Um recurso muito interessante neste filesystem
o de verificao de integridade de Journaling, o que incrementa mais confiabilidade
para o recurso, que foi melhorado. A gravao atrasada de dados tambm pode ser
considerada como um recurso muito til deste sistema de arquivos, pois aumenta a
velocidade de leitura e gravao, apenas gravando um dado quando ele realmente for
sair de cache. O tamanho do inode tambm maior do que no EXT3 (256bytes ao invs
de 128bytes de EXT3), isso necessrio para que o inode possa armazenar informaes
extras, como verso do inode ou data de modificao do mesmo.

ReiserFS
Sistema de arquivos desenvolvido por Hans Reiser, este sistema de arquivos
proporciona de vantagem em relao aos outros o fato de garantir maior recuperao
de danos estrutura existente de dados. A grande desvantagem que ele j no garante
um Journaling to eficiente assim para arquivos que estiverem sendo utilizados no ato
de um crash.

UFS
O Unix File System o sistema de arquivos padro de distribuies Unix como
FreeBSD, por exemplo.

JFS
O Journaling File System foi concebido pela IBM para ser o sistema de arquivo do
IBM-AIX.

XFS
Desenvolvido pela Silicon Graffics, o XFS suporta at 8 exabytes de tamanho por
volume.

Swap
Chamado de rea de troca, este sistema de arquivos funciona como memria
virtual para o sistema.
Costumava-se destinar o dobro do espao da memria RAM para uma memria
Swap em verses antigas de distros Linux. Hoje esta prtica est em desuso por causa do
crescente desenvolvimento de tecnologias de armazenamento temporrio. Hoje em dia,
muito comum encontrar um servidor com at 64GB de memria RAM.
Instrutor Bruno Odon
www.howtoday.com.br

Proc
Este sistema de arquivos na verdade contm pseudo-arquivos, que so criados
pelo Kernel Linux conforme haja necessidade de manipular algum recurso de sistema.
Estes arquivos so os processos executados em tempo real pelo Kernel e consultados
pelo mesmo.
O sistema de arquivos Proc fica montado em /proc e sem ele o kernel Linux no
pode interagir com o sistema operacional.
Alguns exemplos de pseudo-arquivos de processos do Kernel:
/proc/partitions arquivo de parties disponveis para uso.
/proc/cpuinfo arquivo de informaes detalhadas sobre CPU.
/proc/meminfo arquivo de informaes detalhadas sobre memria RAM.
/proc/swaps arquivo de reconhecimento de sistemas de arquivo SWAP.
/proc/mounts arquivo de reconhecimento de sistemas de arquivos montados
(mesma informao de /etc/mtab)
/proc/version arquivo de informaes sobre verso do sistema operacional e do
kernel.

ISO9660
Sistema de arquivos padro para mdias de CD ou DVD.

FAT16 e FAT32 so tratados em Linux como MSDOS e VFAT, enquanto NTFS


tratado como NTFS mesmo.

Comandos administrativos de filesystems

#fdisk
Particionador modo texto padro para distribuies Linux.

Sintaxe:
#fdisk <opes> <disco>
Instrutor Bruno Odon
www.howtoday.com.br

Exemplos:

Exibindo a tabela de parties do disco /dev/sda:


#fdisk l /dev/sda

No caso acima, o disco /dev/sda tem 1 partio primria, 1 extendida e 2 lgicas.

Particionando /dev/sda:
#fdisk /dev/sdb

As principais opes do prompt do fdisk so:

P : exibe a tabela de parties do volume.


T : muda o tipo da partio.
C : cria uma partio.
D : exclui uma partio.
A : torna a partio ativa.
W : sai salvando as alteraes na tabela de parties.
Q : sai sem salvar qualquer mudana feita na tebela de parties.
Instrutor Bruno Odon
www.howtoday.com.br

#cfdisk
Particionador modo texto com interface mais amigvel.

Sintaxe:
#cfdisk <disco>

#mkfs
Cria sistemas de arquivos em volumes.

Sintaxe:
#mkfs <opes> <volume>

Opes:
-t : especifica o tipo do sistema de arquivos (na verdade, o programa que ser
utilizado na formatao).
-L : aplica um rtulo em volumes EXT2 e EXT3.
-c : faz a verificao de disco antes de formatar o volume.
-V ou v : modo verbose.
-n : cria rtulos em filesystems VFAT e MSDOS.

*Obs:
Os comandos abaixo so equivalentes:
#mkfs t ext3 <volume>
#mkfs.ext3 <volume>
#mke2fs j <volume>
Exemplos:

Criando sistema de arquivos ext3 em partio /dev/sda5, com aplicao de rtulo


Backups e verificao de integridade de disco:
#mkfs t ext3 L Backups c /dev/sda5

Criando sistema de arquivos ext2 em /dev/sda6:


#mkfs /dev/sda6

#tune2fs
Verifica e modifica parmetros ajustveis de sistemas de arquivos EXT2 e EXT3.

Sintaxe:
#tune2fs <opes> <volume>

Opes:
-l : lista os parmetros do filesystem.
-j : aplica recurso de Journaling em sistemas de arquivos ext2 (converte para ext3).
-L : aplica um rtulo ao volume.
-m : modifica o percentual de blocos reservados para inodes.
-r : modifica o nmero de blocos reservados para inodes.
-c : configura o nmero de montagens do volume antes de ele ser verificado por
fsck.
Instrutor Bruno Odon
www.howtoday.com.br

Exemplos:

Modificando o percentual de blocos reservados para inodes de /dev/sda7 para


15%:
#tune2fs m 15 /dev/sda7

Convertendo /dev/sda8 para ext3:


#tune2fs j /dev/sda8

Listando parmetros de volume /dev/sda7:


#tune2fs l /dev/sda6

Na figura acima, que o resultado do comando em questo, pode-se observar que


o parmetro hs_journal est presente, o que caracteriza um sistema de arquivos com
recurso de Journaling ativado.
Instrutor Bruno Odon
www.howtoday.com.br

#fsck
Verifica a integridade de sistemas de arquivos.

Sintaxe:
#fsck <opes> <volume>

Opes:
-t : especifica o tipo do sistema de arquivos que vai ser verificado.
-f : fora o a checagem mesmo em sistemas de arquivos aparentemente limpos.
-p : repara automaticamente inconsistncias no sistema de arquivos.
-c : verifica badblocks.
-N : no executa. Apenas simula o que seria feito.
-M : no verifica sistemas de arquivos montados.
-C : exibe barra de progresso.

Exemplos:

Verificando integridade do volume ext3 /dev/sdb6 e corrigindo as falhas no


mesmo, se houverem:
#fsck t ext3 p /dev/sdb6

Simulando verificao em /dev/sdb6:


#fsck N /dev/sdb6

*Obs:
muito importante ressaltar que uma verificao de disco feita em um volume
montado pode causar inconsistncia no sistema de arquivos do mesmo.

#badblocks
Verifica a existncia de badblocks em um disco.

Sintaxe:
#badblocks <opes> <volume>

#hdparm
Ajusta parmetros de configurao de HDs.

Sintaxe:
#hdparm <opes> <disco>

Opes:

-d : ativa o modo DMA.


-c : ativa o I/O de 32 bits.
-i : exibe identificao do disco.
Instrutor Bruno Odon
www.howtoday.com.br

#dumpe2fs
Exibe informaes sobre blocos e superblocos de um sistema de arquivos.

Sintaxe:
#dumpe2fs <volume>

#dd
Cria imagens bit a bit de sistemas de arquivos.

Sintaxe:
#dd if=<origem> of=<destino> <opes>

Opes:
bs : block size o tamanho do bloco a ser criado.
count : define quantos blocos sero criados.
notrunc : no truncar arquivo de destino.

Exemplos:
Criando um clone da partio /dev/sda1 em /dev/sdb1:
#dd if=/dev/sda1 of=/dev/sdb1

Criando um arquivo de imagem /root/part2 da partio /dev/sda2:


#dd if=/dev/sda1 of=/root/part2

Criando o arquivo /root/swp a ser usado como sistema de arquivos swap:


#dd if=/dev/zero of=/root/swp

#mknod
Cria arquivos especiais dentro de /dev.

Sintaxe:
#mknod <dispositivo> <tipo> <major number> <minor number>

Tipos de arquivos:
b : cria arquivo de blocos.
c ou u : cria arquivo de caracteres.
p : cria um fifo.

Exemplo:

Criando um arquivo de blocos que vai servir como arranjo RAID (software):
#mknod /dev/md0 b 9 0
Instrutor Bruno Odon
www.howtoday.com.br

Sistema de arquivos SWAP

O sistema de arquivos SWAP (ou rea de troca) funciona como memria virtual
para o sistema (auxilia a memria RAM).
Este sistema de arquivos pode ser um arquivo propriamente dito ou pode ser
tambm uma partio separada para este fim, o que leva o administrador a seguinte
concluso: em qualquer caso, para utilizar SWAP o sistema vai ter que utilizar o disco
rgido, o que diminui bruscamente a performance do sistema. Por esse motivo especfico
que apenas em ltimo caso recomendado o uso deste recurso.
Era comum em sistemas antigos (pela falta de memria RAM) a atribuio do
dobro da capacidade de armazenamento em RAM para a SWAP, ou seja: se um sistema
possui 256MB de RAM, o correto destinar 512MB para a criao da SWAP. Hoje em dia
essa prtica cada vez mais desnecessria, uma vez que as tecnologias de
armazenamento em RAM j proporcionam a capacidade de armazenamento temporrio
necessria para qualquer servidor.

Criando sistemas de arquivos SWAP:

Levando em considerao que foi criada uma partio tipo 82 para abrigar um
sistema de arquivos SWAP e o seu caminho /dev/sda2, o que, primeiro deve ser feito
a criao do sistema de arquivos SWAP:

Cria o sistema de arquivos SWAP em /dev/sda2 (no existe mkfs t swap):


#mkswap /dev/sda2

O prximo passo ativar a swap:


#swapon /dev/sda2

Verificando a sua atividade:


#swapon s ou #cat /proc/swaps

Configurando o SWAP para ativar automaticamente no boot:


#vim /etc/fstab

Como o SWAP no precisa de ponto de montagem, este deve ser definido como
none no campo de opes.
Se for necessrio desativar o SWAP, pode-se usar a linha de comando abaixo:
#swapoff /dev/sda2

Diretrio /dev e gerenciador UDEV

O diretrio /dev tem em seu contedo arquivos especiais, que podem ser arquivos
de blocos (discos ou parties, por exemplo), arquivos de caracteres (terminais de
controle, memrias RAM, placas de som, por exemplo).
O gerenciador de dispositivos UDEV cuida de atualizar os dispositivos disponveis
dentro de /dev de forma em dinmica. Assim que um dispositivo conectado
fisicamente, o UDEV cria o arquivo correspondente ao mesmo em /dev.
Instrutor Bruno Odon
www.howtoday.com.br

Quando a interfae grfica est instalada em distros que contam com o Kernel 2.6
do Linux instalado, UDEV monta automaticamente todo volume novo em /media/<rtulo
do volume> assim que o reconhece. Isto facilita e muito a vida do usurio de desktop
Linux a medida que o mesmo no ter trabalho algum de sequer montar manualmente o
volume.

Montagem de volumes

Para que um volume seja utilizado como sistema de arquivos no sistema, preciso
mont-lo em algum dos diretrios existentes, pois, a princpio, ele um arquivo de
blocos qualquer antes que isso ocorra.
O diretrio onde este volume vai ser acessado chamado de ponto de montagem,
ou mount point. Este mount point pode ser um direttio j existente do modelo FHS
(/mnt ou /media, por exemplo) ou pode ser um diretrio criado pelo usurio.
bom lembrar tambm o seguinte: as permisses do mount point so
mandatrias sobre as permisses de montagem do volume, ou seja: um volume pode ter
sido montado com permisso de gravao mas se o diretrio onde ele foi montado no
tiver permisso para que o usurio que vai acessar possa escrever, o mesmo no o far.

O arquivo /etc/fstab contm as configuraes de montagem de volumes. Sua


sintaxe interna a seguinte:
<sistema de arquivos> <ponto de montagem> <tipo do sistema de arquivos> <opes
de montagem> <uso de dump> <flag de checagem de disco no boot>
importante reparar que tambm possvel montar um volume neste arquivo de
configurao atravs do UUID do seu sistema de arquivos, este nmero de identificao
pode ser obtido atravs do comando tune2fs -l <volume>.

No caso deste arquivo /etc/fstab acima, ao invs de montar o sistema de arquivos


pelo nome dele em /dev, ele esta configurado para montar os volumes pelo o UUID (ID
de partio), independente de quantos discos tm juntos com ele.
Instrutor Bruno Odon
www.howtoday.com.br

Opes de montagem

ro : monta o volume com permisso de apenas leitura para todos.


rw : monta o volume com permisso de leitura e grevao para todos.
auto : monta automaticamente o volume assim que o arquivo /etc/fstab for relido.
noauto : neste caso, o volume precisaria ser montado manualmente atravs do
comando mount.
dev : o volume pode abrigar arquivos especiais.
nodev : o contrrio de dev.
exec : o volume permite que sejam executados programas dentro do volume
(permisso x em arquivos).
noexec : o contrrio de exec.
suid : permite que permisses especiais aplicadas a arquivos e diretrios tenham
efeito.
nosuid : o contrrio de suid.
user : permite que o usurio comum monte o volume e apenas aquele que montou
pode desmontar o mesmo.
users : qualquer usurio monta e desmonta o volume.
nouser: probe que qualquer usurio no-root monte ou desmonte o volume.
async : entrada e sada assncrona de gravao e escrita no volume.
sync : o contrrio de async.
defaults : o mesmo que as opes rw,auto,suid,nouser,async e exec juntas.
loop : alvo um arquivo loop.
guest : mounta como convidado, em caso de montar volumes CIFS.

Quando for o caso de o volume ser montado durante o processo de boot, nas
opes de montagem dele dentro de /etc/fstab deve constar a opo auto.

Comandos de montagem

#mount
Monta manualmente um sistema de arquivos.

Sintaxe:
#mount <opes> <volume> <ponto de montagem>

Opes:
-a : monta todo volume com opo auto em /etc/fstab.
-v : verbose.
-r : monta como apenas leitura.
-w : monta como leitura e gravao.
-o : especifica as opes de montagem.

Exemplos:

Montando o volume /dev/fd0, que est com opo noauto em /etc/fstab:


#mount /dev/fd0
Instrutor Bruno Odon
www.howtoday.com.br

Montando o volume /dev/sdb1, formatado como vfat, em /dados, em modo


verbose:
#mount t vfat v /dev/sdb1 /dados

Montando o volume /dev/sdb2, que ext3, em /backup como leitura e gravao,


sem verbose:
#mount t ext3 w /dev/sdb2 /backup

Montando todos os volumes com opo auto dentro de /etc/fstab:


#mount a

Montando o volume /dados exportado pelo servidor NFS 172.16.0.1 em


/media/dados:
#mount t nfs 172.16.0.1:/dados /media/dados

Montando o compartilhamento do Windows ARQUIVOS em 192.168.0.2 em /mnt :


#mount t CIFS //192.168.0.2/ARQUIVOS /mnt

Montando o arquivo de imagem de CD /root/debian_lenny.iso em /media/debian


como apenas leitura:
#mount t iso9660 r /dev/debian_lenny.iso /media/debian o loop

#umount
Desmonta sistemas de arquivos.

Sintaxe:
#umount <opes> <volume/ponto de montagem>

Exemplos:

Desmontando o volume /dev/sdb3:


#umount /dev/sdb3

Desmontando um volume qualquer montado em /media/debian:


#umount /media/debian

Desmontando todos os volumes montados:


#umount a

Diferentemente de mount a, umount a desmonta todo e qualquer volume que


no estiver um uso.
Toda vez que um volume est montado, todos os seus parmetros de montagem e
seu caminho so enviados o arquivo de tabelas de volumes montados, o /etc/mtab, que
recebe informaes de /proc/mounts.
Instrutor Bruno Odon
www.howtoday.com.br

Exemplo do arquivo /proc/mounts

Você também pode gostar