Instalação do Gentoo LVM2
1.
Introdução
Este guia é baseado em um exemplo com dois HD's IDE. Significa que você
necessitará mais do que provavelmente trocar os drivers, nomes de partições
e o tamanho das partições para acertar sua própria instalação à sua necessidade.
Aviso:
Este documento não tem a intenção de ser um tutorial de LVM2. Ele serve como um
suplemento para os procedimentos de instalação do Gentoo como descrito no Manual do Gentoo, Parte
1. Tenha certeza de ler o Manual de Instalação do Gentoo
antes de iniciar o processo de instalação.
|
Nota:
Para um guia completo sobre LVM aponte seu navegador para
http://tldp.org/HOWTO/LVM-HOWTO
|
Requerimentos iniciais
Se você vai instalar LVM2 em um sistema já pronto com sobra de espaço no disco rígido,
você precisa de um LiveCD com suporte à LVM2. Você pode procurar o Live CD para uma arquitetura x86
em nossos servidores no diretório
/releases/x86/2004.3/livecd. Outras arquiteturas também podem estar disponíveis.
Você precisa habilitar o módulo LVM2 (dm-mod). Este módulo está disponível no gentoo-sources e
no vanilla-sources.
O modo de compilar seu kernel e fazer o LVM2 funcionar será descrito mais adiante neste guia.
Nem todos os kernels da linha 2.4 fornecidos pelo Gentoo possuem suporte ao LVM2!
Aviso:
O LVM2 disponível nos CDs de instalação 2005.0 está erroneamente ligado
dinamicamente contra uma biblioteca (libgpm) que reside em /usr. Isto significa que você
não pode ter sua /usr em um ambiente LVM também. Ou instale a última versão
ou a versão 2.0.33 (não a -r1) que são construídas estaticamente.
|
Partições
Nosso sistema exemplo possui dois discos rígidos IDE e será particionado como segue:
- /dev/hda1 -- /boot
- /dev/hda2 -- (swap)
- /dev/hda3 -- /
- /dev/hda4 -- Será usado pelo LVM2
- /dev/hdb1 -- Será usado pelo LVM2
Importante:
Preste atenção aos nomes das partições, é muito fácil confundir os a's e b's, bem como
os números das partições. Um movimento em falso e você poderá remover uma partição errada.
Você foi avisado!
|
Ok, é hora de começar...
2.
Instalação
Siga o manual, mas com o seguinte adendo ao capítulo 4. Preparando os Discos:
Use fdisk como descrito no manual, mas use o esquema de partições
mencionado acima como um exemplo. Isto é somente um exemplo, adapte-o
para suas necessidades.
Crie uma pequena partição física /boot (hda1). Neste exemplo, /boot não será
gerenciado pelo LVM2. Esta partição irá conter seu gerenciador de inicialização e seu kernel.
Uma partição de 64MB deverá ser suficiente para acomodar um pequeno kernel gerado.
Crie a partição swap (hda2) e ative-a.
Listagem de código 2.1: Ativando a partição swap |
# mkswap /dev/hda2
# swapon /dev/hda2
|
Crie uma partição / (root) (hda3). Se for interessante para você, tente colocar
sua partição root sob o gerenciamento do LVM (mas não recomendamos), veja
na seção fontes no final deste guia um link para um mini-howto para saber como
fazê-lo. O tamanho de sua partição root não precisa ser tão grande se você
deixar /opt, /usr, /home, /var e /tmp em um Grupo de
Volume (vg). Neste caso, 150 Mb é suficiente.
Nota:
Não é recomendado colocar os seguintes diretórios como partições LVM2:
/etc, /lib, /mnt,
/proc, /sbin, /dev, e /root.
Desta maneira, você ainda pode registrar em seu sistema de log (meio capenga, mas
ainda usável como root) se algo desse terrivelmente errado.
|
Assumindo que as partições /boot, swap e root não utilizam todo o espaço do disco,
crie uma quarta partição neste disco e selecione o tipo como 8e (Linux LVM).
Se você possui mais discos rígidos, você deve particioná-lo como LVM, crie uma partição
em cada e selecione o mesmo tipo (8e).
Nota:
Considerando o grande tamanho dos discos atuais, você pode considerar particionar seu
disco rídigo em pequenas partições ao invéz de criar uma partição grande que será
adicionada ao grupo de volume LVM2 em um bloco. Com o LVM2 torna-se fácil extender
seus volumes após tudo. Isto deixa-lhe com algumas partições não alocadas, pois você pode
precisar usar partições de fora do grupo LVM2. Resumindo, não use todo o espaço de seus
discos até que você realmente necessite dele, como exemplo um colaborador dividiu seu disco
de 160 Gb em 8 partições de 20 Gb cada.
|
Carregando o módulo LVM2dm-mod.
Listagem de código 2.2: Carregando o módulo LVM2 |
# modprobe dm-mod
|
Varrendo e ativando LVM:
Listagem de código 2.3: Activating LVM |
# mkdir -p /etc/lvm
# echo 'devices { filter=["r/cdrom/"] }' >/etc/lvm/lvm.conf
# vgscan
Reading all physical volumes. This may take a while...
No volume groups found
# vgchange -a y
|
Prepare as partições.
Listagem de código 2.4: Preparando as partições |
# pvcreate /dev/hda4 /dev/hdb1
No physical volume label read from /dev/hda4
Physical volume "/dev/hda4" successfully created
No physical volume label read from /dev/hdb1
Physical volume "/dev/hdb1" successfully created
|
Ajuste um grupo de volume. Um grupo de volume é o resultado de combinar
diversas unidades físicas em um único dispositivo lógico.
Em nosso exemplo, /dev/hda1, /dev/hda2 e
/dev/hda3 que são as partições /boot, swap e root,
precisamos combinar /dev/hda4 e /dev/hdb1. Isto pode ser
realizado com um único comando, mas, como exemplo, iremos criar nosso Grupo de Volume
e extendê-lo.
Listagem de código 2.5: Criando e extendendo um Grupo de Volume |
# vgcreate vg /dev/hda4
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully created
# vgextend vg /dev/hdb1
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully extended
|
Crie os volumes lógicos. Volumes Lógicos são equivalentes as partições que
criaremos usando o fdisk em nosso ambiente LVM2. Em nosso exemplo, criaremos
as seguintes partições:
| Diretório |
Tamanho |
| /usr |
10 GB |
| /home |
5 GB |
| /opt |
5 GB |
| /var |
10 GB |
| /tmp |
2 GB |
Desde que estamos usando LVM2, não precisamos nos preocupar muito com o tamanho
das partições, pois elas podem ser expandidas sempre que necessário.
Nota:
Como Terje Kveres comentou, é mais simples aumentar o tamanho de uma partição
do que tentar encolhê-la. Conseqüentemente você pode começar com pequenas partições
e aumentá-las conforme suas necessidades.
|
Listagem de código 2.6: Criando e extendendo volumes lógicos |
# lvcreate -L10G -nusr vg
Logical volume "usr" created
# lvcreate -L5G -nhome vg
# lvcreate -L5G -nopt vg
# lvcreate -L10G -nvar vg
# lvcreate -L2G -ntmp vg
# lvextend -L+5G /dev/vg/home
|
Crie o sistema de arquivos nos volumes lógicos, exatamente da mesma forma como você
faria em uma partição normal. Nós usamos ext3 nos volumes lógicos mas qualquer sistema
de arquivos que você escolher irá funcionar:
Listagem de código 2.7: Criando o sistema de arquivos |
# mke2fs -j /dev/vg/usr
# mke2fs -j /dev/vg/home
# mke2fs -j /dev/vg/opt
# mke2fs -j /dev/vg/var
# mke2fs -j /dev/vg/tmp
|
Monte suas partições como descrito no manual e monte seus volumes lógicos LVM2
como se eles fossem partições normais. Substitua o comum /dev/hdxx
por /dev/vg/logical_volumename.
Listagem de código 2.8: Montando seus volumes lógicos |
# mkdir /mnt/gentoo/usr
# mount /dev/vg/usr /mnt/gentoo/usr
# mkdir /mnt/gentoo/home
# mount /dev/vg/home /mnt/gentoo/home
# mkdir /mnt/gentoo/opt
# mount /dev/vg/opt /mnt/gentoo/opt
# mkdir /mnt/gentoo/var
# mount /dev/vg/var /mnt/gentoo/var
# mkdir /mnt/gentoo/tmp
# mount /dev/vg/tmp /mnt/gentoo/tmp
|
Nota:
O resto da instalação segue inalterada como está no manual por isso não iremos
descrever novamente exceto pelos pontos divergentes.
|
Quando configurar seu kernel, tenha certeza de configurá-lo para
suporte LVM2 (nem todos os kernels 2.4 possuem suporte). Selecione o modulo LVM2 como segue:
Listagem de código 2.9: Selecionando o módulo LVM2 em kernels 2.4.x |
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
< > Logical volume manager (LVM) support
<M> Device-mapper support
< > Mirror (RAID-1) support
|
Listagem de código 2.10: Selecionando o módulo LVM2 em kernels 2.6.x |
Device Drivers --->
Multi-device support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
<M> Device mapper support
|
O módulo compilado chama-se dm-mod.ko
Depois de criar seu kernel e instalar os módulos, adicione a seguinte linha
em seu /etc/modules.autoload.d/kernel-{KV} onde {KV}
representa a versão do seu kernel (2.4 or 2.6) de modo que o módulo LVM2 inicie
quando sua máquina for iniciada:
Listagem de código 2.11: Adicionando o módulo LVM2 no /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
dm-mod
|
Agora, instale o pacote lvm2.
Importante:
Tenha certeza de que seu link /usr/src/linux aponta para o diretório dos
fontes do kernel que você está utilizando, porque o ebuild do lvm2 depende do device-mapper, o ebuild
verificará a presença de uma linha como esta abaixo, em seus fontes do kernel no diretório
/usr/src/linux/include/linux.
|
Listagem de código 2.12: Emerging the LVM2 package |
# emerge lvm2
# echo 'devices { filter=["r/cdrom/"] }' >> /etc/lvm/lvm.conf
# nano -w /etc/lvm/lvm.conf
|
Quando editar seu arquivo /etc/fstab, siga o handbook e adicione
seu volumes lógicos LVM2 como necessitar. Novamente, aqui estão algumas poucas necessárias para
nosso exemplo:
Listagem de código 2.13: Escrevendo o /etc/fstab |
/dev/hda1 /boot ext3 noauto,noatime 1 1
/dev/hda2 none swap sw 0 0
/dev/hda3 / ext3 noatime 0 0
# Logical volumes
/dev/vg/usr /usr ext3 noatime 0 0
/dev/vg/home /home ext3 noatime 0 0
/dev/vg/opt /opt ext3 noatime 0 0
/dev/vg/var /var ext3 noatime 0 0
/dev/vg/tmp /tmp ext3 noatime 0 0
|
Quando você chegar ao final da instalação pelo manual, não esqueça
de desmontar todos os volumes lógicos, para um bom funcionamento rode o seguinte
comando antes de reiniciar o sistema:
Listagem de código 2.14: Desligando LVM2 |
# vgchange -a n
|
Reinicie seu computador e todas as partições devem estar visíveis e montadas.
3.
Fontes
4.
Agradecimentos
Obrigado a Thilo Bangert e Terje Kvernes por seus comentários e ajuda
neste documento.
O conteúdo deste documento está licenciado pela licença Creative Commons -
Attribution / Share Alike.
|