Instalación de LVM2 en Gentoo
1.
Introducción
Esta guía está basada en un ejemplo que usa dos discos duros
IDE. 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, habrá que activar el módulo LVM2 (dm-mod). Este
módulo está disponible en las fuentes gentoo-sources. La
compilación del núcleo y el hacer funcionar a LVM2 serán cubiertos más
adelante en esta misma guía.
¡No todos los núcleos 2.4 de Gentoo soportan LVM2!
Las particiones
Nuestro sistema de ejemplo tiene dos discos duros IDE y serán
particionados de la siguiente manera:
- /dev/hda1 -- /boot
- /dev/hda2 -- partición de intercambio (swap)
- /dev/hda3 -- /
- /dev/hda4 -- Será usado por LVM2
- /dev/hdb1 -- Será usado por LVM2
Importante:
Ponga cuidado a 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.
Preparando los discos:
Use fdisk como dice el Manual, pero use el esquema de
particiones antes mencionado como ejemplo. Acuérdese que este es sólo
un ejemplo, adáptelo según sus necesidades.
Cree una pequeña partición física para /boot (hda1). 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 (hda2).
Cree una partición raíz / (hda3). 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.
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.
|
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:
Tomando 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 sólo 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/hda1 y
/dev/hda3, además cree y active la partición de
intercambio en /dev/hda2 tal como se describe en el
manual.
Cargue el módulo LVM2 dm-mod.
Listado de Código 2.1: Cargar el módulo LVM2 |
# modprobe dm-mod
|
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 IDE.
Listado de Código 2.2: Activar LVM |
# nano -w /etc/lvm/lvm.conf
filter = [ "a/.*/" ]
filter = [ "a|/dev/hd[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.3: Preparar las particiones |
# 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
|
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/hda1, /dev/hda2 y
/dev/hda3 son las particiones /boot, de
intercambio y raíz, por lo que necesitamos combinar
/dev/hda4 y /dev/hdb1. Esto se puede hacer
con un solo comando, pero como es un ejemplo didáctico, crearemos un
grupo de volúmenes y luego lo aumentaremos.
Listado de Código 2.4: Crear y aumentar un grupo de volúmenes |
# 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
|
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 aumentadar 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.5: 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.6: 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/hdxx de costumbre con
/dev/vg/nombre_del_volumen_lógico.
Listado de Código 2.7: 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. Sólo le diremos dónde están las diferencias.
|
Al configurar su núcleo, asegúrese que soporte LVM2 (ya que no todos
de la serie 2.4 lo hacen). Seleccione el módulo LVM2 de la siguiente
manera:
Listado de Código 2.8: Seleccionar el módulo LVM2 en un núcleo 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
|
Listado de Código 2.9: Seleccionar el módulo LVM2 en un núcleo 2.6.x |
Device Drivers --->
Multi-device 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
Luego de construir su núcleo e instalar sus módulos, agregue la
siguiente línea a su /etc/modules.autoload.d/kernel-{KV},
donde {KV} representa la versión del núcleo (bien sea 2.4 ó 2.6) para
que el módulo LVM2 sea cargado al arrancar la máquina:
Listado de Código 2.10: Agregar el módulo LVM2 a /etc/modules.autoload.d/kernel-2.6 |
# nano -w /etc/modules.autoload.d/kernel-2.6
dm-mod
|
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/hda1 /boot ext3 noauto,noatime 1 2
/dev/hda2 none swap sw 0 0
/dev/hda3 / 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 el siguiente comando 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
vólumen:
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 está registrado bajo los términos de
la licencia
Creative Commons - Reconocimiento / Compartir Igual
|