Install Arch Linux on LVM (Português)
Você deve criar seus volumes LVM entre as etapas de particionamento e formatação do procedimento de instalação. Ao invés de diretamente formatar uma partição para que ela seja a raiz de seu sistema de arquivos, o sistema de arquivos deverá ser criado dentro de um volume lógico (LV).
Visão geral:
- Instalação dos pacotes necessários. (consulte LVM#Instalação);
- Criação de partições no lugar onde seus volumes físicos (PVs) irão residir;
- Criação de seus volumes físicos (PVs). Se você tiver um disco é melhor apenas criar um PV em uma partição grande. Se você tiver múltiplos discos, você pode criar partições em cada um deles e criar um PV em cada partição;
- Criação seu grupo de volumes (VG) e adicionar todos os PVs a ele;
- Criação volumes lógicos (LVs) dentro deste VG;
- Continuação a partir do Guia de instalação#Formatar as partições;
- Ao chegar na etapa “Initramfs” do guia de instalação, adicione o hook
lvm2
ao/etc/mkinitcpio.conf
(consulte os detalhes abaixo);
/boot
não pode residir como LVM se o seu gerenciador de boot não possuir suporte ao LVM (somente o GRUB é conhecido por fornecer suporte ao LVM). Você deve criar uma partição /boot separada e formatá-la diretamente.Instalação
Você seguirá o guia de instalação até chegar ao Guia de instalação#Partição dos discos. Nesse ponto, você irá divergir e fazer todo o seu particionamento com o LVM em mente.
Criação de partições
Primeiro, particione o dispositivo conforme necessário antes de configurar o LVM.
Ao criar as partições:
- Se estiver usando GPT, defina a partição do tipo GUID para
E6D6D379-F507-44C2-A23C-238F2A3DF928
(partição do tipoLinux LVM
no fdisk e8e00
no gdisk). - Se estiver usando uma tabela de partições do tipo MBR, defina o ID do tipo de partição para
8e
(partição do tipoLinux LVM
no fdisk).
Criação de volumes físicos
Para listar todos os seus dispositivos capazes de serem usados como volume físico:
# lvmdiskscan
Crie um volume físico neles:
# pvcreate DISPOSITIVO
Este comando cria um cabeçalho em cada dispositivo que poderá ser usado pelo LVM. Conforme definido em LVM#Blocos de construção do LVM, DISPOSITIVO pode ser qualquer dispositivo de bloco, ou seja, um disco /dev/sda
, uma partição /dev/sda2
ou um dispositivo de loopback. Por exemplo:
# pvcreate /dev/sda2
Você pode verificar os volumes físicos criados com:
# pvdisplay
Você também pode obter um resumo de informações em volumes físicos com:
# pvscan
Criação e expansão de um grupo de volumes
Primeiro, você precisa criar um grupo de volumes em um dos volumes físicos:
# vgcreate grupo_de_volumes volume_fisico
Por exemplo:
# vgcreate GrupoVolume00 /dev/sda2
Veja lvm(8) para uma lista de caracteres válidos para nomes de grupos de volumes.
Então, estenda-o para todos os volumes físicos que você desejar que pertençam a ele:
# vgextend grupo_de_volumes volume_fisico
Por exemplo, para adicionar sdb1 e sdc a seu grupo de volumes:
# vgextend GrupoVolume00 /dev/sdb1 # vgextend GrupoVolume00 /dev/sdc
Você pode ver como o seu grupo de volumes aumenta, usando:
# vgdisplay
Isto é o que você também faria se desejasse adicionar um disco a um RAID ou grupo de espelhamento com discos em falha.
Criação combinada de volumes físicos e grupos de volumes
O LVM permite combinar a criação de grupo de volumes e de volume físico em um simples passo. Por exemplo, para criar o grupo de volumes GrupoVol00 com três dispositivos mencionados acima, você pode executar:
# vgcreate GrupoVol00 /dev/sda2 /dev/sdb1 /dev/sdc
Este comando irá primeiro configurar três partições como volumes físicos (se necessário) e então irá criar o grupo de volumes com os três volumes. O comando irá avisá-lo se detectar um sistema de arquivos existente em qualquer um dos dispositivos.
Criação de volumes lógicos
- Se desejar usar snapshots, armazenar cache em volumes lógicos, definir volumes lógicos de provisionamento fino ou configurar RAID, consulte a página principal a partir de LVM#Volumes lógicos.
- Se um volume lógico será formatado em ext4, deixe pelo menos 256 MiB de espaço livre em seu grupo de volume para permitir o uso de e2scrub(8). Após a criação do último volume com
-l 100%FREE
, isto pode ser alcançado ao reduzir o tamanho comlvreduce -L -256M grupo_volume/volume_logico
.
Agora será necessário criar volumes lógicos neste grupo de volumes. Você cria um volume lógico com o comando a seguir fornecendo o nome de um novo volume lógico, seu tamanho, e o grupo de volumes ao qual ele pertencerá:
# lvcreate -L tamanho grupo_de_volumes -n volume_logico
Por exemplo:
# lvcreate -L 10G GrupoVol00 -n lvolhome
Isto irá criar um volume lógico que você poderá acessar posteriormente com /dev/GrupoVol00/lvolhome
. Assim como grupos de volumes, você pode usar qualquer nome que desejar para seu volume lógico quando estiver criando-o, com exceção de algumas restrições listadas em lvm(8) § VALID_NAMES.
Você também pode especificar um ou mais volumes físicos para restringir onde o LVM irá alocar os dados. Por exemplo, você pode criar um volume lógico para a raiz do sistema de arquivos em seu SSD pequeno, e seu volume /home
em um disco rígido mecânico mais lento. Simplesmente adicione os dispositivos de volume físicos à linha de comando, por exemplo:
# lvcreate -L 10G GrupoVol00 -n lvolhome /dev/sdc1
Se você desejar preencher todo o espaço livre no restante do grupo de volumes, use o seguinte comando:
# lvcreate -l 100%FREE grupo_de_volumes -n volume_logico
Você pode verificar os volumes lógicos criados com:
# lvdisplay
modprobe dm_mod
) para que os comandos acima funcionem.Formatação e montagem de volumes lógicos
Seus volumes lógicos deverão agora estar localizados em /dev/NomeDoSeuGrupoDeVolumes/
. Se você não puder localizá-lo, use os comandos a seguir para carregar o módulo para criação de nodes de dispositivo e para tornar os grupos de volumes disponíveis:
# modprobe dm_mod # vgscan # vgchange -ay
Agora você pode criar sistemas de arquivos em volumes lógicos e montá-los como partições normais (veja como montar um sistema de arquivos para detalhes adicionais):
# mkfs.tipo_de_sistema_de_arquivos /dev/grupo_de_volumes/volume_logico # mount /dev/grupo_de_volumes/volume_logico/ponto_de_montagem
Por exemplo:
# mkfs.ext4 /dev/GrupoVol00/lvolhome # mount /dev/GrupoVol00/lvolhome /home
/dev/GrupoVol00/lvolhome
). Não selecione as atuais partições onde os volumes lógicos foram criados (não use: /dev/sda2
).Configuração do sistema
Certifique-se que o pacote lvm2 está instalado.
lvm2
. Se você está executando mkinitcpio em uma nova instalação sob uso do arch-chroot, lvm2 precisa estar instalado dentro do sistema acessado pelo arch-chroot para que mkinitcpio consiga encontrar o hook lvm2
. Se lvm2 apenas existe fora de arch-chroot, mkinitcpio terá uma saída como: Error: Hook 'lvm2' cannot be found
, ou seja, Erro: Hook 'lvm2' não pode ser encontrado
.Adição de hooks do mkinitcpio
No caso da raiz do sistema de arquivos estar em um LVM, você irá precisar ativar os hooks apropriados do mkinitcpio, caso contrário seu sistema não irá inicializar. Ative:
udev
elvm2
para um initramfs baseado no busybox;systemd
elvm2
para um initramfs baseado no systemd;
udev
estará lá por padrão. Edite o arquivo e insira lvm2
entre block
e filesystems
, como por exemplo:
/etc/mkinitcpio.conf
HOOKS=(base udev ... block lvm2 filesystems)
Para initramfs baseados no systemd:
/etc/mkinitcpio.conf
HOOKS=(base systemd ... block lvm2 filesystems)
Depois, você pode continuar com as instruções normais de instalação com a etapa criar uma ramdisk inicial.
Opções de inicialização do kernel
Se a raiz do sistema de arquivos estiver em um volume lógico, o parâmetro do kernel root=
deve ser apontado para o dispositivo mapeado, por exemplo /dev/nome-do-vg/nome-do-lv
.