Gentoo Logo

Instalación de LVM2 en Gentoo

Contenido:

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


(Evitar explorar todos los dispositivos salvo nuestros discos duros)

# nano -w /etc/lvm/lvm.conf
(Busque la siguiente línea)
    filter = [ "a/.*/" ]

(Reemplácela con la siguiente para explorar /dev/sda y /dev/sdb y
rechazar cualquier otra cosa)

    filter = [ "a|/dev/sd[ab]|", "r/.*/" ]
(Guarde el archivo y salga de nano)
# vgscan
  Reading all physical volumes.  This may take a while...
  No volume groups found

(Haga disponible otros grupos de volúmenes previamente configurados)

# 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

(Cree un grupo de volúmenes llamado vg)
# vgcreate vg /dev/sda4
  /etc/lvm/backup: fsync failed: Invalid argument (Ignore esta advertencia)
  Volume group "vg" successfully created
(Aumente el tamaño de un grupo de volúmenes existente)
# vgextend vg /dev/sdb1
  /etc/lvm/backup: fsync failed: Invalid argument
(Ignore esta advertencia nuevamente y más adelante también)
  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 (Los mensajes adicionales
  similares no los mostramos)
# lvcreate -L5G  -nhome vg
# lvcreate -L5G  -nopt  vg
# lvcreate -L10G -nvar  vg
# lvcreate -L2G  -ntmp  vg
(Como ejemplo, aumentemos un volumen lógico en 5 Gbytes)
# 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

(Asegúrese de montar primero su partición raíz, tal como
aparece en el Manual)
# 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

(Primero desactive todos los volúmenes)
# vgchange -a n
(Exporte todos los volúmenes)
# vgexport -a
(Importe todos los volúmenes)
# vgimport -a
(Reactive todos los volúmenes)
# vgchange -a y

4.  Recursos

5.  Agradecimientos

Gracias a Thilo Bangert y Terje Kvernes por su ayuda y comentarios sobre este documento.



Imprimir

Página actualizada 20 de enero, 2013

Sumario: Esta guía describe cómo configurar su máquina Gentoo para utilizar el Administrador de Volúmenes Lógico (Logical Volume Manager), versión 2 (LVM2).

Avi Schwartz
Autor

Rajiv Manglani
Colaborador

Xavier Neys
Editor

Funky
Traductor

José Alberto Suárez López
Traductor

John Christian Stoddart
Traductor

Andrés Pereira
Traductor

Manuel Peral González
Traductor

José María Alonso
Traductor

Donate to support our development efforts.

Copyright 2001-2013 Gentoo Foundation, Inc. Questions, Comments? Contact us.