Buscar

Introdução aos Sistemas de Arquivos

Prévia do material em texto

AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
SERVIDORES PARA INTERNET
Aula 02: Apresentação da disciplina
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Conteúdo desta aula
INTRODUÇÃO AOS
SISTEMAS DE ARQUIVOS
1
CARACTERÍSITICAS
DOS SISTEMAS DE ARQUIVOS
3
PRÓXIMOS
PASSOS
ARQUITETURA DO
FILESYSTEM
2
TIPOS DE SISTEMAS 
DE ARQUIVOS
4
LABORATÓRIO PRÁTICO
5
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: introdução
• Um sistema de arquivos é uma organização de dados e metadados em um dispositivo de armazenamento.
• Os sistemas de arquivos são acessados através de system calls (chamadas do sistema) como abrir, ler, gravar 
etc.
• O sistema de arquivos é constituído de duas partes distintas: um conjunto de arquivos, que armazenam 
dados, e uma estrutura de diretórios, que organiza e fornece informações sobre os arquivos do sistema.
• Toda partição em disco deverá ser formatada logicamente para receber dados.
• Formatar logicamente uma partição em disco é estabelecer um filesystem.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: O que é um arquivo?
• Contêineres de dados;
• Relacionado a uma determinada região ou blocos de um disco;
• Tratados geralmente como uma simples sequência de bytes.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: O que é um sistema de arquivos?
Abstração utilizada pelo sistema operacional para gerenciar arquivos
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: VFS – Virtual File System
• Abstração de software responsável pelo suporte a utilização de diversos sistemas de arquivos diferentes no 
mesmo sistema operacional.
• Provê uma série de estruturas genéricas a serem compartilhadas pelos demais sistemas de arquivos.
• É o mecanismo que permite que chamadas de sistemas genéricas, tais como open( ) e read( ), possam ser 
executadas independentemente do sistema de arquivos usado ou do meio físico.
• Permite que o Linux suporte diferentes sistemas de arquivos, apesar das suas diferenças.
• O Linux suporta diferentes tipos de sistemas de arquivos. Entre os principais, pode-se citar: EXT2, EXT3, EXT4, 
Reiser, BrTFS, FAT12, FAT16, FAT32, HPFS, NTFS, AIX, QNX, CP/M, Novell Netware etc.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Partições
• Em conjunto com o conceito de sistema de arquivos existe o conceito de partição.
• Particionar um dispositivo é dividi-lo de forma que cada uma das suas partes, denominadas partições, 
possam receber um tipo de sistema de arquivos e estejam preparadas para receber as informações.
• Sistema de arquivos e partições são normalmente confundidos, quando na verdade são conceitos 
totalmente diferentes.
• As partições são áreas de armazenamento, criadas durante o processo de particionamento, sendo que 
cada partição funciona como se fosse um disco rígido (ou dispositivo utilizado).
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Partições
• Para se utilizar uma partição, entretanto, deve-se criar um 
sistema de arquivos, ou seja, um sistema que organize e 
controle os arquivos e diretórios desta partição.
• Uma partição só pode ter apenas um sistema de arquivo.
• O sistema de arquivos mais importante em um sistema 
Linux é o sistema de arquivos raiz.
• Ele geralmente está montado no diretório “/”, também 
chamado de diretório raiz.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Para que serve?
• Organizar dados;
• Controlar o espaço livre;
• Compartilhar arquivos entre usuários;
• Facilitar o acesso a informações;
• Já pensou em acessar dados tendo que apontar quais 
setores do disco você quer acessar?
• Controlar o acesso a essas informações.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Árvore de arquivos e diretórios
• Absolutos;
• Relativos;
• Nomes de arquivos com até 255 caracteres;
• Caminho único com até 4095 caracteres.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Tipos de arquivos suportados pelo Linux
• Regulares – Arquivos comuns contendo uma sequência qualquer de bytes, sem qualquer restrição quanto à 
sua estrutura interna.
• Diretórios – Arquivos de sistema usados para manter a estrutura do sistema de arquivos. Contêm referências 
para outros arquivos. 
• Dispositivos de caractere – Arquivos especiais que permitem acesso à dispositivos de E/S. Costumam modelar 
dispositivos seriais. 
• Dispositivos de bloco – Arquivos especiais que permitem acesso à dispositivos de E/S. Costumam modelar 
dispositivos de bloco, em especial discos. 
• Sockets – Conexões de permitem a troca de informações entre processos. Pode ser local ou em rede.
• Pipes – Conexões que permitem a troca de informações entre processos no mesmo host. Links – Ligações 
entre arquivos. 
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Tipos de arquivos suportados pelo Linux
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Organização de arquivos e diretórios
• Organização de único nível
• Armazena todos os arquivos em um único nível;
• Raramente utilizado hoje.
• Organização hierárquica
• Possui uma organização em forma de árvore;
• Utilizado na maioria dos sistemas de arquivos atuais.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Estrutura hierárquica
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Estrutura de um arquivo
• User data
• Dados do usuário dentro do arquivo.
• Metadata
• Informações utilizadas pelo sistema operacional para gerenciar o arquivo
• Tamanho, dono do arquivo, tempo de acesso, modificação, localização dos dados;
• Em sistemas operacionais *NIX, estas informações ficam armazenadas em uma estrutura 
chamada Inode.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Alocação de dados
Dados são divididos em blocos 
• Alocação contígua 
• Armazenamento em blocos contíguos.
• File allocation table (FAT) 
• Armazena na memória uma lista com ponteiros para cada bloco, formando uma lista encadeada. 
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Características diversas
Cada sistema de arquivos tem suas particularidades:
• Forma de alocação dos dados;
• Journaling;
• Múltiplos discos;
• Snapshots;
• Mapeamento do espaço livre, entre outras.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Journaling
• Journaling é o processo de registro de mudanças no sistema de arquivos por meio de um journal (um log 
circular dedicado em uma região adjacente do disco). 
• As alterações reais no armazenamento físico são, então, efetuadas partir do log.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistema de arquivos do Linux: EXT3
• Fortemente baseado no EXT2, o EXT2 pode ser desmontado e remontado como EXT3 e vice-versa, tendo 
inclusive compatibilidade de metadados.
Vantagens implementadas no EXT3:
• Ferramenta de fsck;
• EXT3 tornou-se um journaling filesystem;
• Maior disponibilidade de reboots inesperados (sem necessidade de checagem de disco);
• Melhor taxa de IO em relação ao ext2 devido a otimização do journaling;
• Mecanismos de controle de integridade dos dados.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistema de arquivos do Linux: EXT3
• Foi o mais comumsistema de arquivos no Linux:
• Muitas distribuições utilizaram como padrão;
• Aplicações especificamente desenhadas para Ext3;
• Familiar para maioria dos administradores.
• Desvantagens:
• Tempo de reparo (fsck) pode ser extremamente longo;
• Escalabilidade limitada (max. 16TB). 
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistema de arquivos do Linux: EXT4
• Sucessor do ext3;
• Fsck mais rápido (aprox. 10x mais rápido que ext3);
• Relativamente familiar para usuários ext3;
• Pré-alocação persistente;
• Precisão do timestamp para nano segundos (antes era em segundos).
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistema de arquivos do Linux: XFS
• Desenvolvido para suportar quantidades massivas de dados (suporta sistemas de arquivos de ate 9 Exabytes);
• Alta performance para grandes quantidades de dados;
• Muitos anos de uso em grandes ambientes (>16TB);
• Maior parte de seus metadados é organizado em B+Trees (incluindo seus extents).
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistema de arquivos do Linux: BRTFS
• Objetivo de ser o próximo sistema de arquivos padrão no Linux;
• Suporte a grande quantidade de dados;
• Data checksum;
• Compressão de dados;
• Snapshots;
• Suporte integrado a múltiplos discos (RAID 0 e RAID1 por enquanto);
• Ainda em fase experimental.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistema de arquivos do Linux: Comparação entre FileSystems
Sistema de Arquivo Tam Max do Arquivo
Tamanho máximo da 
partição
Journaling Notas
Fat32 4 GiB 8 TiB Não Legado
NTFS 2 TiB 256 TiB Sim
Para compatibilidade com 
Windows, utilizar o NTFS-3g.
ext2 2 TiB 32 TiB Não Legado
ext3 2 TiB 32 TiB Sim
Não é mais o padrão, no 
entanto, ainda existem
muitos servidores com este
Sistema.
ext4 16 TiB 1 EiB Sim Padrão atual do linux.
reiserFS 8 TiB 16 TiB Sim No longer well-maintained.
JFS 4PiB 32PiB Sim (metadados) Criado pela IBM.
Btrfs 16 EiB
16 EiB
Sim COW (Copy onWrite logging)
XFS 8 EiB 8 EiB Sim (metadados)
Criado pela SGI. Melhor 
escolha para um mix de 
estabilidade e journaling
avançado.
GiB = Gibibyte (1024 MiB) :: TiB = Tebibyte (1024 GiB) :: PiB = Pebibyte (1024 TiB) :: EiB = Exbibyte (1024 PiB)
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Sistemas de arquivos: Ferramentas
• Mkfs
Inicializa um sistema de arquivos.
• Fsck
• Verifica e repara consistência.
• Resize tool
• Estende e diminui o sistema de arquivos.
• Ferramentas especificas
• xfs_dump, btrfs, gfs2_edit, dumpe2fs, tune2fs.
AULA 3: SISTEMAS DE ARQUIVOS E COMANDOS
LABORATÓRIO PRÁTICO
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Comandos básiscos
Who mostra os usuários logados no sistema
w também mostra os usuários logados no sistema
quota -v mostra informações sobre cotas na área do usuário
du -hs * mostra o espaço usado por cada arquivo/diretório de usuário
ls lista conteúdo do diretório local
ls -l mostra conteúdo detalhado
ls -a mostra arquivos escondidos
mkdir cria diretório
cp copia arquivo
cp -r copia recursivamente (para copiar diretórios)
Mvt mover ou renomear arquivo/diretório
Rm apaga arquivo
rm –r apaga recursivamente
rm –rf apaga recursivamente sem confirmação (use com cuidado!)
Cd muda de diretório
Pwd mostra o diretório atual
cat, more ou less mostram conteúdos de arquivo
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Comandos básiscos
tail mostra final de arquivo
head mostra começo de arquivo
zip e unzip comprime/descomprime arquivos .zip
gzip e gunzip comprime/descomprime arquivos .gz
ssh acessa outra máquina Linux via protocolo seguro SSH
scp copia arquivos entre máquinas Linux via protocolo seguro
grep procura por palavra ou expressão em um ou mais arquivos
rgrep procura por palavra ou expressão recursivamente
chmod muda permissão de arquivos e diretórios
locate procura por um nome de arquivo/diretório
passwd troca a senha
nano abre o editor nano
emacs abre o editor emacs
kile abre o editor kile adequado para edição de textos em LATEX
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Comando df
O comando df retorna o espaço em disco de cada file system, para incluir o tipo do file system em partição do 
disco listada, utilize a flag -T como a segguir:
$ df -Th
OR
$ df -Th | grep "^/dev"
[root@localhost ~]# df -Th | grep "^/dev"
/dev/md0 ext3 97G 36G 56G 40% /
/dev/md3 ext3 208G 60G 138G 31% /backup
/dev/md2 ext3 146G 75G 64G 55% /bd
/dev/sda1 ext3 1,8T 1,3T 414G 77% /backup/dbsrv
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Comando fsck
O fsck é utilizado para checar e, opcionalmente, reparar um File System Linux. Pode, também, imprimir o tipo 
de sistema de arquivo de cada partição do disco.
A flag -N desativa a verificação de erros no file system, ele apenas mostra o que poderia ser feito (precisamos 
apenas do tipo do sistema de arquivos).
[root@localhost ~]# fsck -N /dev/sda1
fsck from util-linux-ng 2.17.2
[/sbin/fsck.ext4 (1) -- /boot] fsck.ext4 /dev/sda1
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Comando mount/umount
O comando mount é utilizado para montar um file system no Linux, pode também montar uma imagem ISO, 
montar file system remoto e muito mais. Quando executado sem nenhum argumento, ele imprime as 
informações sobre as partições de disco incluindo o tipo do file system como a seguir:
[root@localhost ~]# mount
/dev/mapper/vg_proxynoc-lv_root on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/sda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
[root@localhost ~]# mount | grep "^/dev"
/dev/mapper/vg_proxynoc-lv_root on / type ext4 (rw)
/dev/sda1 on /boot type ext4 (rw)
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Montar um pendrive no Linux
1. Inserir o pendrive na porta USB;
2. #dmesg;
3. Verificar as últimas linhas da saída do comando dmesg. Será mostrado o nome de 
dispositivo utilizado pelo pendrive, por exemplo: /dev/sda1 ou /dev/sdb1;
4. #mkdir /pendrive;
5. #mount /dev/sdb1 /pendrive.
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Montar um pendrive no Linux
usb 1-1: new full speed USB device number 4 using ohci_hcd
usb 1-1: New USB device found, idVendor=0781, idProduct=5583
usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 1-1: Product: Ultra Fit
usb 1-1: Manufacturer: SanDisk
usb 1-1: SerialNumber: 4C530001071207101282
usb 1-1: configuration #1 chosen from 1 choice
scsi5 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 4
usb-storage: waiting for device to settle before scanning
usb-storage: device scan complete
scsi 5:0:0:0: Direct-Access SanDisk Ultra Fit 1.00 PQ: 0 ANSI: 6
sd 5:0:0:0: Attached scsi generic sg2 type 0
sd 5:0:0:0: [sdb] 30031250 512-byte logical blocks: (15.3 GB/14.3 GiB)
sd 5:0:0:0: [sdb] Write Protect is off
sd 5:0:0:0: [sdb] Mode Sense: 43 00 00 00
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sdb: sdb1
sd 5:0:0:0: [sdb] Assuming drive cache: write through
sd 5:0:0:0: [sdb] Attached SCSI removable disk
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Montar um pendrive no Linux
[root@localhost~]# fdisk -l /dev/sdb1
Disk /dev/sdb1: 15.4 GB, 15375983616 bytes
64 heads, 32 sectors/track, 14663 cylinders
Units = cylinders of 2048 * 512 = 1048576 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – Montar um pendrive no Linux
[root@localhost ~]# mkdir /pendrive
[root@localhost ~]# mount /dev/sdb1 /pendrive/
[root@localhost ~]# df -lh
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/VolGroup-lv_root
6.5G 774M 5.4G 13% /
tmpfs 246M 0 246M 0% /dev/shm
/dev/sda1 477M 25M 427M 6% /boot
/dev/sdb1 15G 20M 15G 1% /pendrive
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – fstab
A configuração do arquivo /etc/fstab contém a informação necessária para automatizar o processo de montagem
de partições.
Em resumo, montagem é o processo em que uma partição (física) é preparada para acesso e é atribuído um local 
na árvore do sistema de arquivos (ou ponto de montagem).
Em geral, fstab é usado para dispositivos internos, dispositivos de CD / DVD e compartilhamentos de rede (samba 
/ nfs / sshfs).
As opções para montagem e fstab são semelhantes. As partições listadas no fstab podem ser configuradas para 
serem montadas automaticamente durante o processo de inicialização.
Se um dispositivo/ partição não estiver listado no fstab ONLY ROOT pode montar o dispositivo/ partição.
Os usuários podem montar um dispositivo/ partição se o dispositivo estiver no fstab com as opções apropriadas.
Introdução ao fstab
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
Atividades de laboratório – fstab
• Apresentar o arquivo de configuração e sintaxe do /etc/fstab;
• Adicionar um novo dispositivo (pendrive por exemplo) para ser montado automaticamente via fstab.
Laboratório com fstab
AULA 02: APRESENTAÇÃO DA DISCIPLINA
Servidores para internet
VAMOS AOS PRÓXIMOS PASSOS?
Atualização do sistema;
Ferramentas de atualização;
Gerenciamento de usuários e 
grupos;
Permissões de acesso;
Propriedade dos arquivos.
AVANCE PARA FINALIZAR 
A APRESENTAÇÃO.

Continue navegando