Inicio > gestión > LVM: Reordenando espacio en mi disco

LVM: Reordenando espacio en mi disco

Ayer, durante una deriva en internet encontré este magnífico tutorial que me ha abierto los ojos y me ha llenado de esperanza….disfrútenlo porque no tiene desperdicio y es increiblemente útil.

Por cierto, este how-to lo tenemos gracias a http://www.infolinuxblog.com

Cuando elegí y cree las particiones en mi disco hace ya cosa de 3 años, era un principiante linuxero que utilizaba Windows y Linux a partes iguales. En la actualidad ya no es así y aunque sigo teniendo Windows instalado, lo uso una vez cada varios meses. Sin embargo, en todo este tiempo no he encontrado las ganas, ni el tiempo para reorganizar un poco mi disco, ya que me daba una pereza tremenda.

Esta es una captura de Gparted de mi único disco en el portátil. En azul la partición primaria de Windows con marca de arranque, en negro la partición de Nexenta OpenSolaris y la extendida es Linux Ubuntu 7.04, sí ya sé que está Gutsy pero me temo que mi RAM me va a obligar a congelarme en Feisty.
lvmprevio

Como no me bajo demasiadas cosas y tiro mucho de mi disco externo para no saturar el del portátil, he vivido bastante cómodo a pesar de lo que pueda parecer.
Desde el último Viernes Técnico me quedé con ganas de Probar la Versión Express Developer de Solaris en mi portátil, para poder jugar y seguir aprendiendo zonas, ZFS, DTrace… y tantos otros. Así que ya no me interesa conservar Nexenta (bien podría probar la última versión Core Platform 1, queda pendiente) y quiero utilizar ese espacio para guardar cosas desde Linux.
Aquí como siempre el número de posibilidades es tremendo, pero yo voy a optar por una solución que algunos calificarán de técnica, pero que es cómoda, flexible y no me impedirá escalar en el futuro, LVM2.

Aunque no es mi intención explicar y hacer un tutorial de LVM, sino más bien un ejemplo práctico, procuraré que se entienda. Al final del artículo dejaré algunas referencias para los que quieran dominar LVM, algo obligatorio para todo administrador de sistemas.

LVM son las siglas de Logical Volume Manager. En su página en español de la wikipedia podremos informarnos sobre esta tecnología. Se podría decir que LVM es el ZFS de Linux, aunque las comparaciones son odiosas y realmente no tienen nada que ver. Ahora alguno dirá que es ZFS, pues eso ya es harina de otro costal amigo. Con LVM podremos crear un “pool” o conjunto de particiones que se administran como una sola. Consiste en una capa de abstracción que aporta ventajas como sencillez de administración, escalabilidad de volúmenes, instantáneas o snapshots, redimensionado seguro…

Primero borraré la partición de Nexenta con Gparted (para evitar complicar demasiado las cosas con la consola). La marco para borrar.
lvmborrar

Ahora aplico los cambios:
lvmaplicar

Después en el espacio vacío creo una partición sin formato. Doy a nueva partición:
lvmnuevo

En el diálogo que se abre marco “Sistemas de Archivos” >> “sin formatear”:
lvmformato

Ahora tengo que reinstalar GRUB en el MBR, ya que Nexenta había tomado posesión de este espacio.

sudo grub-install /dev/sda

A continuación instalo lvm2:

sudo apt-get install lvm2

Al ejecutar pvcreate me llevo la primera sorpresa, resulta que no encuentra el comando:

No program "pvcreate" found for your current version of LVM

La solución al problema viene muy bien explicada en este foro. Ejecuto:

sudo cp -r /lib/lvm-200/ /lib/lvm-0

Ahora ya puedo empezar a definir mis volúmenes físicos. Todos los comandos de LVM disponen de una ayuda contextual muy buena y clara. Para ello basta con ejecutarlos con la opción

"--help"

Hago un cfdisk sobre mi disco para ver qué partición es la que me ha creado Gparted, no puedo evitar usar la consola, qué le vamos a hacer.

sudo cfdisk /dev/sda

lvmcfdisk

Ahora ya sé que es la partición /dev/sda2, así que la añado a volúmenes físicos:

sudo pvcreate /dev/sda2

Compruebo resultados:

sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               almacen
  PV Size               9,99 GB / not usable 0
  Allocatable           yes
  PE Size (KByte)       4096
  Total PE              2557
  Free PE               2557
  Allocated PE          0
  PV UUID               gOGspm-rHfZ-ZoyW-QcH2-gqCD-8bN6-JXW4BX

Creo el grupo de volúmenes lógicos almacen:

sudo vgcreate almacen /dev/sda2

Miro sus características:

sudo vgdisplay
  --- Volume group ---
  VG Name               almacen
  System ID
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               9,99 GB
  PE Size               4,00 MB
  Total PE              2557
  Alloc PE / Size       0 / 0
  Free  PE / Size       2557 / 9,99 GB
  VG UUID               wuF2Aq-YV6p-Wcax-MTtB-wja1-wFIW-ggxTRs

Si hicieramos un lvcreate ahora, nos daría el siguiente error:

/proc/misc: No entry for device-mapper found
  Is device-mapper driver missing from kernel?
  Failure to communicate with kernel device-mapper driver.
  /proc/misc: No entry for device-mapper found
  Is device-mapper driver missing from kernel?
  Failure to communicate with kernel device-mapper driver.
  Incompatible libdevmapper 1.02.08 (2006-07-17)(compat) and kernel driver
  striped: Required device-mapper target(s) not detected in your kernel
  lvcreate: Create a logical volume

Esto se debe a que el kernel de Ubuntu que trae soporte para LVM2 no tiene el módulo cargado. En teoría al reiniciarlo lo detectaría y lo añadiría. Pero lo vamos a hacer a mano. Cargo el módulo y lo añado al fichero “/etc/modules” para que Ubuntu lo cargue con el sistema automáticamente:

sudo modprobe dm-mod
echo "dm-mod" >> /etc/modules

Ahora sí que creamos el volumen lógico descargas, de 2000 extents por no ocupar todo el espacio, recuerda que se puede redimensionar en cualquier momento:

sudo lvcreate --name descargas --extents 2000 almacen

Damos formato al volumen lógico, yo he elegido ext3:

sudo mkfs.ext3 /dev/almacen/descargas

mke2fs 1.40-WIP (14-Nov-2006)
Etiqueta del sistema de ficheros=
Tipo de SO: Linux
Tamaño del bloque=4096 (bitácora=2)
Tamaño del fragmento=4096 (bitácora=2)
1024128 nodos i, 2048000 bloques
102400 bloques (5.00%) reservados para el súper usuario
Primer bloque de datos=0
Número máximo de bloques en el sistema de archivos=2097152000
63 bloque de grupos
32768 bloques por grupo, 32768 fragmentos por grupo
16256 nodos i por grupo
Respaldo del súper bloque guardado en los bloques:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Mientras se escribían las tablas de nodos i: terminado
Creando el fichero de transacciones (32768 bloques): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho

Este sistema de ficheros se revisará automáticamente cada 28 meses o
180 dias, lo que suceda primero.  Utilice tune2fs -c o -i para cambiarlo.

Edito el /etc/fstab sabiendo que los dispositivos lvm se crean en /dev/nombre-grupo-volúmenes/nombre-volumen-lógico en /dev/mapper con links simbólicos. Añado al fstab lo siguiente:

# Entry for LVM volumes
/dev/almacen/descargas /media/descargas ext3 defaults 0   0

Ahora creo el directorio donde se va a montar el volumen y lo monto:

sudo mkdir -p /media/descargas
sudo mount -a

Si vamos al directorio:

cd /media/descarga

El comando “ls” debería mostrarnos el directorio “lost+found”. Este directorio yo suelo borrarlo. Ahora ya podré guarda mis descargas en esta “partición” y estar mucho menos apretado de espacio. En cualquier momento podemos añadir otras particiones que no tiene porque estar en el mismo disco o contiguas, bien puede ser un hub con 4 pendrives.

CONCLUSIÓN
LVM es realmente útil y vale la pena conocerlo. Para comprenderlo conviene tener los conceptos claros: particionado, herramientas disponibles, sistemas de ficheros… Es probable que exista alguna interfaz gráfica, sin embargo no por ello resultará más fácil crear un LVM y administrarlo sin conocer los entresijos internos.
Lo explicado es solo la punta del IceBerg, se utiliza para muchas cosas y es algo que todo administrador de sistemas que se precie debe manejar. Es el pan nuestro de cada día en mi trabajo sin ir más lejos.

Información obtenida de http://www.infolinuxblog.com

Categorías:gestión
  1. Aún no hay comentarios.
  1. 31 enero, 2009 a las 1:15 pm

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: