Ampliar el almacenamiento LVM de Proxmox VE con un nuevo disco
Introducción
Cuando un servidor se encuentra en activo, es relativamente frecuente que, en algún momento, necesitemos añadirle un nuevo disco para disponer de más espacio de almacenamiento.
Afortunadamente, el precio por unidad de almacenamiento en los discos duros va disminuyendo poco a poco, lo que hace que, además, sea una solución bastante asequible.
Hoy aprenderemos a ampliar el espacio de almacenamiento disponible para uno de los servidores Proxmox VE que venimos usando como ejemplo en otros artículos de esta serie. En concreto, ampliaremos la capacidad de su volumen LVM.
Antes de comenzar
En este artículo, vamos a suponer que la parte física ya está resuelta. Es decir: dispones de un disco nuevo y lo has alojado de forma adecuada en el interior de tu servidor.
Por supuesto, supondremos que ya dispones de un servidor Proxmox VE, debidamente configurado. No obstante, si necesitas ayuda con ésta u otras tareas relacionadas con Proxmox VE, puedes consultar los artículos publicados en SomeBooks.es sobre el tema.
Comprobar que el disco está accesible
Para asegurarnos de que el disco está disponible, podemos comenzar por abrir la página de administración de Proxmox VE desde el ordenador cliente que usemos habitualmente para hacerlo.
Una vez autenticados, seleccionamos en el panel izquierdo el nombre del servidor y, en el del centro, la categoría Disks.
Al hacerlo, comprobamos a la derecha que disponemos de dos discos: uno está unido al volumen LVM y el otro no.
A partir de aquí, usaremos la terminal para llevar a cabo el resto de la tarea. Una de las formas de lograrlo consiste en desplegar el botón Shell.
Una vez abierta la ventana de terminal, también podríamos usar el comando lsblk para identificar la estructura de discos del servidor:
lsblk
Crear una partición en el disco
El siguiente paso consistirá en crear una partición para el disco nuevo. Podríamos hacer un particionado más complejo pero, para simplificar las cosas, crearemos una partición única que ocupará todo el espacio disponible.
Para lograrlo, usaremos el comando fdisk con privilegios de administración:
fdisk /dev/sdb
El comando fdisk actúa de forma interactiva, por lo que nos irá pidiendo información y nosotros deberemos ir completándola. Vayamos paso a paso:
-
La primera vez que nos pide una orden, pulsamos la tecla n, que significa que queremos crear una nueva partición.
-
A continuación, deberemos indicar que la partición es primaria. Por lo tanto, siguiendo las indicaciones del propio comando, pulsaremos la tecla p.
-
Indicaremos que se trata de la primera partición del dispositivo, para lo que pulsaremos la tecla 1.
-
Después, deberemos indicar dónde comienza la partición (primer sector) y dónde termina (último sector). Como queremos ocupar todo el dispositivo, dejamos los valores predeterminados. Es decir, nos limitamos a pulsar la tecla Intro dos veces.
-
De forma predeterminada, la partición será de tipo Linux (83), pero nosotros necesitaremos que sea Linux LVM, que se corresponde con el valor 8e. Para lograrlo, a continuación pulsamos la tecla t (que es la opción que nos permite cambiar el tipo de partición) y, después, el valor 8e.
Finalmente escribimos la orden w, para guardar los cambios.
Si hubiesen existido particiones previas, podríamos haberlas eliminado con la orden d, seguida del número de partición. De forma parecida a como las hemos creado más arriba.
Añadir el espacio al volumen lógico
Una vez preparado el disco, lo inicializamos para incorporarlo al volumen LVM (bueno, en realidad, es un grupo de volúmenes que en este momento tiene un solo volumen). Este trabajo lo lleva a cabo el comando pvcreate, por lo que escribiremos algo como esto:
sudo pvcreate /dev/sdb1
Aunque en este caso estamos añadiendo una partición, también podríamos hacer la tarea añadiendo el disco completo.
A continuación, añadimos el volumen físico al grupo de volúmenes lógicos, para que su capacidad de almacenamiento quede a disposición de éste. Esto se consigue con el comando vgextend escribiendo lo siguiente:
sudo vgextend pve /dev/sdb1
Como es lógico, pve representa el nombre del grupo de volúmenes y /dev/sdb1 es el volumen físico implicado.
Por último, extendemos el volumen lógico que nos interesa, en este caso /dev/mapper/pve-data, con el volumen físico
lvextend /dev/mapper/pve-data /dev/sdb1
Comprobar el resultado
Si ahora volvemos a consultar los discos disponibles en la interfaz de Proxmox VE…
Y si consultamos la estructura de LVM…
Por último, si volvemos a usar el comando lsblk…
Y hasta aquí el contenido del artículo. Espero que te resulte útil.