Generalidades
DreamCompute, al igual que otras nubes OpenStack, tiene varios tipos de almacenamiento disponibles para su uso. Este artículo trabaja con el almacenamiento de 'Volumen' que se recomienda para almacenar datos críticos e importantes. Para obtener más información sobre los tipos de almacenamiento, visita el artículo sobre las diferencias entre almacenamiento efímero y volumétrico.
¿Qué es el almacenamiento de volumen?
Los volúmenes se pueden considerar como un disco duro de intercambio en caliente, ya que puede extraerlo de un sistema (desconectarlo), conectarlo a otro sistema (adjuntarlo) y los datos permanecerán en él mientras se reutilizan.
Hay varias formas de realizar los pasos iniciales para crear y adjuntar el volumen, así que selecciona el método que deseas utilizar:
Crear y adjuntar un volumen usando el panel
Verficar tu capacidad de almacenamiento
El primer paso es asegurarse de tener suficiente volumen de almacenamiento para agregar un nuevo volumen. Revisa la página del panel de DreamCompute Generalidades de un project. En esta página, mira el gráfico circular 'Volumen de Almacenamiento'.
Si necesitas almacenamiento adicional, puedes agregar más en el panel de control de DreamHost.
Crear un Volumen
- Navega hasta la página del panel de DreamCompute 'volumes'.
- Da clic en el botón Create Volume en la parte superior derecha.
- Asigna al volumen un tamaño requerido en GB, y un nombre y descripción opcionales, mientras deja las otras opciones configuradas con los valores predeterminados.
Adjuntar un Volumen
Para usar tu volumen, debe estar adjunto a una instancia en ejecución. Si no tienes instancias, crea una primero.
- Navega a la página del panel de DreamCompute volumes.
- Da clic en el menú desplegable y selecciona Manage Attachments. La nueva ventana no mostrará archivos adjuntos en este momento. También muestra un menú desplegable con una lista de tus instancias.
- Haz clic en la lista y selecciona el nombre de tu instancia, luego haz clic en Attach Volume.
Esto completa la creación del volumen. Haz clic a continuación para continuar con la creación de tu sistema de archivos y el montaje del volumen.
Crear y adjuntar un volumen usando la CLI de OpenStack
El primer paso es asegurarse de tener suficiente volumen de almacenamiento para agregar un nuevo volumen. Consulta el panel de DreamCompute Generalidades de un project. En esta página, mira el gráfico circular 'Volume Storage'. Si necesitas almacenamiento adicional, se puede agregar más en la página panel de control.
Crear un Volumen
Para crear un nuevo volune, corre este comando:
[user@localhost]$ openstack volume create --size SIZE_IN_GB VOLUME_NAME
El volumen ahora debería aparecer en el tablero, y en la línea de comando.
Adjuntar el Volume
Para usar tu volumen, necesita ser adjuntado para una instancia que ya está corriendo. Si no tienes instancias, necesitarás crear una. Usando CLI requiere que el nombre de la instancia y el UUID del volumen.
Primero, ubica los detalles del volumen corriendo:
[user@localhost]$ openstack volume list +-----------------------+--------------+-----------+------------+-----------------------+ | ID | Display Name | Status | Size | Attached to | +-----------------------+--------------+-----------+------------+-----------------------+ | 26c25d21-cff5-4154... | - | in-use | 50 | b781a709-27d7-4d7a... | | 8edfb18b-6b4b-424e... | VOLUME_NAME | available | SIZE_IN_GB | | +-----------------------+--------------+-----------+------------+-----------------------+
En este ejemplo, la instancia se llama 'VOLUME_NAME' y solo hay un volumen 'disponible' que es el que se acabas de crear.
Una vez que tengas tus valores, adjunta el volumen con el siguiente comando:
[user@localhost]$ openstack server add volume mysql VOLUME_NAME
Es posible que el nombre del dispositivo que aparece en la lista no siempre sea exacto, por lo que debes verificarlo antes de usar un dispositivo nuevo.
Crear un Sistema de Archivos
La nueva unidad ahora necesita un sistema de archivos para poder almacenar datos. Hay muchas opciones cuando se trata de sistemas de archivos, pero para este ejemplo, se usa un valor predeterminado seguro de ext4.
Ahora conéctate a tu instancia con el usuario predeterminado para tu imagen.
Primero, busca el nombre del dispositivo para el nuevo volumen. Puedes ver qué dispositivos están disponibles comprobando los archivos de dispositivo /dev/vd*:
[user@localhost]$ ls /dev/vd* /dev/vda /dev/vda1 /dev/vdb
Generalmente /dev/vda será la unidad de arranque y, en este caso, /dev/vdb parece ser el nuevo volumen. Puedes verificar las coincidencias de tamaño con el comando:
[user@localhost]$ sudo fdisk -l /dev/vdb Disk /dev/vdb: 1 GiB, 1073741824 bytes, 2097152 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes
Esto coincide con el tamaño de 1 GB del volumen creado. A continuación, crea un sistema de archivos en la unidad corriendo el comando mkfs.
¡Este comando es destructivo! Si se corre en el dispositivo incorrecto, lo borrará, así que por favor asegúrate de tenerlo correcto.
[user@localhost]$ sudo mkfs.ext4 /dev/vdb mke2fs 1.42.13 (01-Apr-2024) Creating filesystem with 262144 4k blocks and 65536 inodes Filesystem UUID: 51751b87-a583-42b3-8d61-27ed586ba8da Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Allocating group tables: done Writing inode tables: done Creating journal (8192 blocks): done Writing superblocks and filesystem accounting information: done
El archivo del sistema está creado ahora.
Montar el Sistema de Archivos
Como se mencionó anteriormente, el dispositivo de la unidad puede cambiar en caso de que ocurran cambios udev u otros, y tal error puede evitar que tu instancia se inicie correctamente. Para evitar esto, inicia a través de UUID. Puedes encontrar el UUID de las unidades corriendo el comando blkid:
[user@localhost]$ sudo blkid /dev/vdb /dev/vdb: UUID="51751b87-a583-42b3-8d61-27ed586ba8da" TYPE="ext4"
Si deseas montar este volumen en una ubicación que no existe, sigue adelante y crea el directorio con mkdir:
[user@localhost]$ sudo mkdir -p /mnt/backups
Con esta información, ahora puedes modificar /etc/fstab para que se monte automáticamente. Edítalo con tu editor preferido, y agrega una línea hacia la parte inferior así:
UUID=51751b87-a583-42b3-8d61-27ed586ba8da /mnt/backups ext4 defaults 0 2
Una vez que se agrega, puedes probar tu configuración con lo siguiente:
[user@localhost]$ sudo mount -a
Si todo tuviste éxito, no deberías ver ninguna salida o solo una salida sobre el Sistema de Archivos. Puedes comprobar que todo va bien con df:
[user@localhost]$ df -h /mnt/backups Filesystem Size Used Avail Use% Mounted on /dev/vdb 976M 1.3M 908M 1% /mnt/backups
Comprobar específicamente el dispositivo /dev/vdb en la parte delantera.
Eso es todo. Cuando reinicies tu instancia, tu volumen se volverá a montar y estará listo para usar.
Eliminar un Volumen
Si necesitas eliminar un volumen, primero deberás desconectarlo de una instancia a la que esté conectado.
- Navega hasta la página del panel de DreamCompute volumes.
- Haz clic en el menú desplegable y selecciona Manage Attachments:
- Da clic en el botón Detach Volume a la derecha de tu instancia.
- Da clic en el botón Detach Volume en la ventana que aparece para confirmar la acción.
- Da clic en el menú desplegable y selecciona Delete Volume.
- Da clic en el botón Delete Volume en la ventana que aparece para confirmar la acción.