Instalación de LVM2 en Gentoo
1.
Introducción
Esta guía está basada en un ejemplo que usa dos discos duros
SATA. Significa que probablemente tendrá que cambiar el disco, los
nombres y los tamaños de las particiones según su configuración y sus
propias necesidades.
Aviso:
No es la intención que este documento sea un tutorial de LVM2. Servirá
como información suplementaria al procedimiento de instalación de
Gentoo, tal como se describe en la Parte 1 del
Manual. Asegúrese de leer el Manual de Instalación
antes de comenzar el proceso de instalación.
|
Nota:
Para un HOWTO completo acerca de LVM, navegue a
http://tldp.org/HOWTO/LVM-HOWTO.
|
Requisitos iniciales
Si va a hacer una instalación desde cero, hará falta usar un CD del
cual pueda arrancar que soporte LVM2, tal como el CD de Instalación
Gentoo. Puede encontrar el CD de Instalación para la plataforma x86 en
nuestros servidores espejo bajo
/releases/x86/current/installcd. Tal vez estén soportadas
otras plataformas también.
Si instala LVM2 en un sistema existente con espacio de sobra en disco
duro, tendrá que activar el módulo LVM2 (dm-mod) en el
núcleo. Este módulo está disponible en gentoo-sources. La
compilación del núcleo y la puesta en marcha de LVM2 se describen
más adelante en esta misma guía.
Las particiones
Nuestro sistema de ejemplo tiene dos discos duros SATA y serán
particionados de la siguiente manera:
- /dev/sda1 -- /boot
- /dev/sda2 -- partición de intercambio (swap)
- /dev/sda3 -- /
- /dev/sda4 -- Será usado por LVM2
- /dev/sdb1 -- Será usado por LVM2
Importante:
Tenga cuidado con los nombres de las particiones, ya que es fácil
confundir las a y las b, y los números de las particiones. Un
movimiento en falso y podemos borrar la partición equivocada. ¡Está
advertido!
|
OK, hora de comenzar ...
2.
Instalación
Siga el manual con los siguientes cambios en el capítulo 4.
Preparar los discos:
Use fdisk como dice el Manual, pero use el esquema de
particiones antes mencionado como ejemplo. Acuérdese que este es solo
un ejemplo, adáptelo según sus necesidades.
Cree una pequeña partición física para /boot (sda1). En
este ejemplo, /boot no será gestionado por LVM2. Esta
partición contendrá el gestor de arranque y el/los núcleo(s). 64MB
deben ser suficientes para varias generaciones de núcleos.
Cree una partición de intercambio (sda2).
Cree una partición raíz / (sda3). Si le interesa intentar colocar su
partición raíz bajo control de LVM (cosa que no recomendamos), vea la
sección de recursos al final de esta guía para un enlace a un
mini-howto acerca de cómo hacer esto. La partición raíz no requiere
ser grande si decide mantener los directorios /opt /usr /home
/var y /tmp en un grupo de volúmenes (vg) LVM2. En
este caso, 1GB debería ser suficiente. Observer sin embargo que,
is tiene /usr o /var en un grupo de
volúmenes LVM2, necesitará iniciar el sistema con un initramfs.
Nota:
No recomendamos colocar los siguientes directorios en una
partición LVM2: /etc, /lib,
/mnt, /proc, /sbin,
/dev y /root. De esta manera podrá ingresar
a su sistema (que aunque estuviese incompleto, sería utilizable como
root) si ocurriese algún desastre. Además, deberá excluir
/usr y /var de LVM2 si no quiere
iniciar con un initramfs.
|
Asumiendo que las particiones /boot, de intercambio y
raíz no usan el disco físico completo, cree una cuarta partición y
asígnele el tipo 8e (Linux LVM). Si tiene más de un disco físico que
quiera usar con LVM, cree una partición en cada uno y asígneles el
mismo tipo (8e).
Nota:
Teniendo en cuenta el tamaño enorme de los discos duros actuales,
podría considerar dividir el disco en particiones más pequeñas en vez
de crear una sola partición enorme para agregarla a un grupo de
volúmenes LVM2 en un solo bloque. Después de todo, LVM2 permite
aumentar fácilmente el tamaño de los volúmenes. Esto puede dejarle
particiones no asignadas que pueda usar fuera del control de un grupo
LVM2. Un consejo, no use su espacio de disco hasta que sepa que lo
necesite. Como ejemplo, podemos citar un colaborador que subdividió su
disco duro de 160 Gb en 8 particiones de 20 Gb c/u.
|
Cree los sistemas de archivos en /dev/sda1 y
/dev/sda3, además cree y active la partición de
intercambio en /dev/sda2 tal como se describe en el
manual.
Arranque el servicio lvm.
Listado de Código 2.1: Arrancar el servicio lvm |
# rc-config start lvm
|
Se recomienda añadir el servicio lvm al nivel de ejecución boot. De esta
forma, se activará LVM2 cada vez que se arranque el sistema.
Listado de Código 2.2: Añadir lvm al nivel de ejecución por defecto |
# rc-config add lvm boot
|
Antes de realizar la exploración y activación del LVM, querrá editar
el archivo /etc/lvm/lvm.conf para excluir algunos
dispositivos. LVM realizará de forma predeterminada la exploración de
todos los dispositivos, incluso de su lector de CD-ROM, lo cual puede
generar mensajes de error. En el siguiente ejemplo, la línea que
permite la exploración de todos los dispositivos es reemplazada por
una que rechaza todos los dispositivos con excepción de nuestros dos
discos duros SATA.
Listado de Código 2.3: Activar LVM |
# nano -w /etc/lvm/lvm.conf
filter = [ "a/.*/" ]
filter = [ "a|/dev/sd[ab]|", "r/.*/" ]
# vgscan
Reading all physical volumes. This may take a while...
No volume groups found
# vgchange -a y
|
Prepare las particiones.
Listado de Código 2.4: Preparar las particiones |
# pvcreate /dev/sda4 /dev/sdb1
No physical volume label read from /dev/sda4
Physical volume "/dev/sda4" successfully created
No physical volume label read from /dev/sdb1
Physical volume "/dev/sdb1" successfully created
|
Configure un grupo de volúmenes. Este es el resultado de combinar
varias unidades físicas en un único dispositivo lógico.
En nuestro ejemplo, /dev/sda1, /dev/sda2 y
/dev/sda3 son las particiones /boot, de
intercambio y raíz, por lo que necesitamos combinar
/dev/sda4 y /dev/sdb1. Esto se puede hacer
con una sola orden, pero como es un ejemplo didáctico, crearemos un
grupo de volúmenes y luego lo aumentaremos.
Listado de Código 2.5: Crear y aumentar un grupo de volúmenes |
# vgcreate vg /dev/sda4
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully created
# vgextend vg /dev/sdb1
/etc/lvm/backup: fsync failed: Invalid argument
Volume group "vg" successfully extended
|
Cree los volúmenes lógicos. Estos son el equivalente a una partición
creada con fdisk en un ambiente sin LVM2. En nuestro ejemplo,
crearemos las siguientes particiones:
| Directorio |
Tamaño |
| /usr |
10 GB |
| /home |
5 GB |
| /opt |
5 GB |
| /var |
10 GB |
| /tmp |
2 GB |
Como usaremos LVM2, no nos preocuparemos mucho acerca de los tamaños
de las particiones, ya que las podemos aumentar a voluntad.
Nota:
Como comenta Terje Kvernes, es más fácil aumentar el tamaño de una
partición que reducirla, de manera que tal vez quiera empezar con
particiones más pequeñas y aumentarlas según lo requerido.
|
Listado de Código 2.6: Crear y aumentar los volúmenes 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
|
Cree los sistemas de archivos en los volúmenes lógicos de la misma
forma que lo haría en una partición regular. Usamos ext3 en los
volúmenes lógicos, pero cualquier sistema de archivos escogido
servirá:
Listado de Código 2.7: Crear los sistemas de archivos |
# 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 sus particiones como dice el Manual y monte los volúmenes
lógicos LVM2 como si fuesen particiones. Reemplace el
/dev/sdxx de costumbre con
/dev/vg/nombre_del_volumen_lógico.
Listado de Código 2.8: Montar sus volúmenes 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:
El resto de la instalación es prácticamente igual, así que no la
repetiremos. Solo le diremos dónde están las diferencias.
|
Al configurar su núcleo, asegúrese que soporte LVM2. Seleccione
el módulo LVM2 de la siguiente manera:
Listado de Código 2.9: Seleccionar el módulo LVM2 en el núcleo linux |
Device Drivers --->
Multiple devices driver support (RAID and LVM) --->
[*] Multiple devices driver support (RAID and LVM)
< > RAID support
<M> Device mapper support
|
El módulo compilado se llama dm-mod.ko
Además, construya un initramfs si /usr o
/var están en particiones LVM. No olvide editar la
configuración del gestor de arranque para iniciar el sistema con el
initramfs y agregue dolvm como parámetro de inicio.
Listado de Código 2.10: Construir un initramfs |
# emerge genkernel
# genkernel --lvm --install initramfs
# nano -w /boot/grub/grub.conf
title Gentoo Linux
root (hd0,0)
kernel /kernel-3.2.2-gentoo-r5 root=/dev/sda1 dolvm
initrd /initramfs-genkernel-x86_64-3.2.2-gentoo-r5
|
Ahora instale el paquete lvm2.
Importante:
Verifique que el enlace simbólico /usr/src/linux apunte a
las fuentes de núcleo que está usando porque el ebuild de lvm2 depende
del ebuild del mapeador de dispositivos que a su vez revisará la
presencia del archivo de fuentes requerido en
/usr/src/linux/include/linux.
|
Listado de Código 2.11: Instalar vía emerge el paquete LVM2 |
# emerge lvm2
|
Edite /etc/lvm/lvm.conf tal como se describe previamente. El archivo que editó antes
es parte de su entorno de instalación y desaparecerá luego del
siguiente reinicio del sistema. Esta vez, edite el archivo verdadero
dentro de su nueva instalación de Gentoo.
Al editar su archivo /etc/fstab, siga el Manual y agregue
sus volúmenes como lo requiera. Una vez más, algunas líneas como
ejemplo:
Listado de Código 2.12: Extracto del /etc/fstab |
/dev/sda1 /boot ext3 noauto,noatime 1 2
/dev/sda2 none swap sw 0 0
/dev/sda3 / ext3 noatime 0 1
# Volúmenes lógicos
/dev/vg/usr /usr ext3 noatime 0 2
/dev/vg/home /home ext3 noatime 0 2
/dev/vg/opt /opt ext3 noatime 0 2
/dev/vg/var /var ext3 noatime 0 2
/dev/vg/tmp /tmp ext3 noatime 0 2
|
Al llegar al final de la parte de instalación del Manual, no se olvide
desmontar todos los volúmenes lógicos también y para finalizar,
ejecute la siguiente orden antes de reiniciar:
Listado de Código 2.13: Cerrar operaciones del LVM2 |
# vgchange -a n
|
Reinicie su máquina y todas las particiones deberán estar montadas y
visibles.
3.
Continuar luego de reiniciar
Si interrumpió la instalación de Gentoo en cierto punto y quiere
continuar, primero necesita crear los nodos de los dispositivos de
volumen:
Listado de Código 3.1: Reactivar los volúmenes |
# vgscan --mknodes
|
En cambio en los CDs de Instalación con herramientas no tan actuales
puede que sea necesario reactivar los volúmenes:
Listado de Código 3.2: Reactivar los volúmenes |
# vgchange -a n
# vgexport -a
# vgimport -a
# vgchange -a y
|
4.
Recursos
5.
Agradecimientos
Gracias a Thilo Bangert
y Terje Kvernes por su ayuda
y comentarios sobre este documento.
El contenido de este documento, a no ser que se especifique
expresamente, está registrado bajo los términos de la licencia
CC-BY-SA-2.5. Se aplican las
Pautas de
Utilización del logotipo y nombre de Gentoo.
|