[Proxmox] Almacenamiento: Añadir un almacenamiento local
A continuación se muestra otro ejemplo donde usaremos un disco USB externo conectado al host para almacenar las máquinas virtuales y contenedores. Sería el caso, por ejemplo, de un miniPC donde no existen ranuras internas para añadir discos, por lo que vamos a preparar una carcasa externa USB con un disco.
Método 1 (sin probar)
- El primer paso es preparar la tabla de particiones del disco, crear una partición y formatearla. A continuación explicamos el proceso.
- Conectamos el disco USB al host de Proxmox y reiniciamos.
- Para ver los discos conectados ejecutaremos el comando
# lsblk
apareciendo en nuestro caso el disco USB externo como
sdb
- En la consola de nuestro nodo ejecutamos
# apt install parted
para instalar el paquete
parted
- Ahora crearemos una nueva partición de tipo
GPT
empleando el disco a añadir de la siguiente forma# parted /dev/sdb mklabel gpt
dado que en nuestro caso era
sdb
. - Luego creamos una partición primaria de tipo
EXT4
usando el disco al completo. Para ello ejecutaremos el siguiente comando# parted -a opt /dev/sdb mkpart primary ext4 0% 100%
- A continuación, vamos a crear el formato
EXT4
ejecutando el siguiente código# mkfs.ext4 -L usb /dev/sdb
donde hemos puesto la etiqueta
usb
que podría cambiarse por la que quisiéramos. El proceso puede tardar en función del tipo de disco a emplear…
- Montaje del disco
- Para poder montar el disco, vamos a proceder a generar una carpeta dentro de
/mnt
que contendrá el disco. En nuestro usaremos la siguiente nomenclatura para poder identificarlo del resto# mkdir -p /mnt/usb
- Tendremos que editar el fichero
fstab
y añadir una línea para montar el nuevo disco# nano /etc/fstab
y añadimos la siguiente línea teniendo en cuenta como hemos creado la carpeta y la etiqueta que le hemos puesto a la partición previamente
LABEL=usb /mnt/usb ext4 defaults 0 2
- Montaremos la nueva partición ejecutando el siguiente comando
# mount -a
Si por algún motivo, nos falla el montaje, pero las etiquetas están bien, puede ser que al ejecutar el comando
mkfs.ext4 -L usb /dev/sdb
tengamos que poner /dev/sdb1 pues en algunos casos requiere el número del disco. De todas formas, podemos reiniciar Proxmox sin añadir el1
y montará adecuadamente el disco tras el reinicio.# reboot
- Accederemos dentro de
Centro de datos
>Almacenamiento
> Agregar - Finalmente, generaremos un almacenamiento de tipo
Directory
al que le daremos unID
, por ejemploUSB1
, y asociaremos el directorio que hemos creado y que montamos en Proxmox, en nuestro ejemplo/mnt/usb
. En el apartado deContenido
nos permite elegir las funcionalidades que puede tener el disco como por ejemplo almacenar contenedores y similares. Podemos seleccionar tantas opciones como interesen…
Método 2 (Haciendo)
Preparamos previamente el nuevo disco con alguna herramienta de particiones, por ejemplo gparted
, de forma que su tabla de particiones sea GPT
y no tenga ninguna partición.
- Conectar el almacenamiento. Conectamos el disco al host y reiniciamos.
- Identificar el dispositivo
- Usando el comando
# lsblk
o
# fdisk -l
podremos ver los dispositivos de almacenamiento conectados y sus particiones.
- Localizaremos nuestro dispositivo que resultó ser
sdb
.
- Crear una partición si fuese necesario.
- Podemos usar
fdisk
oparted
para crear una nueva partición. - En nuestro caso
# fdisk /dev/sdb
y seguimos las instrucciones para crear una nueva partición y escribir los cambios.
- Ayuda de fdisk, algunas de las opciones:
- m: ayuda de las opciones disponibles.
- v: verifica la tabla de particiones.
- p: muestra información de la tabla de particiones.
- F: muestra espacio sin usar en el disco.
- n: Añade una nueva partición.
- número: 1 a 128. 1 por defecto.
- primer sector: Pusimos el valor por defecto sugerido, 2048.
- último sector: Pusimos el valor por defecto sugerido, en nuestro disco de 1TB era 1953523711.
- La crea y avisa que contiene una firma
ext4
. Pregunta si eliminar la firma: No.
- i: Visualiza información sobre la partición.
- w: Escribe tabla al disco y sale.
- En el nodo > Discos > Vemos ahora la partición creada. Tipo:
partición
, Almacenamiento: ext4, Tamaño: 1.00TB.
- Crear un volumen físico (PV, Physical Volume). Con
# pvcreate /dev/sdb1
nos pregunta si limpia la firma
ext4
, le decimos queSi
y el almacenamiento pasa deext4
aLVM
, - Crear un grupo de volumen (VG, Volume Group). Utilizando el volumen físico que acabamos de crear, lo creamos con
# vgcreate USB /dev/sdb1
- Agregar el VG a Proxmox usando la GUI
- Abrir la interfaz web de Proxmox. Ingresar la dirección IP de tu servidor Proxmox en un navegador web y acceder con credenciales de administrador.
- Navegar a la sección de almacenamiento: En el panel izquierdo, haz clic en el nodo del servidor Proxmox donde se desea agregar el nuevo almacenamiento. Luego, seleccionar la pestaña «Datacenter» y hacer clic en «Storage».
- Añadir un nuevo almacenamiento: Haz clic en el botón «Add» en la parte superior derecha. Selecciona «LVM» en el menú desplegable.
- Configurar el nuevo Volume Group. En la ventana emergente «Add: LVM», configura los siguientes campos:
- ID: Escribe un nombre único para el nuevo almacenamiento, por ejemplo
local-usb
. - Volume group: Seleccionar el Volume Group que creaste anteriormente, en nuestro ejemplo: USB.
- Content: Marca las opciones que deseas permitir para este almacenamiento (por ejemplo, Disk image, Container).
- Guardar la configuración: Revisa la configuración para asegurarte de que todo está correcto. Haz clic en «Add» para agregar el nuevo almacenamiento.
- reiniciamos.
- Verificar la Configuración. Verifica que el nuevo almacenamiento esté disponible:
- Después de agregar el almacenamiento, debería aparecer en la lista de almacenes de datos en la interfaz de Proxmox.
- Navega a «Datacenter» > «Storage» y asegúrate de que el nuevo Volume Group esté listado y disponible.
Siguiendo estos pasos, habrás agregado almacenamiento externo a tu servidor Proxmox utilizando pvcreate y vgcreate. Esto te permitirá expandir el almacenamiento disponible para tus máquinas virtuales y contenedores de manera eficiente.