Seguimos con nuestra serie LVM. Si quieres puedes ir a la primera entrada de la serie o bien al último post en el que revisamos de forma resumida la creación de un filesystem utilizando LVM..
En esta entrada vamos a revisar cómo gestionar los Grupos de Volúmenes o VG en LVM.
Como vimos en la entrada introductoria, el VG es el núcleo de LVM, ya que es al VG al que asignamos los dispositivos físicos de almacenamiento, y es en el VG donde creamos los volúmenes lógicos.
Empezaremos por crear volúmenes físicos o PVs a partir de nuestras unidades de almacenamiento.
Crear Physical Volumes (PV)
Necesitamos crear un PV con el comando «pvcreate«, esto preparará la unidad para trabajar con LVM.
En el código de ejemplo, vemos cómo preparar la unidad sdb para LVM.
pvcreate /dev/sdb
Información PVs
Para obtener la información de los PVs del sistema utiliza la herramienta «pvdisplay«.
Por ejemplo, si deseas obtener la información de la unidad /dev/sdb puedes obtenerla de la siguiente manera:
pvdisplay /dev/sdb
Crear VGs
Vamos a crear un VG. Por ejemplo, vamos a partir de 2 PVs: /dev/sdb y /dev/sdc. Este VG se va a llamar vg_storage1.
Invocamos «vgcreate» de la siguiente manera:
vgcreate vg_storage1 /dev/sdb /dev/sdc
Información VGs
Con el comando «vgdisplay» obtenemos la información de los VG del sistema.
Para obtener información más detallada de un VG en concreto, por ejemplo vg_storage1, y en especial los PVs que lo componen, puedes utilizar el siguiente comando:
vgdisplay -v vg_storage1
Es especialmente importante obtener la cantidad de espacio disponible en el VG. De esta manera sabemos la cantidad de espacio de la que disponemos para ampliar o crear LVs.
Añadir otra unidad al VG
Para añadir más espacio a nuestro VG podemos asignar otro dispositivo de almacenamiento. Para ello primero hay que convertirlo en un PV, como se ha expuesto en el primer apartado de este artículo.
Después añadimos con «vgextend«. En este ejemplo, vamos a añadir el dispositivo /dev/sdd al VG vg_storage1.
vgextend vg_storage1 /dev/sdd
Quitar una unidad de almacenamiento del VG
En otras ocasiones lo que queremos es liberar alguna de las unidades de almacenamiento del VG.
Para estos casos lo primero es quitar de dicho dispositivo todos los datos que pueda contener y moverlos a otras unidades. Para esto necesitamos la herramienta «pvmove«.
pvmove
Esta herramienta nos permite mover todos los datos de una unidad en concreto, con el objetivo de que quede vacía y así poder eliminarla del VG.
En este ejemplo queremos vaciar la unidad /dev/sdc.
pvmove /dev/sdc
Por supuesto debe de haber suficiente espacio libre en el resto de dispositivos para copiar los datos de la unidad que queremos quitar.
vgreduce
«vgreduce» es la herramienta que nos va a permitir eliminar una de las unidades de un VG.
Vamos a eliminar el dispositivo /dev/sdc del VG vg_storage1
vgreduce vg_storage1 /dev/sdc
Eliminar un VG
Si uno de nuestros VG’s ya no nos es de utilidad, podemos eliminarlo con «vgremove«.
Supongamos que queremos eliminar el VG de ejemplo que hemos creado en esta entrada, lo haríamos de la siguiente forma:
vgremove vg_storage1
Seguiremos la serie LVM con la gestión de volúmenes lógicos.