Manual:HPPA/Instalação/Discos

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:HPPA/Installation/Disks and the translation is 100% complete.
HPPA Manual
Installation
Sobre a instalação
Escolhendo a mídia
Configurando a rede
Preparando os discos
Instalando o stage3
Instalando o sistema base
Configurando o kernel
Configurando o sistema
Instalando as ferramentas
Configurando o gerenciador de boot
Finalizando
Trabalhando com o Gentoo
Introdução ao Portage
USE flags
Recursos do Portage
Sistema initscript
Variáveis de ambiente
Trabalhando com o portage
Arquivos e diretórios
Variáveis
Misturando ramos de software
Ferramentas adicionais
Árvore customizada do Portage
Recursos avançados
Configuração de rede
Iniciando
Configuração avançada
Uso de rede modular
Rede sem fio
Adicionando funcionalidade
Gerenciamento dinâmico


Introdução aos dispositivos de bloco

Dispositivos de bloco

Vamos dar uma boa olhada nos aspectos relacionados a discos do Gentoo Linux e do Linux em geral, incluindo dispositivos de bloco, partições e sistemas de arquivos Linux. Uma vez que os meandros dos discos forem compreendidos, serão configurados as partições e sistemas de arquivos para a instalação do Gentoo Linux.

Para começar, vamos dar uma olhada nos dispositivos de bloco. As unidades SCSI e Serial ATA são rotuladas pelo sistema como: /dev/sda, /dev/sdb, /dev/sdc, etc. Em maquinas modernas, os discos rígidos NVMe baseados em PCI Express são identificados como /dev/nvme0n1, /dev/nvme0n2, etc.

A tabela abaixo ajudará os leitores a determinar onde encontrar um certo tipo de dispositivo de bloco no sistema:

Tipos de dispositivo Identificador de dispositivo padrão Notas do editor e considerações
SATA, SAS, SCSI, ou USB flash /dev/sda Encontrados em hardware por volta de 2007 até os dias atuais, esses dispositivos são geralmente identificados no Linux dessa forma. Esses tipos de dispositivos podem ser conectados pelas entradas SATA, SCSI, USB como armazenamento em bloco. Por exemplo, a primeira partição do primeiro dispositivo SATA device é chamada de /dev/sda1.
NVM Express (NVMe) /dev/nvme0n1 A mais recente tecnologia de disco rigido, NVMe drives são conectados via PCI Express bus e possuem a velocidade de transferência de blocos mais rápida do mercado. Sistemas por volta de 2014 e recentes possuem suporte para NVMe no hardware. A primeira partição no primeiro dispositivo NVMe é chamada de /dev/nvme0n1p1.
MMC, eMMC, e SD /dev/mmcblk0 Dispositivos embutidos MMC, cartões SD, e outros tipos de cartões de memória podem ser uteis para armazenar dados. Dito isso, muitos sistemas talvez não permitam iniciar a partir desses tipos de dispositivo. É sugerido que não se use esses dispositivos para iniciar uma instalação do Linux; em vez disso, considere usá-los com o objetivo de transferir arquivos, no qual eles foram projetados. Alternativamente, eles podem ser úteis para backups de curto prazo.

Os dispositivos de bloco acima representam uma interface abstrata para o disco. Programas de usuários podem usar esses dispositivos de bloco para interagir com o disco sem se preocupar se são SATA, SCSI, ou de outro tipo. O programa pode simplesmente endereçar o armazenamento do disco como um grupo de blocos de 4096-bytes (4K) contínuos e acessíveis aleatoriamente.


Partições e fatias (slices)

Embora seja possível em teoria usar o disco todo para abrigar um sistema Linux, isso, na prática, quase nunca é feito. Em vez disso, os dispositivos de blocos são divididos em dispositivos de blocos menores, mais gerenciáveis. Na maioria dos sistemas são chamados de partições. Outras arquiteturas usam uma técnica similar chamada "slices" (fatias).

Criando um esquema de particionamento

Quantas partições e de que tamanho?

O design do layout de partições é altamente dependente das demandas do sistema e do(s) sistema(s) de arquivos aplicados ao dispositivo. Caso exista muitos usuários, é aconselhável ter o /home/ em uma partição separada pois isso traz segurança e torna o backup e outros tipos de manutenção mais fáceis. Se o Gentoo estiver sendo instalado para ser um pequeno servidor de email, então o diretório /var/ deve ficar separado em uma outra partição pois todos os emails armazenados ficam no /var/. Servidores de jogos podem ter o /opt/ separado em uma outra partição, já que a maioria dos softwares do servidor são instalados lá. A razão dessas recomendações são similares à do diretório /home/: segurança, backups e manutenções.

In most situations on Gentoo, /usr and /var should be kept relatively large in size. /usr hosts the majority of applications available on the system and the Linux kernel sources (under /usr/src). By default, /var hosts the Gentoo ebuild repository (located at /var/db/repos/gentoo) which, depending on the file system, generally consumes around 650 MiB of disk space. This space estimate excludes the /var/cache/distfiles and /var/cache/binpkgs directories, which will gradually fill with source files and (optionally) binary packages respectively as they are added to the system.

A quantidade de partições e os seus tamanhos dependem muito de vários fatores que devem ser considerados para escolher a melhor opção para a circunstância. Separar as partições em volumes têm a seguinte vantagens:

  • Escolha o sistema de arquivos de maior desempenho para cada partição ou volume.
  • O sistema todo não ficará sem espaço se uma aplicação problemática encher todo o espaço de uma partição ou volume.
  • Se necessário, a checagem do sistema de arquivos fica com o tempo reduzido, pois várias checagens podem ser feitas em paralelo (embora essa vantagem é mais percebida com múltiplos discos do que com múltiplas partições).
  • A segurança pode ser aumentada montando algumas partições ou volumes como somente leitura, nosuid (bits setuid são ignorados), noexec (bits de execução são ignorados), etc.


Contudo, múltiplas partições têm algumas desvantagens:

Há também o limite de 15 partições para SCSI e SATA, a menos que sejam utilizadas etiquetas GPT.

Nota
Installations that intend to use systemd as the service and init system must have the /usr directory available at boot, either as part of the root filesystem or mounted via an initramfs.

E o espaço de swap?

Não existe um valor perfeito para o espaço de swap. O propósito da partição de swap é prover armazenamento em disco ao kernel quando a memória interna (RAM) estiver acabando. Um espaço de swap permite ao kernel mover páginas de memória que provavelmente não serão necessárias tão logo para o disco (swap ou page-out), liberando memória na RAM para a tarefa atual. É claro que, se de repente essas páginas forem necessárias, elas serão trazidas de volta para a memória (page-in) o que irá demorar bem mais do que se fossem lidas direto na memória RAM (pois discos são muito lentos comparados com a memória interna).

Se o sistema não for executar aplicações que necessitem de muita memória ou se o sistema tiver uma grande quantidade de memória disponível, então provavelmente ele não vai precisar de muito espaço de swap. Porém, o espaço de swap é também usado para armazenar a memória inteira no caso de hibernação. Se o sistema for precisar de hibernação, então um espaço de swap maior será necessário, pelo menos do tamanho da memória RAM instalada no sistema.


Usando o fdisk no HPPA

Use o fdisk para criar as partições necessárias:

root #fdisk /dev/sda

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

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

PALO (o carregador de boot do HPPA) precisa de uma partição especial para funcionar. Uma partição de pelo menos 16MB no início do disco precisa ser criada para ele. O tipo da partição deve ser f0 (Linux/PA-RISC boot).

Importante
Se isso não for feito e a instalação continuar sem uma partição especial PALO, o sistema eventualmente falhará ao reiniciar. E, também, se o disco for maior que 2GB, certifique-se que a partição de boot está nos primeiros 2GB do disco. O PALO não é capaz de ler um kernel além do limite de 2GB.
FILE /etc/fstabUm esquema simples de particionamento default
/dev/sda2    /boot   ext2    noauto,noatime   1 1
/dev/sda3    none    swap    sw               0 0
/dev/sda4    /       ext4    noatime          0 0

No fdisk, esse layout de particionamento se parece com:

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


Criando sistemas de arquivos

Introdução

Agora que as partições foram corretamente criadas, é hora de criar um sistema de arquivos nelas. Na próxima seção os diversos sistemas de arquivos suportados pelo Linux são descritos. Leitores que já souberem qual sistema de arquivos irão usar podem continuar em Criando um sistema de arquivos em uma partição.

Sistemas de arquivos

Linux suporta dezenas de sistemas de arquivos. Alguns deles são só aconselháveis usar para fins específicos. Alguns são considerados mais estáveis na arquitetura hppa - é recomendado se informar sobre os sistemas de arquivos e o estado do suporte de cada um antes de selecionar algum mais experimental para partições importantes. Ext4 é o sistema de arquivo recomendado para todos os propósitos e para todas as plataformas. Abaixo está uma lista não exaustiva

btrfs
Um sistema de arquivos de próxima geração que provê vários recursos avançados como instantâneos (snapshots), autocorreção através de checksums, compressão transparente, subvolumes e RAID integrado. Kernels com versão anterior à 5.4.y não garantem segurança ao serem utilizados junto com btrfs em produção porque as correções de sérios problemas só estão presentes em versões mais recentes do branch LTS do kernel. Corrupção de sistema de arquivos são comuns em branches mais antigas do kernel, em qualquer outra versão anterior à 4.4.y é especialmente inseguro e propenso a corrupção. Corrupção de sistemas de arquivo são mais comuns em kernels mais antigos (anteriores à 5.4.y) quando a compressão de arquivos está habilitada. Funcionalidades como RAID 5/6 e quota groups são inseguros em todas as versões do btrfs. Além disso, o btrfs pode falhar contra intuitivamente nas operações de sistema de arquivos retornando ENOSPC quando o comando df reporta espaço livre devido a uma fragmentação interna (espaço livre fixado pelos chunks de DATA + SYSTEM, mas necessário em chunks de METADATA). Além disso, desde uma única referência de 4K até uma extensão de 128M dentro de um btrfs podem causar espaço livre indisponível para alocação. Isso também pode fazer com que o btrfs retorne ENOSPC quando o espaço livre é informado pelo comando df. Instalando o pacote sys-fs/btrfsmaintenance e configurando um script para executar periodicamente pode ajudar a reduzir a possibilidade do erro ENOSPC por rebalancear o btrfs, mas isso não elimina o risco de ENOSPC acontecer quando há espaço livre. Algumas workloads talvez nunca irão se deparar com o erro ENOSPC enquanto outras talvez irão. Se o risco de ENOSPC acontecer em produção for inaceitável, você deve usar algo diferente. Se estiver usando btrfs, certifique-se de evitar configurações conhecidas por terem problemas. Com exceção do ENOSPC, informações sobre os problemas presentes no btrfs nas branches mais recentes do kernel estão disponíveis em btrfs wiki status page.
ext4
Inicialmente criado como uma derivação do ext3, o ext4 traz novos recursos, melhorias de desempenho e remoção de limites de tamanhos com mudanças moderadas no formato em disco. Ele pode cobrir volumes de até 1 EB com limite de tamanho de arquivo de 16TB. Em vez da alocação em bloco de mapa de bits clássico do ext2/3 o ext4 usa extensões, o que melhora o desempenho com arquivos grandes e reduz a fragmentação. O ext4 também provê algoritmos de alocação de blocos mais sofisticados (alocação atrasada e alocação múltipla de blocos), dando ao driver do sistema de arquivos mais formas de otimizar o layout dos dados no disco. O ext4 é o sistema de arquivos recomendado para propósitos gerais e plataformas em geral.
f2fs
O Sistema de Arquivos "Amigável a Flash" (Flash-Friendly File System) foi originalmente criado pela Samsung para uso com memória flash NAND. Ainda hoje (segundo trimestre de 2016), esse sistema de arquivos é considerado imaturo, mas é uma escolha decente quando o Gentoo estiver sendo instalado em cartões microSD, pendrives ou outro tipo de dispositivos baseados em flash.
JFS
Sistema de arquivos com journaling de alto desempenho da IBM. O JFS é um sistema de arquivos baseado em árvore B+ confiável e rápido, com bom desempenho em várias situações.
XFS
Um sistema de arquivos com metadados de journaling que vem com um robusto conjunto de recursos e é otimizado para escalabilidade. O XFS parece ser menos tolerante a vários problemas de hardware, mas foi continuamente atualizado incluindo funcionalidades modernas.
VFAT
Também conhecido como FAT32, é suportado pelo Linux, mas não tem suporte para configurações de permissões padrão UNIX. É mais utilizado para interoperabilidade/intercâmbio com outros sistemas operacionais (como Windows ou macOS) mas é também uma necessidade para alguns sistemas de firmware (como o UEFI). Usuários de sistemas UEFI vão precisar de uma EFI System Partition formatada em VFAT para inicializar o sistema.
NTFS
Este sistema de arquivos com "Nova Tecnologia" ("New Technology Filesystem") é o principal sistema de arquivos do Microsoft Windows desde o Windows NT 3.1. Assim como o vfat, ele não armazena permissões ou atributos estendidos necessários para correto funcionamento de um BSD ou Linux, por isso não deve ser usado como sistema de arquivos na maioria dos casos. Deve ser usado apenas para interoperabilidade/intercâmbio com sistemas Microsoft Windows (note a ênfase no apenas).

Criando um sistema de arquivos em uma partição

Para criar um sistema de arquivos em uma partição ou volume, há utilitários disponíveis para o usuário para cada possível sistema de arquivos. Clique no nome do sistema de arquivo na tabela abaixo para informações adicionais para cada sistema de arquivo:

Sistema de arquivo Comando para criação Disponível no CD mínimo? Pacote
btrfs mkfs.btrfs Sim sys-fs/btrfs-progs
ext4 mkfs.ext4 Sim sys-fs/e2fsprogs
f2fs mkfs.f2fs Sim sys-fs/f2fs-tools
jfs mkfs.jfs Sim sys-fs/jfsutils
reiserfs mkfs.reiserfs Sim sys-fs/reiserfsprogs
xfs mkfs.xfs Sim sys-fs/xfsprogs
vfat mkfs.vfat Sim sys-fs/dosfstools
NTFS mkfs.ntfs Sim sys-fs/ntfs3g

Por exemplo, para ter a partição de sistema EFI (/dev/sda2) em FAT32 e a partição root (/dev/sda4) em ext4 como usado no exemplo de estrutura de partições, o seguintes comandos seriam usados:

root #mkfs.vfat -F 32 /dev/sda2
root #mkfs.ext4 /dev/sda4

Se usar o ext4 em uma partição pequena (menor que 8GB), então o sistema de arquivos deve ser criado com opções adequadas para reservar inodes suficientes. Isso pode ser resolvido usando um dos comandos a seguir, respectivamente:

root #mkfs.ext4 -T small /dev/<dispositivo>

Isso normalmente irá quadruplicar o número de inodes de um dado sistema de arquivos já que o número de "bytes por inode" é reduzido de um para cada 16kB para um para cada 4kB.

Agora crie os sistemas de arquivos nas partições recém criadas (ou volumes lógicos):

Ativando a partição de swap

mkswap é o comando que é utilizado para inicializar as partições de swap:

root #mkswap /dev/sda3

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

root #swapon /dev/sda3

Crie e ative o swap com os comandos mostrados acima.

Montando a partição root

Dica
Usuários que estiverem usando uma media de instalação não-Gentoo vão precisar criar os pontos de montagem com o comando:
root #mkdir --parents /mnt/gentoo

Agora que as partições foram inicializadas e contém um sistema de arquivos, é hora de montar essas partições. Use o comando mount, mas não se esqueça de criar os diretórios de montagem necessários para cada partição criada. Como exemplo montaremos as partições root e boot:

root #mount /dev/sda4 /mnt/gentoo
Nota
Se o /tmp/ precisar ficar em uma partição separada, certifique-se de alterar suas permissões depois de montar:
root #chmod 1777 /mnt/gentoo/tmp
Isso também vale para o /var/tmp.

Mais tarde nestas instruções o sistema de arquivos proc (uma interface virtual com o kernel) e também outros pseudo sistemas de arquivos serão montados. Mas antes nós instalamos os arquivos de instalação do Gentoo.