Mostrando postagens com marcador Sistemas de Arquivos. Mostrar todas as postagens
Mostrando postagens com marcador Sistemas de Arquivos. Mostrar todas as postagens

quinta-feira, 28 de abril de 2011

Linux - Partições e Sistemas de Arquivos

(Viva o Linux) - O Linux é muito versátil quando o assunto é sistema de arquivos e por isso, é muito importante o entendimento de suas funcionalidades. Um exemplo disso é a possibilidade de criar e manter arquivos em diferentes tipos de partições, discos, dispositivos e computadores remotos. Além disso, o Linux da suporte há vários tipos de sistemas de arquivos (EXT2, EXT3, ReiserFS, NTFS, entre outros).

O Linux possui uma extensa gama de dispositivos de sistema, sendo que estes podem ser formatados para utilizar os mais diversos tipos de sistemas de arquivos. O diretório padrão dos dispositivos do sistema é o /dev. Observe o exemplo:

# ls /dev 

Dos inúmeros dispositivos apenas falarei de dois, os do tipo IDE e os do tipo SCSI. O primeiro padrão atende a maioria dos computadores caseiros enquanto o segundo é utilizado em servidores por oferecer melhor desempenho do que os discos IDE.

As placas mãe da maioria dos computadores possuem duas interfaces IDE, primária e secundária, que podem conectar dois discos IDE cada. O padrão SCSI não tem limitação de discos como o padrão IDE, podendo chegar até pelo menos 15 discos.

Os discos IDE e SCSI seguem as seguintes nomenclaturas nos sistemas operacionais Linux:
/dev/hda Disco IDE Mestre Primário
/dev/hdb Disco IDE Escravo Primário
/dev/hdc Disco IDE Mestre Secundário
/dev/hdd Disco IDE Escravo Secundário
/dev/sda Disco SCSI conectado no primeiro canal
/dev/sdb Discos SCSI conectado no segundo canal
/dev/sdc Discos SCSI conectado no terceiro canal

Cada disco pode ter de uma até dezesseis partições onde cada partição é representada por um número inteiro. Por exemplo /dev/hda1 será a primeira partição se houver outra partição ela será a /dev/hda2 e assim por diante sendo que a mesma regra se pratica nos discos SCSI.

Existem quatro tipos de partições:
  • Partições primárias - Cada disco pode conter até quatro partições primárias elas contêm pelo menos um sistema de arquivos e pelo menos uma deve ser criada. Uma dessas partições deve ser marcada como ativa para que a carga do sistema operacional seja possível.
  • Partição estendida - Esse tipo de partição é um contêiner de partições lógicas, ele não pode conter nenhum sistema de arquivos e um disco pode ter somente uma partição estendida.
  • Partições lógicas - As partições lógicas são subpartições que existem em conjunto com a partição estendida, podem-se ter doze partições desse tipo e elas podem ser nomeadas á partir do número cinco até o dezesseis. Podemos ter no máximo 15 partições com sistemas de arquivos em único disco, sendo três primárias e doze lógicas.
  • Partições de swap - São partições que tem o objetivo de aumentar a performance do sistema, ela possibilita que o Linux tenha uma memória virtual em disco. Ela trabalha como um arquivo de troca de dados entre a memória física e o disco.

Criando partições e sistemas de arquivos

fdisk

O programa fdisk é um manipulador de tabelas de partições do Linux. Com ele podemos criar, mudar, listar e apagar as partições de um disco rígido. Ele nos possibilita criar vários tipos de partições com diferentes sistemas operacionais para o Linux.

Sistemas de Arquivos

Os discos rígidos, por muito pequenos que sejam, contêm milhões de bits, é necessário por isso organizar os dados a fim de poder localizar as informações, é o objetivo do sistema de arquivos. Um disco rigido é constituído por várias bandejas circulares que giram em redor de um eixo. As pistas (zonas concêntricas escritas de um lado e doutro de uma bandeja) estão divididas em quartos chamados "sectores" (com uma dimensão de 512 bytes). A formatação lógica de um disco permite criar um sistema de arquivos no disco, oque vai permitir a um sistema operacional (DOS, Windows 9x, UNIX, Linux…) utilizar o espaço no disco para armazenar e utilizar arquivos. O sistema de arquivos baseia-se na gestão dos clusters (em português “unidade de subsídio”), ou seja, a mais pequena unidade de disco que o sistema operacional é capaz de gerir.














Um cluster é constituído por um ou vários sectores, assim quanto maior é um cluster, menos entidades sistema operacional terá de gerir… 

Por outro lado, já que um sistema operacional sabe gerir apenas unidades de subsídio inteiras, o que quer dizer que um arquivo ocupa um número inteiro de cluster, o desperdício é ainda maior se houver sectores por cluster. Compreende-se então a importância da escolha do sistema de arquivos.

Um sistema de arquivos é um conjunto de estruturas lógicas e de rotinas, que permitem ao sistema operacional controlar o acesso ao disco rígido. Diferentes sistemas operacionais usam diferentes sistemas de arquivos. Conforme cresce a capacidade dos discos e aumenta o volume de arquivos e acessos, esta tarefa torna-se mais e mais complicada, exigindo o uso de sistemas de arquivos cada vez mais complexos e robustos. Existem diversos sistemas de arquivos diferentes, que vão desde sistemas simples como o FAT16, que utilizamos em cartões de memória, até sistemas como o NTFS, EXT3 e ReiserFS, que incorporam recursos muito mais avançados.

No mundo Windows, temos apenas três sistemas de arquivos: FAT16, FAT32 e NTFS. O FAT16 é o mais antigo, usado desde os tempos do MS-DOS, enquanto o NTFS é o mais complexo e atual. Apesar disso, temos uma variedade muito grande de sistemas de arquivos diferentes no Linux (e outros sistemas Unix), que incluem o EXT2, EXT3, ReiserFS, XFS, JFS e muitos outros. Para quem usa apenas o Windows, estes sistemas podem parecer exóticos, mas eles são velhos conhecidos de quem trabalha com servidores, já que neles o Linux é que é o sistema mais popular.

Sistema de arquivos e sistema operacional
Na realidade, a escolha do sistema de arquivos faz-se em primeiro lugar, de acordo com o sistema operacional que utiliza. Geralmente, quanto mais recente é o sistema operacional, maior será o número de sistemas de arquivos suportados . Assim, sob DOS e nas primeiras versões do Windows 95, o FAT16 é um imperativo. 

A partir do Windows 95 OSR2, pode escolher entre os sistemas de arquivos FAT16 e FAT32. Se por acaso a dimensão da partição for superior a 2Go, o sistema de arquivo FAT é excluído, deve por conseguinte utilizar o sistema FAT32 (ou alterar a dimensão da partição).

Abaixo deste limite, o FAT16 é recomendado para partições de uma capacidade inferior a 500Mo, noutro caso, a utilização de FAT32 é preferível.

No caso do Windows NT (até à versão 4) pode escolher entre o sistema FAT16 e NTFS, em contrapartida este não suporta o FAT32. Geralmente, o sistema NTFS é aconselhado porque oferece uma segurança maior, bem como desempenhos acrescidos em relação ao FAT. A Microsoft recomenda com efeito utilizar uma pequena partição (compreendida entre 250 e 500Mo) de tipo FAT para o sistema de exploração, para poder começar a partir de uma disquete DOS de arranque em caso de problema, e conservar os dados numa segunda partição para armazenar os seus dados.

Sob Windows NT5 o leque aumenta, dado que aceita partições de tipo FAT16, FAT32 e NTFS. Uma vez mais, o sistema de arquivos mais recentes (NTFS 5) é aconselhado, dado que oferece mais funcionalidades do que os sistemas FAT. Pelas mesmas razões que as anteriores, pode contudo optar por uma partição de tipo FAT.

Sistema operacionalTipos de sistema de arquivos suportados
DosFAT16
Windows 95FAT16
Windows 95 OSR2FAT16, FAT32
Windows 98FAT16, FAT32
Windows NT4FAT, NTFS (version 4)
Windows 2000/XPFAT, FAT16, FAT32, NTFS (versions 4 et 5)
LinuxExt2, Ext3, ReiserFS, Linux Swap(, FAT16, FAT32, NTFS)
MacOSHFS (Hierarchical File System), MFS (Macintosh File System)
OS/2HPFS (High Performance File System)
SGI IRIXXFS
FreeBSD, OpenBSDUFS (Unix File System)
Sun SolarisUFS (Unix File System)
IBM AIXJFS (Journaled File System)


A coabitação de vários sistemas de arquivos
Quando vários sistemas operacionais que coabitam numa mesma máquina, o problema da escolha do sistema de arquivos é o pior. Com efeito, o sistema de arquivos está estreitamente ligado ao sistema operacional, assim quando há vários sistemas operacionais, é necessário escolher para cada um deles o sistema operacional tendo em conta o facto de que é possível que tenha de aceder a dados a partir uns dos outros. Uma primeira solução consiste em utilizar partições FAT para todos os sistemas, tendo o cuidado de não utilizar só partições de uma dimensão inferior a 2Go. A solução mais adaptada é utilizar para cada um dos sistemas uma partição à qual o sistema de ficheiros é adaptado, e de dedicar uma partição em FAT16 aos dados dedicados a serem partilhados pelos diferentes sistemas operacionais.