Apostila de File Systems
Apostila de File Systems
Apostila de File Systems
www.howtoday.com.br
SISTEMAS DE ARQUIVOS
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.
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.
#fdisk
Particionador modo texto padro para distribuies Linux.
Sintaxe:
#fdisk <opes> <disco>
Instrutor Bruno Odon
www.howtoday.com.br
Exemplos:
Particionando /dev/sda:
#fdisk /dev/sdb
#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:
#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:
#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:
*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:
#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
#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
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.
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:
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
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.
Opes de montagem
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:
#umount
Desmonta sistemas de arquivos.
Sintaxe:
#umount <opes> <volume/ponto de montagem>
Exemplos: