Apêndice C. Introdução às Partições de Disco

NotaNota
 

Este apêndice não se aplica necessariamente a arquiteturas não baseadas no x86. Entretanto, os conceitos gerais mencionados aqui podem ser aplicados.

Partições de disco são e têm sido parte do cenário de um computador pessoal há bastante tempo. Entretanto, como muitas pessoas adquirem computadores com sistemas operacionais pré-instalados, relativamente poucas pessoas compreendem como as partições funcionam. Este capítulo pretende explicar as razões para e o uso de partições de disco, para que a instalação de seu Red Hat Enterprise Linux seja mais simples e menos trabalhosa.

Se você está razoavelmente familiarizado com partições de disco, pode pular para a Seção C.1.4, e obter mais informações sobre o processo de liberação de espaço em disco a fim de preparar seu sistema para a instalação do Red Hat Enterprise Linux. Esta seção também aborda o esquema de nomenclatura de partições usada por sistemas Linux, a divisão de espaço em disco com outros sistemas operacionais, e outros tópicos correlatos.

C.1. Conceitos Básicos do Disco Rígido

Discos rígidos executam uma função muito simples — eles armazenam dados que podem ser recuperados com confiança através de comandos.

Quando abordamos questões como o particionamento de disco, é importante saber um pouco sobre o hardware utilizado. Infelizmente, é fácil se prender a detalhes, porém este apêndice utiliza um diagrama simples de um disco rígido para auxiliar na explicação do que realmente ocorre quando um disco rígido é partido. A Figura C-1, mostra um disco rígido novo, não usado.

Figura C-1. Um Disco Rígido Não Usado

Não há muito a observar, não é mesmo? Mas se estamos falando em discos rígidos em um nível básico, esta imagem é adequada. Digamos que queremos guardar alguns dados neste disco rígido. Isto não funcionará do jeito que as coisas estão agora. Há algo que deve ser feito primeiro…

C.1.1. Não Importa O Que Você Grava, mas Como Você Grava

Usuários de computador experientes provavelmente captaram isto na primeira tentativa. Nós precisamos formatar o drive. Formatar (comumente conhecido como "criar um sistema de arquivos") grava informação no drive, criando uma ordem no espaço vazio de um drive não formatado.

Figura C-2. Drive de Disco com um sistema de arquivos

Como a Figura C-2 implica, a ordem imposta por um sistema de arquivos envolve algumas desvantagens:

  • Uma pequena porcentagem do espaço disponível do drive é usado para armazenar dados relativos ao sistema de arquivos.

  • Um sistema de arquivos divide o espaço restante em pequenos segmentos de espaço consistente. No Linux, estes segmentos são conhecidos como blocos. [1]

Como os sistemas de arquivo possibilitam a existência de diretórios e arquivos, estas desvantagens geralmente são vistas como um pequeno preço a pagar.

É importante notar também que não há um tipo único e universal de sistema de arquivo. Assim como ilustrado na Figura C-3, um drive de disco pode conter um dos vários tipos de sistemas de arquivo. De fato, sistemas de arquivo diferentes tendem a ser incompatíveis, ou seja, um sistema operacional que suporta um tipo de sistema de arquivo (ou um punhado de tipos de sistemas de arquivo relacionados) talvez não suporte um outro tipo. No entanto, esta última afirmação não é uma regra 100%. Por exemplo: o Red Hat Enterprise Linux suporta uma grande variedade de sistemas de arquivo (inclusive muitos dos sistemas comumente usados por outros sistemas operacionais), facilitando a troca de dados entre sistemas de arquivo diferentes.

Figura C-3. Drive de Disco com um Sistema de Arquivo Diferente

Obviamente, gravar um sistema de arquivo no disco é só o começo. O objetivo deste processo é, na verdade, armazenar e recuperar dados. Vamos dar uma olhada em nosso drive após ter salvo (gravado) alguns arquivos nele.

Figura C-4. Drive de Disco com Dados Gravados

Assim como ilustrado na Figura C-4, 14 dos blocos previamente vazios agora contêm dados. Porém, não é possível determinar o número exato de arquivos neste drive apenas olhando a figura. Pode haver somente um ou muitos arquivos, já que todos os arquivos utilizam pelo menos um bloco e alguns arquivos utilizam blocos múltiplos. Outro ponto importante: os blocos usados não precisam formar uma região contígua; blocos usados e não usados podem apresentar intervalos entre si. Isto é conhecido como fragmentação. A fragmentação pode ser utilizada ao tentar redimensionar uma partição existente.

Assim como ocorrido com a maioria das tecnologias relativas a computadores, drives de disco foram modificados após sua introdução. Particularmente aumentaram de tamanho. Não estamos falando em espaço físico, mas em capacidade de armazenamento de dados. E esta capacidade adicional trouxe uma mudança fundamental no modo como drives de disco são utilizados.

C.1.2. Partições: Transformando Um Drive em Muitos

Como as capacidades de drives de disco aumentaram drasticamente, algumas pessoas começaram a pensar se seria uma boa idéia ter todo este espaço formatado em um grande pedaço. Essa linha de pensamento foi guiada por diversas questões, algumas filosóficas, outras técnicas. Do lado filosófico, acima de um determinado tamanho, parecia que o espaço adicional provido por um drive maior criava mais desordem. Do lado técnico, alguns sistemas de arquivo nunca foram planejados para suportar acima de uma capacidade determinada. Ou os sistemas de arquivo poderiam suportar drives maiores com maior capacidade, mas o tempo de espera para o sistema de arquivo encontrar arquivos se tornou excessivo.

A solução deste problema foi dividir discos em partições. Cada partição pode ser acessada como se fosse um disco separado. Isto é feito através da adição de uma tabela de partição.

NotaNota
 

Apesar dos diagramas deste capítulo apresentarem a tabela de partição separada do drive de disco, isto não é 100% verdadeiro. Na realidade, a tabela de partição é armazenada bem no começo do disco, antes de qualquer sistema de arquivos ou dados do usuário. Mas, para clarificar, eles estão separados em nossos diagramas.

Figura C-5. Drive de Disco com Tabela de Partição

Conforme ilustrado na Figura C-5, a tabela de partição está dividida em quatro seções ou quatro partições primárias. Um partição primária é aquela partição no disco rígido que pode conter apenas um drive lógico (ou seção). Cada seção pode armazenar as informações necessárias para definir uma única partição, ou seja, a tabela de partição pode definir até quatro partições.

Cada campo da tabela de partição contém diversas características importantes da partição:

  • Os pontos do disco onde a partição começa e termina

  • Se a partição está ativa

  • O tipo da partição

Vamos dar uma olhada mais minuciosa nestas características. Os pontos de início e fim na verdade definem o tamanho da partição e sua localização no disco. A bandeira "ativa" é utilizada por gestores de início de alguns sistemas operacionais. Em outras palavras, o sistema operacional é iniciado na partição marcada como "ativa".

O tipo de partição pode ser um pouco confuso. O tipo é um número que identifica o uso antecipado da partição. Isto soa um pouco vago porque o conceito do tipo de partição também é vago. Alguns sistemas operacionais usam o tipo de partição para denotar um tipo específico de sistema de arquivo, ou para indicar que a partição está associada a um determinado sistema operacional, ou para indicar que a partição contém um sistema operacional iniciável, ou alguma combinação dos três.

Neste ponto, você deve estar pensando como essa complexidade é utilizada normalmente. Veja um exemplo na Figura C-6.

Figura C-6. Drive de Disco Com Uma Partição

Em muitos casos, há apenas uma partição em todo o disco, essencialmente duplicando o método usado antes do particionamento. A tabela de partição tem apenas um campo, que aponta o início da partição.

Nomeamos esta partição como sendo do tipo "DOS". Apesar de ser apenas um dos diversos tipos de partição listados na Tabela C-1, é adequado para os fins desta discussão.

A Tabela C-1 contém uma lista com alguns tipos de partição conhecidos (e outros nem tanto), junto aos seus valores numéricos hexadecimais.

Tipo de PartiçãoValorTipo de PartiçãoValor
Vazio00Novell Netware 38665
DOS 12-bit FAT01PIC/IX75
XENIX root02MINIX velha80
XENIX usr03Linux/MINUX81
DOS 16-bit <=32M04Swap do Linux82
Extendida05Linux nativa83
DOS 16-bit >=3206Linux extendida85
HPFS do SO/207Amoeba93
AIX08Amoeba BBT94
AIX bootable09BSD/386a5
Gestor de Início do SO/20aOpenBSDa6
FAT32 do Win950bNEXTSTEPa7
FAT32 (LBA) do Win950cBSDI fsb7
FAT16 (LBA) do Win950eBSDI swapb8
Win95 Extendida (LBA)0fSyrinxc7
Venix 8028640CP/Mdb
Novell51Accesso ao DOSe1
PPC PReP Boot41DOS R/Oe3
GNU HURD63DOS secundáriof2
Novell Netware 28664BBTff

Tabela C-1. Tipos de Partição

C.1.3. Partições dentro de Partições — Uma Visão Geral de Partições Extendidas

Obviamente, ao longo do tempo ficou claro que quatro partições não seriam suficientes. Como drives de disco continuaram se expandindo, seria provável que uma pessoa poderia configurar quatro partições de tamanhos razoáveis e ainda ter espaço livre em disco. Mesmo assim, era preciso achar uma maneira de criar mais partições.

Insira a partição extendida. Como você deve ter notado na Tabela C-1, há uma partição do tipo "Extendida". Este é o tipo de partição que está no centro das partições extendidas.

Quando criamos uma partição e definimos que seu tipo será "Extendida", uma tabela de partição extendida é criada. Essencialmente, a partição extendida é como um drive de disco por si só — tem uma tabela de partição que aponta para uma ou mais partições (agora denominadas partições lógicas, em oposição às quatro partições primárias) contidas inteiramente dentro da própria partição extendida. A Figura C-7 apresenta um drive de disco com uma partição primária e uma partição extendida contendo duas partições lógicas (junto ao espaço em disco não particionado).

Figura C-7. Drive de Disco com Partição Extendida

De acordo com esta figura, há uma diferença entre partições primárias e lógicas — pode haver apenas quatro partições primárias, mas não há limite para o número de partições lógicas. Entretanto, devido à maneira como as partições são acessadas no Linux, você deve evitar definir mais de 12 partições lógicas em um único drive de disco.

Agora que discutimos partições em geral, vamos rever como aplicar este conhecimento para instalar o Red Hat Enterprise Linux.

C.1.4. Criando Espaço para o Red Hat Enterprise Linux

A lista abaixo apresenta alguns cenários possíveis que você pode encontrar ao tentar reparticionar seu disco rígido:

  • Espaço livre não particionado disponível em disco

  • Uma partição não usada disponível

Vamos ver cada cenário nesta ordem.

NotaNota
 

Por favor tenha em mente que as ilustrações a seguir foram simplificadas para facilitar o entendimento e não refletem o layout exato da partição que você encontra ao instalar o Red Hat Enterprise Linux.

C.1.4.1. Usando Espaço Livre Não Particionado

Neste caso, as partições já definidas não ocupam o disco rígido inteiro, deixando espaço não alocado que não pertence a nenhuma partição definida. A Figura C-8 ilustra esta situação.

Figura C-8. Drive de Disco com Espaço Livre Não Particionado

Na Figura C-8, 1 representa uma partição indefinida com espaço não alocado e 2 representa uma partição definida com espaço alocado.

Se pensarmos nisto, um disco rígido não usado também cai nesta categoria. A única diferença é que todo o espaço não faz parte de nenhuma partição definida.

Em seguida, discutiremos uma situação um pouco mais comum.

C.1.4.2. Usando Espaço de uma Partição Não Usada

Neste caso, talvez você tenha uma ou mais partições que não utiliza mais. Talvez você as tenha tenha dividido com outro sistema operacional anteriormente, e a(s) partição(ões) dedicada(s) a isto parece(m) não ter sido utilizada(s) novamente. A Figura C-9 ilustra esta situação.

Figura C-9. Drive de Disco Com uma Partição Não Usada

Na Figura C-9, 1 representa uma partição não usada e 2 representa a realocação de uma partição não usada para o Linux.

Se você estiver nesta situação, pode utilizar o espaço alocado para a partição não usada. Primeiramente você precisa apagar a partição, e então criar a(s) partição(ões) Linux apropriada(s) em seu lugar. Você pode apagar a partição não usada e manualmente criar novas partições durante o processo de instalação.

C.1.5. Esquema de Nomenclatura de Partições

Linux refere-se a partições de disco utilizando uma combinação de letras e números que pode ser um pouco confusa, particularmente se você estiver acostumado com o tipo de referência "drive C" a discos rígidos e suas partições. No mundo DOS/Windows, as partições são nomeadas usando o seguinte método:

  • Cada tipo de partição é verificado para determinar se ele pode ser acessado pelo DOS/Windows.

  • Se o tipo de partição for compatível, lhe é atribuído uma "letra de drive". As letras dos drives começam com "C" e seguem para as próximas letras, dependendo do número de partições a serem nomeadas.

  • A letra do drive pode então ser usada para referenciar esta partição assim como o sistema de arquivo contido nesta partição.

O Red Hat Enterprise Linux utiliza um esquema de nomenclatura mais flexível e traz mais informações do que o esquema usado por outros sistemas operacionais. O esquema de nomenclatura é baseado em arquivos, com os nomes de arquivos no formato /dev/xxyN.

Como decifrar o esquema de nomenclatura de partições:

/dev/

Esse é o nome do diretório onde se encontram todos os arquivos de dispositivos. Já que partições residem em discos rígidos, e discos rígidos são dispositivos, os arquivos representando todas as partições possíveis residem em /dev/.

xx

As primeiras duas letras do nome da partição indicam o tipo de dispositivo no qual a partição reside, geralmente hd (para discos IDE) ou sd (para discos SCSI).

y

Essa letra indica em qual dispositivo a partição está. Por exemplo, /dev/hda (o primeiro disco rígido IDE) ou /dev/sdb (o segundo disco SCSI).

N

O número final denota a partição. As primeiras quatro partições (primárias ou extendidas) são numeradas de 1 a 4. Partições lógicas começam com 5. Por exemplo, /dev/hda3 é a terceira partição primária ou extendida no primeiro disco rígido IDE, e /dev/sdb6 é a segunda partição lógica no segundo disco rígido SCSI.

NotaNota
 

Não há nenhuma parte desta convenção de nomes baseada no tipo de partição; ao contrário do DOS/Windows, todas as partições podem ser identificadas sob o Red Hat Enterprise Linux. Obviamente, isso não significa que Red Hat Enterprise Linux pode acessar dados em qualquer tipo de partição, mas em muitos casos é possível acessar dados em uma partição dedicada a outro sistema operacional.

Tenha essa informação em mente; isto facilitará o entendimento das coisas ao definir as partições que o Red Hat Enterprise Linux necessita.

C.1.6. Partições de Disco e Outros Sistemas Operacionais

Se as partições de seu Red Hat Enterprise Linux forem compartilhar um disco rígido com partições usadas por outros sistemas operacionais, você não terá problemas na maioria das vezes. No entanto, há determinadas combinações do Linux com outros sistemas operacionais que requerem cuidado extra.

C.1.7. Partições de Disco e Pontos de Montagem

Uma área que muitos novatos no Linux acham confusa é a questão de como as partições são usadas e acessadas pelo sistema operacional Linux. No DOS/Windows ela é relativamente simples: cada partição leva uma "letra de drive". E então você usa a letra de drive correta para consultar arquivos e diretórios na partição correspondente.

Isto é completamente diferente da maneira como o Linux lida com partições e, por consequência, com o armazenamento em disco em geral. A principal diferença é que cada partição é usada para formar parte do armazenamento necessário para suportar um conjunto de arquivos e diretórios. Isto é feito associando a partição com o diretório através de um processo conhecido como montagem. Montar uma partição viabiliza seu armazenamento a partir do diretório especificado (conhecido como ponto de montagem).

Por exemplo: se a partição /dev/hda5 é montada em /usr, isto significa que todos os arquivos e diretórios sob /usr estarão fisicamente localizados em /dev/hda5. Portanto, o arquivo /usr/share/doc/FAQ/txt/Linux-FAQ seria armazenado em /dev/hda5, enquanto o arquivo /etc/X11/gdm/Sessions/Gnome não estaria na mesma localização.

Continuando com nosso exemplo, também é possível que um ou mais diretórios sob /usr/ sejam pontos de montagem de outras partições. Por exemplo: uma partição (digamos /dev/hda7) poderia ser montada em /usr/local, significando que /usr/local/man/whatis então estaria localizado em /dev/hda7 ao invés de /dev/hda5.

C.1.8. Quantas Partições?

Neste estágio de preparação para instalar o Red Hat Enterprise Linux, você precisa atentar para o número e tamanho das partições a serem utilizadas pelo seu novo sistema operacional. A questão de "quantas partições" continua esquentando o debate na comunidade Linux e, sem nenhuma conclusão deste debate à vista, é seguro dizer que provavelmente há tantos layouts de partições quanto pessoas discutindo essa questão.

Tendo isso em mente, nós recomendamos que, a não ser que você tenha uma razão para fazer de outra maneira, você deve criar no mínimo as seguintes partições: swap, /boot (não é necessário um arquivo /boot/ para sistemas iSeries, mas é para todos os outros sistemas), PPC PReP Boot, e uma / (root). Note que os novos discos virtuais podem ser adicionados dinamicamente ao SO/400 versão V5R2 e mais recentes.

Para mais informações, consulte a Seção 2.14.4.

Notas

[1]

Blocos realmente têm tamanho consistente, diferentemente de nossas ilustrações. Também tenha em mente que um drive de disco comum contém milhares de blocos. Porém, para os propósitos desta discussão, por favor ignore estas pequenas discrepâncias.