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 filesystems EXT2/EXT3/EXT4 con lvm.
En esta entrada vamos a revisar cómo administrar un sistema de archivos XFS sobre LVM.
Partimos de un LV creado llamado lv_xfsfssample en el VG vg_storage1.
Formateamos en XFS
Para este ejemplo vamos a formatear el LV en XFS.
mkfs.xfs /dev/vg_storage1/lv_xfsfssample
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_xfsfssample /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, utilizaremos 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_xfsfssample en 1 GB. Recordemos que el lv se encuentra montado en /mnt/temp.
lvextend -L+1G /dev/vg_storage1/lv_xfsfssample
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 «xfs_growfs«, de la siguiente manera:
xfs_growfs /mnt/temp
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
En el caso del sistema de archivos XFS, nos encontramos ante una limitación y es que no se puede reducir su tamaño.
Si necesitamos reducir este volumen, no queda otro remedio que reemplazarlo por otro volumen con el tamaño deseado. Estos son un par de ejemplos de cómo puede realizarse esto:
- Realizar un backup, destruir el filesystem, crear un filesystem con el tamaño adecuado y restaurar el backup.
- Crear un filesystem con el tamaño adecuado y transferir el contenido de la unidad original. Una vez terminado, destruir el volumen original y revisar puntos de montaje.
Seguiremos la serie LVM con la administración de un sistema de archivos ReiserFS sobre LVM.