Serie LVM – Gestión de un filesystem EXT2/EXT3/EXT4

Seguimos con nuestra serie LVM. Si quieres, puedes ir a la primera entrada de la serie o bien al último post sobre gestión de volúmenes lógicos.

En esta entrada vamos a revisar cómo administrar un sistema de archivos EXT2, EXT3 o EXT4 sobre LVM.

Partimos de un LV creado llamado lv_extfssample en el VG vg_storage1.

Formateamos en EXT4

Para este ejemplo vamos a formatear el LV en EXT4, aunque todo lo que veremos en esta entrada aplica de igual manera a EXT2/EXT3.


mkfs.ext4 /dev/vg_storage1/lv_extfssample

Montamos el filesystem

Trabajaremos en la medida de lo posible con el filesystem montado.

Habitualmente se tendrá configurado en el fstab, nosotros vamos a montarlo a mano en /mnt/temp.


mkdir /mnt/temp

mount /dev/vg_storage1/lv_extfssample /mnt/temp

Aumentar el tamaño del sistema de archivos

Llegamos a uno de los puntos más interesantes de trabajar con LVM, poder modificar el tamaño de los volúmenes lógicos, aunque veremos que cada sistema de archivos es diferente y que el orden es importante.

Haremos las siguientes tareas en este orden:

  • Revisar si el VG donde está alojado el LV tiene espacio suficiente.
  • Aumentar el tamaño del volumen lógico LV.
  • Redimensionar el sistema de archivos.

Revisar si el VG tiene espacio suficiente

En caso de no saber qué VG hay que revisar, utilizar comandos como df, lvdisplay y vgdisplay como hemos visto en anteriores entradas.

Una vez sabemos el VG que tenemos que revisar, suponiendo que el VG es vg_storage1, podemos saber cuánto espacio tenemos de la siguiente manera:


vgdisplay vg_storage1 | grep Free

Si hay una cantidad igual o superior al tamaño que queremos ampliar nuestro filesystem, podemos seguir adelante.

En caso contrario, hay que aumentar el tamaño disponible en el VG. Lo normal es añadir más unidades de almacenamiento, aunque en caso de no ser posible, se puede liberar algo de espacio de algún otro LV que pertenezca a ese VG.

Aumentar el tamaño del volumen lógico LV

El siguiente paso es aumentar el tamaño del volumen lógico, lo haremos con «lvextend«.

En este ejemplo aumentaremos el tamaño del LV lv_extfssample en 1 GB. Recordemos que el lv se encuentra montado en /mnt/temp.


lvextend -L+1G /dev/vg_storage1/lv_extfssample

Redimensionar el sistema de archivos

En este punto podemos tomarnos un momento para ver con lvdisplay cómo el volumen lógico es 1 GB más grande que el filesystem, que recordamos no hemos tenido que desmontar en ningún momento.

Por lo tanto, ahora hay que redimensionar el filesystem para que aproveche toda la capacidad del volumen lógico.

Lo hacemos con «resize2fs«, de la siguiente manera:


resize2fs /dev/vg_storage1/lv_extfssample

Ahora ya tenemos el filesystem del mismo tamaño que el LV.

Importante recalcar que NO ha sido necesario desmontar el sistema de archivos en ningún momento, lo hemos podido hacer «en caliente».

Disminuir tamaño

Trabajar con el almacenamiento siempre es delicado, pero cuando tenemos que hacer operaciones como ésta, hay que extremar la precaución.

Seguro que no es necesario este comentario, pero es buen momento para revisar que los backups de las unidades con las que vas a trabajar están al día y con buena salud.

El orden que vamos a seguir para disminuir es el contrario que seguíamos para ampliar.

  • Comprobar el espacio ocupado del sistema de archivos.
  • Desmontar filesystem.
  • Redimensionar el sistema de archivos.
  • Disminuir el tamaño del volumen lógico (LV).

Es necesario reducir el filesystem ANTES de reducir el volumen lógico.

Comprobar el espacio ocupado

Revisa la ocupación del filesystem y asegúrate de que hay más espacio libre del que quieres reducir.

Si no tienes disponible suficiente espacio, tendrás que borrar datos para reducir la ocupación, o bien reducir menos de lo que tenías pensado.

Desmontar el filesystem

Desafortunadamente, la reducción de tamaño de un filesystem EXT2/EXT3/EXT4 en linea no está implementada. Por lo tanto, esta intervención requiere de pérdida de servicio.

Planifica muy bien esta intervención, en caso de que la estés planeando para un entorno profesional.

Nada de particular en este apartado, para nuestro ejemplo en /mnt/temp:


umount /mnt/temp

Redimensionar el sistema de archivos

Es el momento de reducir el tamaño del sistema de archivos. Lo haremos con «resize2fs«, herramienta que ya vimos a la hora de aumentar el tamaño en apartados anteriores.

En nuestro ejemplo, vamos a reducir en 1 GB nuestro filesystem que se encuentra en el LV lv_extfssample:


e2fsck -f /dev/vg_storage1/lv_extfssample

resize2fs -p /dev/vg_storage1/lv_extfssample 1GB

Disminuir el tamaño del volumen lógico LV

Ahora ya podemos reducir el tamaño de nuestro volumen lógico. Por supuesto, podemos reducir una cantidad igual o inferior a la reducida en el apartado anterior.

Utilizaremos la herramienta «lvreduce«.

En nuestro caso, reducimos en 1 GB el LV lv_extfssample:


lvreduce -L-1G /dev/vg_storage1/lv_extfssample

Solo resta montar de nuevo el volumen y veremos el nuevo tamaño.

También podemos comprobar cómo el VG dispone del espacio retirado del LV.

Disminuir el tamaño del filesystem y del LV a la vez

Podemos disminuir en un solo paso tanto el filesystem como el volúmen lógico usando el flag «–resizefs» al invocar «lvresize». En el ejemplo que hemos realizado anteriormente sería de la siguiente manera:


lvresize --resizefs --size 1G /dev/vg_storage1/lv_extfssample

 

Seguiremos la serie LVM con la administración de un sistema de archivos XFS sobre LVM.

Deja una respuesta

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