Pues LVM es un sistema para administrar volúmenes lógicos, esto es una capa (por llamarlo de alguna forma) que creamos por encima de las particiones que queremos usar en nuestro sistema, de modo que podemos aumentar el tamaño de los volúmenes con más particiones, o incluso quitar particiones a nuestro antojo.
No voy a explicar en profundidad qué es LVM, pues hay muchos sitios en la web que lo hacen. Pero sí como lo he puesto en marcha para un caso práctico.
Desde hace unos meses necesito algo más de espacio en disco para mi /home que lo tengo en /dev/sda4. Así que decidí comprar un disco grandote, y usar LVM2 para unir /dev/sda4 con las particiones del nuevo disco /dev/sdb y montarlo en /home.
- Lo primero es preparar mi nuevo disco creando particiones de tipo 8e (Linux LVM). Podemos usar
cfdisk /dev/sdbpor ejemplo, o el particionardor de disco que prefieras, o en su defecto, el que más coraje te de
. Personalmente hice 10 particiones de 50GB cada una, 3 primarias y 7 lógicas. # emerge lvm2
No podemos olvidarnos de las herramientas que necesitamos para hacer uso de LVM2, con esto conseguiremos las herramientas para poder crear volúmenes físicos, crear grupos de volúmenes y añadir volúmenes físicos, aumentar y exterder el tamaño de los grupos de volúmenes… Todo esto me recuerda que quizás deba explicar un poco al menos a modo de glosario qué es cada cosa.# nano -w /etc/lvm/lvm.conf
Buscamos la líneafilter = [ "a/.*/" ]y la substituimos porfilter = [ "a|/dev/sd[ab]|", "r/.*/" ]. Lo que conseguimos es que al escanear en busca de particiones LVM rechace todos los dispositivos pero que acepte /dev/sda y /dev/sdb. Deberías modificar esta línea para tus propias necesidades, si fuera necesario.# vgscan
Buscamos grupos de volúmenes, volúmenes físicos LVM y demás que ya estuvieran preparados en el sistema.# vgchange -a y
Hacer disponible otros grupos de volúmenes que ya estuvieran configurados.# pvcreate /dev/sdb*
Preparar las particiones para poder ser usados como volúmenes físicos.# vgcreate vg /dev/sdb1
Crear un grupo de volúmenes llamado vg que inicialmente estará formado solo por el volumen físico /dev/sdb1.# vgextend vg /dev/sdb2
Añadir el volumen físico /dev/sdb2 al grupo de volúmenes vg, hacer lo mismo con todos los volúmenes físicos que queramos añadir añadir.# lvcreate -L400G -nhome vg
Crear un volumen lógico inicial de 400 GiB llamado home, esto creará un dispositivo llamado /dev/vg/home el cual usaremos en el fstab para montarlo en /home del mismo modo que lo hacía antes con /dev/sda4.# lvextend -L+5G /dev/vg/home
Podemos incrementar el tamaño del volumen lógico /dev/vg/home pues aún tenemos espacio libre sin asignar en nuestro grupo de volúmenes físicos vg.# mkfs.ext3 /dev/vg/home
Una vez asignado el tamaño para nuestro volumen lógico, debemos crear un sistema de ficheros en él, sí, al igual que hacemos con una partición normal. Más tarde, cuando añadamos /dev/sda4 al grupo de volúmenes, aumentaremos el tamaño del sistema de ficheros también, ya veremos como.# mkdir /root/vghome
# mount /dev/vg/home /root/vghome
# cd /home
# cp -r -p lista_de_carpetas_de_cada_usuario /root/vghome/
Copiar los datos que hay en /dev/sda4 actualmente montado en /home a /dev/vg/home, para ello primero debemos montar /dev/vg/home en algún directorio, como por ejemplo /root/vghome. Es importante asegurarnos de que no copiamos el directorio lost+found. Al usar el comando cp la opción -r hace una copia recursiva y la opción -p conserva los propietarios y permisos de cada archivo. Asegúrate de que has copiado bien todos tus datos, si quieres puedes dejar los siguientes paso para más adelante o para unos días después, hasta asegurarte de que tu Home está en perfecto estado.- Debemos cerrar todas las sesiones que tengamos abiertas como usuario antes de proceder con los siguientes pasos. Ir a una consola virtual y entrar como root, o bien entrar en una sesión gráfica como root, si tu sistema lo permite.
# umount /home /root/vghome# cfdisk /dev/sda
Eliminar la partición /dev/sda4, ¡ojo! No toques las demás particiones, solo elimina esta. Vuelve a crear una de tipo 8e (Linux LVM) .# pvcreate /dev/sda4
Marcamos /dev/sda4 como volumen físico.# vgextend vg /dev/sda4
Y la añadimos al grupo de volúmenes vg.# lvextend -L+138G /dev/vg/home
Como ahora disponemos de más espacio en el grupo de volúmenes vg, podemos aumentar el tamaño del volúmen lógico home.# fsck.ext3 -f /dev/vg/home
# resize2fs /dev/vg/home
Sin embargo el sistema de ficheros contenido en el volumen lógico no ha cambiado de tamaño, así que en la práctica no tenemos más espacio. Primero debemos hacer un chequeo forzado del sistema de ficheros y luego redimensionar el sistema de ficheros al tamaño del volumen lógico. Ni qué decir tiene que el sistema de ficheros que uso es ext3 tanto para / (Sistema Raíz) como para /home.# mount /dev/vg/home /home- Editamos /etc/fstab y substituimos /dev/sda4 por /dev/vg/home para que nos monte el volúmen lógico en /home.
- Cerrar sesión y volver a iniciar sesión con nuestro usuario y disfrutar de nuestra «CASA» recién ampliada.
Si queremos ver cuánto espacio libre y otros datos de interés, de un grupo de volúmenes debemos usar el comando vgdisplay nombre_grupo_volumenes, en este caso sería vgdisplay vg, así sabremos cuanto añadir al volumen lógico con el comando lvextend.

Entradas (RSS)
Muy interesante, todo un usuario avanzado de GNU