Prévia do material em texto
SERVIDORES PARA INTERNET Aula 02: Apresentação da disciplina AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina Sistemas de arquivos: Arquitetura do file system O espaço de usuário contém os aplicativos e o GNU C Library (glibc), que fornece a interface do usuário para as chamadas do sistema de arquivos (abrir, ler, gravar e fechar). A interface de chamada do sistema atua como um comutador, canalizando as chamadas do sistema do espaço de usuário para terminais adequados no espaço do kernel. O VFS é a interface primária para os sistemas de arquivos subjacentes. Cada implementação do sistema de arquivos individual, como ext2, JFS, etc, exporta um conjunto comum de interfaces que é usado (e esperado) pelo VFS. O cache de buffer armazena em buffer os pedidos entre os sistemas de arquivos e os dispositivos de blocos que eles manipulam. O inode contém todos os metadados para gerenciar objetos no sistema de arquivos (inclusive as operações que são possíveis nele). AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina Sistema de arquivos do Linux: VFS – Virtual File System AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina Sistemas de arquivos: Tipos de arquivos suportados pelo Linux AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina Sistemas de arquivos: Estrutura hierárquica AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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. Inode Lista de blocos diretose indiretos; Árvores de extents e Árvores binarias (B+Trees). AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina Sistemas de arquivos: Inodes Inodes são armazenados em uma tabela em disco e referenciados por suas posições nesta tabela. Uma pequena tabela, parte do inode, indexa os blocos físicos que compõem o arquivo. Para arquivos grandes, usam-se blocos de indexação indiretos, que são usados para guardar mais ponteiros para blocos. AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina Sistema de arquivos do Linux: EXT3 Foi o mais comum sistema 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 AULA 01: NOME DA AULA Disciplina Sistema de arquivos do Linux: Journaling No EXT3 tanto os dados como os metadados são “noticiados”. A integridade dos dados pode ser feita de três modos (em ordem de velocidade): “data=writeback”: Rápido, evita fsck, mas recupera dados antigos após um crash; “data=ordered”: (default mode) Grava as modificações dos metadados e grava os blocos modificados; “data=journal”: Todas as modificações no sistema de arquivos são gravadas, possibilitando uma recuperação total, mas tornando o sistema muito lento. AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina Sistema de arquivos do Linux: EXT4 Sucessor do ext3; Uso de extents; Fsck mais rápido (aprox. 10x mais rápido que ext3); Relativamente familiar para usuários ext3; Pré-alocação persistente; Tamanho dos Inodes 256bytes (Ext3 era 128); Precisão do timestamp para nano segundos (antes era em segundos). AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina Sistema de arquivos do Linux: Comparação entre FileSystems Sistema de Arquivo TamMax do Arquivo Tamanho máximo da partição Journaling Notas Fat32 4GiB 8TiB Não Legado NTFS 2TiB 256TiB Sim Paracompatibilidadecom Windows,utilizaroNTFS-3g. ext2 2TiB 32TiB Não Legado ext3 2 TiB 32 TiB Sim Nãoémaisopadrão,no entanto,aindaexistemmuitosservidorescomesteSistema. ext4 16TiB 1EiB Sim Padrãoatualdolinux. reiserFS 8 TiB 16 TiB Sim Nolongerwell-maintained. JFS 4PiB 32PiB Sim (metadados) CriadopelaIBM. Btrfs 16EiB 16EiB Sim COW (CopyonWritelogging) XFS 8EiB 8EiB Sim (metadados) CriadopelaSGI. Melhor escolha para ummixde estabilidade ejournalingavançado. GiB=Gibibyte(1024MiB) ::TiB=Tebibyte(1024GiB) ::PiB=Pebibyte(1024TiB) ::EiB=Exbibyte(1024PiB) AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina LABORATÓRIO PRÁTICO AULA 3: SISTEMAS DE ARQUIVOS E COMANDOS AULA 01: NOME DA AULA Disciplina Atividades de laboratório – Comandos básiscos Who mostra os usuárioslogadosno 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 ouless mostram conteúdos de arquivo AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina Atividades de laboratório – Comandos básiscos tail mostra final de arquivo head mostra começo de arquivo zip eunzip comprime/descomprime arquivos .zip gzipegunzip 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 mostrao 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina Atividades de laboratório – Montar um pendrive no Linux Inserir o pendrive na porta USB; #dmesg; 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; #mkdir /pendrive; #mount /dev/sdb1 /pendrive. AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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 AULA 01: NOME DA AULA Disciplina 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. AULA 02: APRESENTAÇÃO DA DISCIPLINA Servidores para internet AULA 01: NOME DA AULA Disciplina