Gestión del almacenamiento de instancia
El almacenamiento de instancia proporciona un almacenamiento rápido, asequible y temporal que puede mejorar el rendimiento de algunas cargas de trabajo nativas de la nube (o apps o servicios). Para obtener más información, consulte Acerca del almacenamiento de instancia.
Para suministrar un disco de almacenamiento de instancia con la instancia de servidor virtual, seleccione un perfil que incluya el almacenamiento de instancia. Los dispositivos de disco de almacenamiento de la instancia no se pueden conectar o desconectar en vivo porque se adquieren como parte del propio perfil de la instancia. Las familias de perfiles de uso general (Equilibrado, Cálculo y Memoria) y algunas familias de perfiles especializados (Muy alta memoria y Almacenamiento optimizado) tienen todas opciones de perfil con almacenamiento de instancia. Todos los perfiles de instancia de 3rd generación incluyen almacenamiento de instancia. Para obtener más información, consulte Perfiles de instancia de la tercera generación de3rd. La cantidad de almacenamiento de instancia se asigna proporcionalmente según el número de vCPU asignadas al perfil. Para obtener más información sobre los perfiles, consulte Perfiles de instancia dex86-64.
Aprovisionamiento de una instancia de servidor virtual con almacenamiento de instancia en la consola
Antes de poder crear una instancia de servidor virtual con almacenamiento de instancia, debe crear una IBM Cloud VPC.
Para suministrar un almacenamiento de instancia, siga los pasos siguientes:
- En la consola IBM Cloud, vaya al icono Menú de navegación
>Infraestructura
>Instancias de servidor virtual.
- En la página Instancias de servidor virtual para VPC, haga clic en Crear e introduzca la información necesaria. Para obtener más información sobre campos específicos, consulte Creación de servidores virtuales.
- Para elegir el perfil de almacenamiento de su instancia, haga clic en Ver todos los perfiles. Todos los perfiles ox2 y los perfiles con la letra "d" en la cuarta posición del nombre de perfil incluyen el almacenamiento de instancia. Algunos ejemplos de perfiles que incluyen almacenamiento de instancias son bx2d-2x8 y ox2-2x16. Utilice los recuadros de selección para filtrar la lista. Para obtener una lista de perfiles de instancia, consulte Perfiles de instanciax86-64.
- Elija el perfil que desea utilizar y pulse Guardar. Los discos de almacenamiento de instancia se conectan a la instancia de servidor virtual después del volumen de arranque y antes de los volúmenes de almacenamiento en bloque remoto, si los hay.
- Cuando esté preparado para suministrar la instancia, pulse Crear instancia de servidor virtual.
Próximos pasos
Una vez que se haya creado la instancia, asocie una dirección IP flotante a la instancia. A continuación, puede establecer conexión con la instancia. Para obtener más información, consulte Conexión con la instancia de Linux o Conexión con la instancia de Windows. Si tiene una instancia existente con una dirección IP flotante, no es necesario asignar una segunda IP flotante a otra instancia. Puede conectarse a la primera con una IP flotante y, a continuación, ejecutar SSH sobre la segunda instancia utilizando la dirección IP de subred privada que se le asigna automáticamente.
Aprovisionamiento de una instancia de servidor virtual con almacenamiento de instancia desde la CLI
Para suministrar una instancia de servidor virtual con almacenamiento de instancia, siga las instrucciones para Creación de servidores virtuales utilizando la CLI. Elija un perfil que incluya un disco de almacenamiento de instancia. Para obtener más información sobre los perfiles, consulte Perfiles de instancia.
Suministrar una instancia de servidor virtual con almacenamiento de instancia con la API
Para suministrar una instancia de servidor virtual con almacenamiento de instancia, siga las instrucciones de Utilización de las API REST para crear recursos de VPC. Elija un perfil que incluya un disco de almacenamiento de instancia. Para obtener más información sobre los perfiles, consulte Perfiles de instancia.
La API (o CLI) es útil para determinar el tipo de interfaz que se utiliza para conectar los discos de almacenamiento de instancia. El objeto de instancia que se devuelve de una operación de creación (u obtención) notifica los discos de instancia
en la matriz disks
tal como se muestra en la siguiente salida parcial de ejemplo.
"disks": [
{
"created_at": "2022-04-19T17:13:28Z",
"href": "https://sample-region.iaas.cloud.ibm.com/v1/instances/vsi_aba03916-8804-46ae-9275-b7dc196e94b3/disks/c4e4d137-a44f-47b8-beb0-a22dc8f8c6ea",
"id": "c4e4d137-a44f-47b8-beb0-a22dc8f8c6ea",
"interface_type": "virtio_blk",
"name": "babbling-drove-grove-catnap",
"resource_type": "instance_disk",
"size": 600
}]
Este ejemplo muestra un tipo de interfaz de virtio_blk
.
Utilización de imágenes personalizadas con disco de almacenamiento de instancia
Si utiliza imágenes personalizadas, asegúrese de cargar los controladores de dispositivo correctos en la imagen para utilizar los discos.
Si el dispositivo de almacenamiento de instancia tiene un tipo de interfaz de virtio_blk
, el controlador de libvirt virtio
debe estar instalado. El controlador libvirt virtio
se instala automáticamente
con todos los sistemas operativos proporcionados por IBM. Todos los perfiles de propósito general con almacenamiento de instancia sólo ofrecen conexiones virtio_blk
.
Utilización del almacenamiento de instancia desde la instancia
Listar los dispositivos de bloque en la instancia
En Linux®, puede utilizar el comando lsblk
para listar los dispositivos de bloque después de iniciar sesión en su instancia. En el ejemplo siguiente, la instancia que se suministra tiene dos discos de instancia de 600 GB y dos
volúmenes de datos de 50 GiB. Se especifica una lista de columnas personalizadas al comando lsblk
para resaltar algunas diferencias entre el almacenamiento de instancia y el remoto Block Storage.
Los discos de instancia se miden en gigabytes (GB), pero lsblk
muestra el tamaño en gibibytes ( GiB ).
$ lsblk -o NAME,SIZE,MAJ:MIN,TYPE,PHY-SEC,LOG-SEC,MOUNTPOINT
NAME SIZE MAJ:MIN TYPE PHY-SEC LOG-SEC MOUNTPOINT
vda 100G 252:0 disk 512 512
├─vda1 1G 252:1 part 512 512 /boot
└─vda2 99G 252:2 part 512 512
├─cl-root 97G 253:0 lvm 512 512 /
└─cl-swap 2.1G 253:1 lvm 512 512
vdb 558.8G 252:16 disk 4096 4096
vdc 558.8G 252:32 disk 4096 4096
vdd 50G 252:48 disk 512 512
vde 50G 252:64 disk 512 512
vdf 366K 252:80 disk 512 512
vdg 44K 252:96 disk 512 512
En este ejemplo, todos los dispositivos Block Storage son dispositivos virtio_blk
:
vda
es el volumen de arranque.vdb
yvdc
son los discos de almacenamiento de instancia de 600 GB. En Linux®, los discos de almacenamiento de instancia siguen al volumen de arranque siendo el primero/dev/vdb
. Dado que el comando lsblk muestra las unidades "G" como base-2 gibibytes, el tamaño se muestra como 558.8 GiBs. Los valores de columna de tamaño de sector pueden diferir en función del sistema operativo o de la generación del perfil. Por ejemplo, las familias de perfiles de instancia dex3d
pueden suministrar tamaños de sector de 512 bytes para discos locales.vdd
yvde
son volúmenes de datos remotos que se adjuntan a la instancia. Dado que estos volúmenes de datos se solicitan en las mismas unidades que muestralsblk
, su tamaño sigue siendo GiBs (50).vdf
yvdg
son pequeños volúmenes de bloques que se utilizan para la configuración cloud-init de la instancia.
Utilización del servicio de metadatos para listar el almacenamiento de instancias
El servicio de metadatos se puede utilizar desde dentro de la instancia para recuperar información sobre la instancia, incluidos los discos de almacenamiento de instancia. Para recuperar información de metadatos, la prestación de servicio de metadatos debe estar habilitada cuando se suministra la instancia o actualizando la instancia posteriormente. Para obtener más información sobre cómo habilitar y utilizar el procedimiento, consulte Acceso a metadatos desde una instancia.
Si tiene una instancia con el servicio de metadatos habilitado, los pasos siguientes muestran un ejemplo de utilización de metadatos de almacenamiento de instancia desde un servidor virtual Linux.
-
Recuperar una señal de identidad de instancia de corta duración.
instance_identity_token=`curl -X PUT "http://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2024-02-20" -H "Metadata-Flavor: ibm" -H "Accept: application/json" -d '{ "expires_in": 300}' | jq -r '(.access_token)'`
Utilice HTTPS en lugar de HTTP si el punto final del servicio de metadatos seguro está activado. Es posible que necesite instalar los paquetes
curl
ojq
antes de ejecutar el comando curl.jq
es una herramienta de terceros con licencia MIT. -
Utilice la señal para obtener metadatos de instancia y seleccione la parte
disks
y almacene el json en una variable bash.disks=$(curl -sS -X GET "http://api.metadata.cloud.ibm.com/metadata/v1/instance?version=2024-02-20" -H "Authorization: Bearer $instance_identity_token" | jq -r '.disks')
-
Realice un bucle sobre los dispositivos
virtio
en/dev/disk/by-id
y correlacione las vías de acceso de dispositivo con la información de disco de instancia almacenada en el paso anterior.for ln in $(ls /dev/disk/by-id/virtio*); do b=$(basename $ln); s=${b#virtio-}; disk=$(echo $disks | jq -r ".[] | select(.id | startswith(\"$s\"))"); if [ -n "$disk" ]; then echo "$ln $(readlink -f $ln) $(echo $disk | jq -r '(.size|tostring) + " " + .name')";fi;done
A continuación se muestra una salida de ejemplo del mandato anterior donde el orden de columna es (1) por vía de acceso de ID, (2) destino de dispositivo de enlace simbólico, (3) tamaño en GB y (4) el nombre de disco de UI/CLI/API de nube:
/dev/disk/by-id/virtio-0736-35db69bb-d09b-4 /dev/vdc 600 palmtree-vacuumed-judiciary-wharf
/dev/disk/by-id/virtio-0736-874803ac-2593-4 /dev/vdb 600 lunacy-dismantle-dotted-fiddling
En este caso, los nombres de disco son los nombres generados aleatorios de cuatro palabras, pero se pueden editar para tener nombres personalizados. Para obtener más información, consulte Actualización de uno de los nombres predeterminados.
Particionamiento, formateo y montaje de los discos de almacenamiento de instancia
Los discos de almacenamiento de instancia se pueden particionar, formatearlos con un sistema de archivos y montarlos en el sistema de archivos jerárquico de la misma manera que los volúmenes de bloque remotos.
- Para obtener instrucciones sobre Linux®, consulte Configuración del volumen de datos de Block Storage for VPC para su uso(Linux) o Configuración de un almacenamiento de instancia de disco individual utilizando el script cloud-config.
- Para Windows®, utilice la interfaz de usuario de Administración de equipos para poner en línea un volumen de bloque, particionarlo y formatearlo. Para obtener más información, consulte Configuración del volumen de datos de Block Storage for VPC para su uso(Windows).
El siguiente ejemplo de lsblk
muestra la salida después de iniciar sesión en una instancia de bx3d-48x240
y particionar vdc
en dos particiones primarias, formatearlas con sistemas de archivos independientes
y montarlas. El mandato grep
con expresión reqular se utiliza para filtrar la salida sólo a los dispositivos vdb y vdc obtenidos a través del servicio de metadatos (consulte la sección anterior).
$ lsblk | grep -E "NAME|vd[b|c]"
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
vdb 252:16 0 726.4G 0 disk
vdc 252:32 0 726.4G 0 disk
├─vdc1 252:33 0 200G 0 part /mnt/localdisk1
└─vdc2 252:34 0 526.4G 0 part /mnt/localdisk2
Debido a la naturaleza efímera del almacenamiento de instancia, configure la entrada de montaje en el archivo /etc/fstab
de la máquina virtual de Linux® con la opción nofail
, o deje la entrada de montaje completamente
fuera. Este valor evita un error de montaje durante el arranque.
El ejemplo siguiente muestra una entrada de montaje con la opción nofail
.
/dev/vdb1 /mnt/inststg1 ext4 defaults,nofail 0 0
Búsqueda de detalles de almacenamiento de instancia de un perfil de instancia
Busque la columna de almacenamiento de instancias en la interfaz de usuario web o en la CLI cuando filtre perfiles de instancias. Se puede llamar Storage(GB)
.
Los ejemplos siguientes muestran los valores de columna posibles y lo que significan:
- 1 x 150 GB – Se conecta un único dispositivo de bloque de 150 GB a la instancia de servidor virtual para el almacenamiento de instancia.
- 2 x 600 GB - Se conectan dos dispositivos de bloques de almacenamiento de instancia de 600 GB (1200 en total).
En algunos contextos, puede ver un Tipo de interfaz (normalmente virtio_blk
) para un perfil de instancia o para un disco de instancia adjunto. El ejemplo siguiente muestra los detalles que se han obtenido de la CLI para un perfil
de instancia específico.
$ ibmcloud is in-pr bx2d-48x192
Getting instance profile bx2d-48x192 under account YYYYYY as user vpc-user@myco.com...
Name bx2d-48x192
Architecture amd64
vCPU Manufacturer intel
Family balanced
vCPUs 48
Memory(GiB) 192
GPU Model Manufacturer Count Memory(GiB)
- - - -
Numa Count -
Bandwidth(Mbps) 80000
Volume bandwidth(Mbps) -
Instance Storage Disks Quantity Size Supported interface types
2 900 virtio_blk
Min NIC Count 1
Max NIC Count 10
Notificación de la información sobre el almacenamiento de instancia
Puede notificar la información sobre el almacenamiento de instancia a la instancia de servidor virtual utilizando el siguiente ejemplo de CLI. Sustituya su propio nombre o ID de instancia.
$ ibmcloud is instance-disks 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488
Listing disks of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID Name Size Interface Type
0716-6ebed02f-c421-4b06-a73b-f334413e84b3 clunky-refocus-tidings-underpaid 600 virtio_blk
0716-54ee0659-d92a-4d4c-ac6b-8f03cb178a07 linguini-epiphany-lush-preschool 600 virtio_blk
Actualización de uno de los nombres predeterminados
Puede actualizar los nombres personalizados de los discos de almacenamiento de instancia utilizando el siguiente comando CLI. Sustituya su propio ID de instancia e ID de disco para los dos últimos parámetros, respectivamente.
$ ibmcloud is instance-disk-update 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 0716-6ebed02f-c421-4b06-a73b-f334413e84b3 --name my-instance-disk1
Updating instance disk 0716-6ebed02f-c421-4b06-a73b-f334413e84b3 of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID 0716-6ebed02f-c421-4b06-a73b-f334413e84b3
Name my-instance-disk1
Size 600
Interface Type virtio_blk
Created 2020-10-29T22:57:15-05:00
$ ibmcloud is instance-disks 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488
Listing disks of instance 0716_f8c0fd3b-cada-46c3-91f6-c271937ef488 under account YYYYYY as user vpc-user@myco.com...
ID Name Size Interface Type
0716-6ebed02f-c421-4b06-a73b-f334413e84b3 my-instance-disk1 600 virtio_blk
0716-54ee0659-d92a-4d4c-ac6b-8f03cb178a07 linguini-epiphany-lush-preschool 600 virtio_blk