Gentoo Logo

Aviso : Este documento não é válido e não é mais mantido.


[ << ] [ < ] [ Início ] [ > ] [ >> ]


4. Preparando os discos

Conteúdo:

4.a. Introdução a dispositivos de bloco

Dispositivos de bloco

Iremos estudar os aspectos de manuseio de discos do Gentoo Linux e do Linux em geral, incluindo sistemas de arquivos de Linux, partições e dispositivos de bloco. Uma vez que você estiver familiar com o funcionamento de discos e sistemas de arquivos, iniciaremos o processo de configuração de partições e sistemas de arquivos para sua instalação do Gentoo Linux.

Para começar, iremos introduzir os dispositivos de bloco. O dispositivo de bloco mais famoso é provavelmente aquele que representa o primeiro disco rígido IDE em um sistema Linux, chamado de /dev/hda. Se seu sistema usa discos SCSI ou SATA, então seu primeiro disco rígido será /dev/sda.

Os dispositivos de bloco acima representam uma interface abstrata para o disco. Programas de usuário podem usar os dispositivos de bloco para interagir com seu disco sem preocupação se eles são IDE, SCSI ou outra coisa. O programa pode simplesmente classificar o espaço de armazenagem no disco como um monte de blocos de 512 bytes contíguos acessíveis aleatoriamente.

Partições

Embora seja teoricamente possível usar um disco inteiro para armazenar seu sistema Linux, isto é quase nunca feito na prática. Ao invés disso, dispositivos de bloco de discos são divididos em dispositivos de bloco menores e mais fáceis de manusear. Em sistemas x86, são chamados de partições.

As partições são divididas em três tipos: primária, estendida e lógica.

Uma partição primária é uma partição que tem sua informação gravada no registro mestre de inicialização (MBR). Como um MBR é muito pequeno (512 bytes), somente quatro partições primárias podem ser definidas (por exemplo, de /dev/hda1 até /dev/hda4).

Uma partição estendida é uma partição primária especial (significando que a partição estendida deve ser uma das quatro partições primárias possíveis), que contém mais partições. Tal partição não existia originalmente, mas como quatro partições eram muito pouco, estendeu-se o esquema de formatação sem perder compatibilidade com o método antigo.

Uma partição lógica é uma partição dentro de uma partição estendida. Suas definições não são colocadas dentro do registro mestre de inicialização (MBR), mas são declaradas dentro da partição estendida.

Armazenamento avançado

Os CDs de instalação de x86 oferecem suporte para EVMS e LVM2. EVMS e LVM2 aumentam a flexibilidade oferecida pela sua configuração de particionamento. Durante as instruções de instalação, nós iremos focar em partições "normais", mas ainda é bom saber que EVMS e LVM2 também são suportados.

4.b. Desenhando um esquema de particionamento

Esquema de particionamento padrão

Se você não está interessado em desenhar um esquema de particionamento para seu sistema, você pode usar o esquema de particionamento que usamos neste manual inteiro:

Partição Sistema de arquivos Tamanho Descrição
/dev/hda1 ext2 32M Partição de inicialização (boot)
/dev/hda2 (swap) 512M Partição de swap
/dev/hda3 ext3 Resto do disco Partição raiz (root)

Se você estiver interessado em saber o tamanho que uma partição (ou volume lógico) deve ter, ou mesmo de quantas partições (ou volumes) você precisa, leia mais. Senão, continue com Usando o fdisk para particionar seu disco.

Quantas e de que tamanho?

O número de partições depende muito de seu ambiente. Por exemplo, se você tem muitos usuários, você provavelmente deve ter seu /home separado para aumentar a segurança e tornar backups mais fáceis. Se você estiver instalando o Gentoo para funcionar como um servidor de e-mails, seu /var deve ser separado, uma vez que todos e-mails são gravados dentro de /var. Uma boa escolha de sistema de arquivos irá maximizar sua performance. Servidores de jogos têm uma partição /opt separada, uma vez que a maior parte de servidores de jogos são instalados lá. A razão é semelhante à do /home: segurança e backups. Você deve manter seu /usr grande: não só irá conter a maior parte das aplicações, a árvore do Portage sozinha toma em torno de 500 Mbytes, excluindo as várias fontes que são gravadas nela.

Como você pode ver, muito depende do que você quer fazer. Partições ou volumes separados têm as seguintes vantagens:

  • Você pode escolher o sistema de arquivos de melhor performance para cada partição ou volume
  • Seu sistema inteiro não irá ficar sem espaço se uma ferramenta defunta estiver continuamente escrevendo arquivos em uma partição ou volume
  • Se necessárias, verificações de sistemas de arquivos têm seu tempo reduzido, já que verificações múltiplas podem ser feitas em paralelo (embora esta vantagem seja maior com vários discos que com várias partições)
  • A segurança pode ser melhorada ao montar algumas partições ou volumes como somente-leitura, nosuid (bits de setuid são ignorados), noexec (bits executáveis são ignorados), etc...

No entanto, partições múltiplas têm uma grande desvantagem: se não forem configuradas apropriadamente, você pode acabar com um sistema com muito espaço livre em uma partição e nenhum em outra. Também existe um limite de 15 partições para SCSI e SATA.

Como um exemplo de particionamento, iremos mostrar uma de um disco de 20GB, usado como um laptop de demonstração (contendo um servidor de web, servidor de e-mail, gnome, ...):

Listagem de código 2.1: Exemplo de utilização de sistema de arquivos

$ df -h
Filesystem    Type    Size  Used Avail Use% Mounted on
/dev/hda5     ext3    509M  132M  351M  28% /
/dev/hda2     ext3    5.0G  3.0G  1.8G  63% /home
/dev/hda7     ext3    7.9G  6.2G  1.3G  83% /usr
/dev/hda8     ext3   1011M  483M  477M  51% /opt
/dev/hda9     ext3    2.0G  607M  1.3G  32% /var
/dev/hda1     ext2     51M   17M   31M  36% /boot
/dev/hda6     swap    516M   12M  504M   2% <not mounted>
(Espaço sem particionamento para uso futuro: 2 GB)

A partição /usr está bastante cheia (83% usado) aqui, mas uma vez que todo software está instalado, a /usr não tende a crescer tanto. Embora alocar alguns gigabytes de espaço em disco para /var possa parecer excessivo, lembre-se de que o Portage use esta partição por padrão para compilar pacotes. Se você quiser manter a /var em um tamanho mais razoável, como 1GB, você deve alterar sua variável PORTAGE_TMPDIR no /etc/make.conf para apontar para a partição com espaço livre em disco suficiente para compilar pacotes extremamente grandes como OpenOffice.

4.c. Usando o fdisk para particionar seu disco

As partes seguintes explicam como criar o modelo de partições descrito anteriormente:

Partição Descrição
/dev/hda1 Partição de inicialização (boot)
/dev/hda2 Partição de swap
/dev/hda3 Partição raiz (root)

Mude o seu arranjo de partições de acordo com sua preferência.

Vendo o arranjo de partições atual

O fdisk é uma ferramenta popular e poderosa para dividir seu disco em partições. Inicie o fdisk em seu disco (em nosso exemplo, usamos /dev/hda):

Listagem de código 3.1: Iniciando o fdisk

# fdisk /dev/hda

Uma vez dentro do fdisk, você verá um prompt que se parece com o seguinte:

Listagem de código 3.2: prompt do fdisk

Command (m for help): 

Digite p para ver a configuração de partições atual de seu disco:

Listagem de código 3.3: Um exemplo de configuração de partições

Command (m for help): p

Disk /dev/hda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1             1        14    105808+  83  Linux
/dev/hda2            15        49    264600   82  Linux swap
/dev/hda3            50        70    158760   83  Linux
/dev/hda4            71      2184  15981840    5  Extended
/dev/hda5            71       209   1050808+  83  Linux
/dev/hda6           210       348   1050808+  83  Linux
/dev/hda7           349       626   2101648+  83  Linux
/dev/hda8           627       904   2101648+  83  Linux
/dev/hda9           905      2184   9676768+  83  Linux

Command (m for help): 

Este disco em particular está configurado para armazenar sete sistemas de arquivos Linux (cada um com uma partição correspondente listada como "Linux"), bem como uma partição de swap (listada como "Linux swap").

Apagando todas partições

Iremos primeiro apagar todas partições existentes do disco. Digite d para apagar uma partição. Por exemplo, para apagar um /dev/hda1 já existente:

Listagem de código 3.4: Apagando uma partição

Command (m for help): d
Partition number (1-4): 1

A partição foi agendada para ser apagada. Ela não irá mais aparecer se você digitar p, mas não será apagada até que suas mudanças sejam salvas. Se você cometeu um erro e quiser abortar sem salvar suas mudanças, digite q imediatamente e aperte enter e sua partição não será apagada.

Agora, presumindo que você realmente quer apagar todas partições de seu sistema, aperte p repetidamente para mostrar uma listagem de partições e então digite d e o número da partição para apagá-la. No fim, você terminará com uma tabela de partições sem nada:

Listagem de código 3.5: Uma tabela de partições vazia

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System

Command (m for help):

Agora que a tabela de partições na memória está vazia, estamos prontos para criar as partições. Nós iremos usar o esquema de particionamento padrão que discutimos anteriormente. Lógico, não siga as instruções à risca se você não quer o mesmo esquema de particionamento!

Criando a partição de inicialização (boot)

Primeiro criamos uma pequena partição de inicialização (boot). Digite n para criar uma nova partição, então p para selecionar a partição primária, seguida de 1 para selecionar a primeira partição primária. Quando pedido o primeiro cilindro, aperte enter. Quando pedido o último cilindro, digite +32M para criar uma partição de 32 Mbytes de tamanho:

Listagem de código 3.6: Criando a partição de inicialização (boot)

Command (m for help): n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-3876, default 1): (Aperte Enter)
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-3876, default 3876): +32M

Agora, quando você digitar p, você verá o seguinte esquema de particionamento:

Listagem de código 3.7: Partição de inicialização (boot) criada

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1          1        14    105808+  83  Linux

Nós precisamos fazer esta partição carregável. Digite a para ligar a opção de carregável em uma partição e selecione 1. Se você apertar p de novo, você verá que um * foi colocado na coluna de "Boot".

Criando a partição de swap

Vamos agora criar a partição de swap. Para fazer isto, digite n para criar uma nova partição, então p para dizer ao fdisk que você quer uma partição primária. Então digite 2 para criar a segunda partição primária, /dev/hda2 em nosso caso. Quando for pedido o primeiro cilindro, aperte enter. Quando for pedido o último cilindro, digite +512M para criar uma partição de 512MB. Depois que você fez isso, digite t para ajustar o tipo de partição, 2 para selecionar a partição que você acabou de criar e então digite 82 para ajustar o tipo de partição para "Linux Swap". Depois de completar estes passos, ao digitar p você deve ver uma tabela de partição que se parece com isso:

Listagem de código 3.8: Listagem de partições depois de criar a partição de swap

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap

Criando a partição raiz (root)

Finalmente, vamos criar a partição de root. Para fazer isso, digite n para criar uma nova partição, então p para dizer ao fdisk que você quer uma partição primária. Então digite 3 para criar a terceira partição primária, /dev/hda3 em nosso caso. Quando for pedido o primeiro cilindro, aperte enter. Quando for pedido o último cilindro, aperte enter para criar uma partição que toma o resto do espaço disponível em seu disco. Depois de completar estes passos, ao digitar p você deve ver uma tabela de partições parecida com o seguinte:

Listagem de código 3.9: Listagem de partições depois de criar a partição raiz (root)

Command (m for help): p

Disk /dev/hda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes

Device Boot    Start       End    Blocks   Id  System
/dev/hda1 *        1        14    105808+  83  Linux
/dev/hda2         15        81    506520   82  Linux swap
/dev/hda3         82      3876  28690200   83  Linux

Salvando o arranjo de partições

Para salvar o arranjo de partições e sair do fdisk, digite w.

Listagem de código 3.10: Salve e saia do fdisk

Command (m for help): w

Agora que suas partições foram criadas, você pode continuar com Criando sistemas de arquivos.

4.d. Criando sistemas de arquivos

Introdução

Agora que suas partições foram criadas, está na hora de colocar um sistema de arquivos nelas. Se você não se importa em escolher o sistema de arquivos e está contente com o que usamos como padrão neste manual, continue com Aplicando um sistema de arquivos a uma partição. Caso contrário, leia mais para aprender sobre os sistemas de arquivos disponíveis...

Sistemas de arquivos?

O kernel do Linux suporta vários sistemas de arquivos. Nós iremos explicar sobre ext2, ext3, ReiserFS, XFS e JFS, já que estes são os sistemas de arquivos mais usados em sistemas Linux.

O ext2 é o sistema mais testado e fiel ao Linux, mas não tem jornal de meta-dados, o que significa que verificações rotineiras de sistemas de arquivo ext2 podem levar bastante tempo. Existe agora uma razoável seleção de sistemas de arquivos de nova geração com jornal que podem ter sua consistência verificada rapidamente e que são geralmente preferíveis aos seus respectivos sistemas sem jornal. Sistemas de arquivo com jornal previnem longas esperas quando você carrega seu sistema e seu sistema de arquivos está em um estado inconsistente.

O ext3 é a versão com jornal do sistema de arquivos ext2, fornecendo jornal de meta-dados para recuperação rápida, fora outros modos de jornal aprimorados como dados completos e dados ordenados. O ext3 é um sistema de arquivos muito bom e confiável. Tem uma opção adicional de catalogar hashed b-trees que permite alta performance em quase todas situações. Você pode ativar este catálogo adicionando -O dir_index ao comando mke2fs. Para resumir, o ext3 é um excelente sistema de arquivos.

O ReiserFS é sistema de arquivos baseado em B*-trees que tem uma performance em geral muito boa e muito superior a tanto o ext2 quanto o ext3 na hora de lidar com arquivos pequenos (de menos de 4k), freqüentemente com um fator de 10x-15x. O ReiserFS também escala extremamente bem e tem jornal de meta-dados. A partir do kernel 2.4.18+, o ReiserFS está sólido e pronto para ser usado tanto como um sistema de arquivos genérico quanto para casos extremos como a criação de sistemas de arquivos enormes, uso de muitos arquivos pequenos, arquivos muito grandes e diretórios contendo dezenas de milhares de arquivos.

O XFS é um sistema de arquivos com jornal de meta-dados que vem com um robusto conjunto de funções e é otimizado para escalabilidade. Só recomendamos usar este sistema de arquivos em sistemas rodando Linux com equipamento SCSI de ponta e/ou armazenamento em canais de fibra e fonte de energia sem interrupção. Pelo fato de o XFS criar cachês agressivamente de dados em uso na memória RAM, programas mal desenhados (que não tomam precauções na hora de escrever os arquivos em disco, e existem muitos deles) podem perder uma grande quantidade de dados se o sistema for desligado sem aviso.

O JFS é o sistema de arquivos com jornal de alta performance da IBM. Recentemente tornou-se pronto para uso em produção e não há experiência suficiente para comentar a favor ou contra sua estabilidade geral neste ponto.

Aplicando um sistema de arquivos a uma partição

Para criar um sistema de arquivos em uma partição ou volume, existem ferramentas disponíveis para cada sistema de arquivos possível:

Sistema de arquivos Comando de criação
ext2 mke2fs
ext3 mke2fs -j
reiserfs mkreiserfs
xfs mkfs.xfs
jfs mkfs.jfs

Por exemplo, para ter a partição de inicialização (boot) (/dev/hda1 em nosso exemplo) em ext2 e a partição de root (/dev/hda3 em nosso exemplo) em ext3 (como em nosso exemplo), você faria:

Listagem de código 4.1: Aplicando um sistema de arquivos a uma partição

# mke2fs /dev/hda1
# mke2fs -j /dev/hda3

Agora crie os sistemas de arquivos em suas partições recém-criadas (ou volumes lógicos).

Ativando a partição de swap

mkswap é o comando usado para iniciar partições de swap:

Listagem de código 4.2: Criando uma assinatura de swap

# mkswap /dev/hda2

Para ativar a partição de swap, use swapon:

Listagem de código 4.3: Ativando a partição de swap

# swapon /dev/hda2

Crie e ative o swap agora com os comandos mencionados acima.

4.e. Montando

Agora que suas partições foram iniciadas e possuem um sistema de arquivos, está na hora de montá-las. Use o comando mount. Não se esqueça de criar os diretórios necessários de montagem para cada partição que você criou. Como exemplo montamos a partição raiz (root) e de inicialização (boot):

Listagem de código 5.1: Montando partições

# mount /dev/hda3 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/hda1 /mnt/gentoo/boot

Nota: Se você quiser que seu /tmp resida em uma partição separada, certifique-se de mudar suas permissões depois de montá-la: chmod 1777 /mnt/gentoo/tmp. O mesmo vale para /var/tmp.

Agora iremos montar o sistema de arquivos proc (uma interface virtual com o kernel) em /proc. Porém, primeiro iremos colocar nossos arquivos nas partições.

Continue com Instalando os arquivos de instalação do Gentoo.


[ << ] [ < ] [ Início ] [ > ] [ >> ]


Imprimir

View all

Atualizado 1 de janeiro de 2006

A versão original deste documento foi atualizada em 23 de janeiro de 2014

Resumo: Para poder instalar o Gentoo, você deve criar as partições necessárias. Este capítulo descreve como particionar um disco rígido para uso posterior.

Sven Vermeulen
Autor

Roy Marples
Autor

Daniel Robbins
Autor

Chris Houser
Autor

Jerry Alexandratos
Autor

Seemant Kulleen
Desenvolvedor do Gentoo x86

Tavis Ormandy
Desenvolvedor do Gentoo Alpha

Jason Huebel
Desenvolvedor do Gentoo AMD64

Guy Martin
Desenvolvedor do Gentoo HPPA

Pieter Van den Abeele
Desenvolvedor do Gentoo PPC

Joe Kallar
Desenvolvedor do Gentoo SPARC

John P. Davis
Editor

Pierre-Henri Jondot
Editor

Eric Stockbridge
Editor

Rajiv Manglani
Editor

Jungmin Seo
Editor

Stoyan Zhekov
Editor

Jared Hudson
Editor

Colin Morey
Editor

Jorge Paulo
Editor

Carl Anderson
Editor

Jon Portnoy
Editor

Zack Gilburd
Editor

Jack Morgan
Editor

Benny Chuang
Editor

Erwin
Editor

Joshua Kinard
Editor

Tobias Scherbaum
Editor

Xavier Neys
Editor

Grant Goodyear
Revisor

Gerald J. Normandin Jr.
Revisor

Donnie Berkholz
Revisor

Ken Nowack
Revisor

Lars Weiler
Colaborador

Enderson Maia
Tradutor Responsável

Marcelo Góes
Tradutor

Eduardo Magalhães
Tradutor

Marcelo Azambuja
Tradutor

Marcos Vinicius Buzo
Tradutor

Donate to support our development efforts.

Copyright 2001-2014 Gentoo Foundation, Inc. Questions, Comments? Contact us.