Gentoo Logo

1.  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 SCSI em um sistema Linux, chamado de /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 e slices (fatias)

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. Na maior parte dos sistemas, são chamados de partições. Outras arquiteturas usam uma técnica semelhante, chamada de slices.

1.  Desenhando um esquema de particionamento

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.

1.  Usando o fdisk em HPPA para particionar o seu disco

Use o fdisk para criar as partições que você quer:

Listagem de código 1.1: Particionando o disco

# fdisk /dev/sda

Máquinas HPPA usam as tabelas de partições DOS padrão do PC. Para criar uma nova tabela de partições DOS, simplesmente use o comando o.

Listagem de código 1.1: Criando uma tabela de partições DOS

# fdisk /dev/sda

Command (m for help): o
Building a new DOS disklabel.

O PALO (o gerenciador de inicialização para HPPA) precisa de uma partição especial para funcionar. Você tem que criar uma partição de pelo menos 16MB no começo de seu disco. O tipo de partição deve ser f0 (Linux/PA-RISC boot).

Importante: Se você ignorar essa informação e continuar sem a partição especial do PALO, seu sistema irá parar de amar você e não irá iniciar. Também, se seu disco for maior que 2GB, certifique-se que a partição de inicialização (boot) está nos primeiros 2GB de seu disco. O PALO não consegue ler um kernel depois do limite de 2GB.

Listagem de código 1.1: Um simples esquema de partições padrão

# cat /etc/fstab
/dev/sda2    /boot   ext3    noauto,noatime   1 1
/dev/sda3    none    swap    sw               0 0
/dev/sda4    /       ext3    noatime          0 0

# fdisk /dev/sda

Command (m for help): p

Disk /dev/sda: 4294 MB, 4294816768 bytes
133 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 8246 * 512 = 4221952 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           8       32953   f0  Linux/PA-RISC boot
/dev/sda2               9          20       49476   83  Linux
/dev/sda3              21          70      206150   82  Linux swap
/dev/sda4              71        1017     3904481   83  Linux

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

1.  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?

Vários sistemas de arquivos estão disponíveis. Ext2, ext3, XFS e reiserfs estão estáveis na arquitetura HPPA. Os outros são muito experimentais.

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/sda2 em nosso exemplo) em ext2 e a partição de root (/dev/sda4 em nosso exemplo) em ext3 (como em nosso exemplo), você faria:

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

# mke2fs /dev/sda2
# mke2fs -j /dev/sda4

Agora crie os sistemas de arquivos em suas partições recém-criadas.

Ativando a partição de swap

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

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

# mkswap /dev/sda3

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

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

# swapon /dev/sda3

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

1.  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 1.1: Montando partições

# mount /dev/sda4 /mnt/gentoo
# mkdir /mnt/gentoo/boot
# mount /dev/sda2 /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).

Atualizado 2 de agosto de 2005

A versão original deste documento foi atualizada em 17 de outubro de 2011

Donate to support our development efforts.

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