Implementar y administrar LVM en linux

Cuando trabajamos con servidores, Implementar y administrar LVM en linux es algo común ya que evita el desastre o mejor dicho, nos da una herramienta para salvarnos cuando nos falta espacio en disco o cuando simplemente lo queremos agrandar.

Como siempre, para aquellos que no saben lo que es LVM vamos a arrancar en este tutorial denominado “Implementar y administrar LVM en linux” desde el principio.

¿Que es LVM?

LVM es un sistema de gestión de volúmenes lógicos o sistemas de ficheros, que es mucho más avanzado y flexible que el método tradicional de particionar un disco en uno o más segmentos y dar formato a la partición con un sistema de archivos.

Hay tres puntos o conceptos básicos que maneja LVM:

  • grupos de volúmenes
  • Los volúmenes físicos
  • Los volúmenes lógicos

Un grupo de volúmenes es una colección con nombre de volúmenes físicos y lógicos. Los sistemas típicos sólo necesitan un grupo de volúmenes para contener todos los volúmenes físicos y lógicos en el sistema.

Los volúmenes físicos corresponden a los discos; son dispositivos de bloque que proporcionan el espacio para almacenar los volúmenes lógicos.

Los volúmenes lógicos corresponden a las particiones: que poseen un sistema de archivos. A diferencia de las particiones sin embargo, los volúmenes lógicos reciben nombres en lugar de números, que pueden extenderse a lo largo de varios discos, y no tienen que estar físicamente contiguo.

¿ Como funciona ?
La base del LVM son los PV ( Volumenes Fisicos ) que son las particiones del disco con sistema LVM, con estos volúmenes físicos se crean los VG ( Grupos De Volumenes ) estos volúmenes son los que nos proporcionan la cantidad de espacio que podemos asignar a todos los volúmenes lógicos que queramos crear y por ultimo estan lo LV ( Volúmenes Lógicos ) que son los volúmenes con los que trabajamos a la final, son a los que le implementamos el sistema de archivos y los podemos ver como dispositivos montados en un punto por ejemplo /home.

Ejemplo:

IMG_20170119_095412

Disco Físico 1

Disco Físico 2

 

  • los dos discos forman parte del VG (grupo de volumenes o union de discos fisicos)
  • El VG me permite tener varios VL (Volumen Logicos o particiones de el grupo de volumenes).

Para este tutorial que realizaremos sobre un Debian 8.7 que es el ultimo que se puede descargar desde la web, vas a necesitar tener un usuario no root pero con los privilegios configurados para las tareas administrativas (en caso de ubuntu el famoso sudo).

Es importante comprender y aprender la configuración de lvm ya que por ejemplo ubuntu para la nueva versión va a eliminar la famosa partición swap por un archivo denominado swapfile que verdaderamente no sirve para nada. Sin embargo configurar lvm nos permite agregar discos en el caso de desastre o simplemente backup, entre otros.

Vamos a comenzar con una instalación básica de una maquina virtual con debian 8.7 64 bit a disco completo con lvm (arranquen con esta forma para ver como se hace y luego lo ven manual)

1 - usar disco completo y lvm

De aquí en adelante pongo las imágenes de la instalación mas importantes ya que es super intuitivo:

2 - todos los ficheros en una sola particion

3 - importante mensaje de particiones lvm

4 - revision de condiguracion y confirmacion de lvm

5 - tabla de particion lvm

6 - debian con lvm configurado autoamticamente

Fijense que tenia un disco de 32gb y me armo un Grupo de Volúmenes deblaz-vg y como puse todo en una sola partición quedo de aprox 31gb y la swap_1 de 1.4gb.

Ahora lo que vamos a hacer es la suposición de que esos 31gb ya están siendo casi totalmente ocupados!

Vamos a agregar, con la maquina apagada un disco nuevo de 10gb.

7 - agregar disco nuevo

Lo que hice fue pararme arriba de controlador SATA y usar el primer boton disponible para agregar uno nuevo. Es muy sencillo!

8 agregando disco nuevo sata de 10gb

A continuación vamos a ver si fue detectado el nuevo disco de 10gb:

9 - detectando nuevo disco

Ahora tengo que crear el volumen físico con pvcreate y prestar atención a la imagen anterior donde dice disco /dev/sdb/

10 - ejecutando pvcreate

En mi caso yo ya se que mi grupo de volúmenes se llama deblaz-vg pero si no lo supiera por que lo hizo otro tendría que ejecutar el comando:

11 - ejecutando vgdiplay para saber nombre de vg

Ahora tenemos que añadir el volumen físico (PV) al grupo de volúmenes (VG):

12 - vgextend para agregar el disco fisico al grupo de volumenes

Ya casi estamos terminando, falta asignar el nuevo espacio a el disco que habiamos creando en el comienzo. Si no tienen idea como se llama (por que se creo automaticamente, recordamos que con fdisk -l nos va a mostrar dos discos que uno es el /dev/mapper/deblaz–vg–root/ y el otro es el swap.

Una vez que lo miramos vamos a ejecutar el comando que mostramos en la siguiente captura:

13 - lvextend para agregar el espacio del segundo disco

el comando fue:

En un primer momento puse +10G (agregar 10 gigas) pero me daba error por unos megas asi que probe 9,8 y se pierde un toquesito pero no pasa nada.

Por último, debemos redimensionar el sistema de ficheros para aumentarlo hasta el tamaño del volumen lógico:

Cuando tengan dudas con esto ayudense con la tecla tab que va autocompletando el comando, por ejemplo ponen /dev/de (y aca presionan el tab y ya les completa el nombre del grupo).

14 - resize2fs para reasignar el espacio

Al Implementar y administrar LVM en linux Es MUY IMPORTANTE saber que puedo aumentar el tamaño del sistema de ficheros online, es decir, sin desmontarlo, porque el kernel 2.6 y sucesivos, soportan el redimensionado on-line para sistemas de ficheros ext3 y ext4. Sin embargo, si en lugar de aumentar el tamaño del sistema de archivos, quisiera reducirlo, tendría que hacerlo forzosamente off-line. Es decir, arrancando desde un live-cd.

Para finalizar les muestro como me quedo:

15 - resultado de aumento de disco

Espero les sirva tanto como a mi el trabajo de Implementar y administrar LVM en linux. Hasta pronto 😉

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *