IBM Cloud Docs
Gestión del almacenamiento de instancia

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:

  1. En la consola IBM Cloud, vaya al icono Menú de navegación icono del menú >Infraestructura icono VPC >Instancias de servidor virtual.
  2. 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.
  3. 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.
  4. 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.
  5. 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 y vdc 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 de x3d pueden suministrar tamaños de sector de 512 bytes para discos locales.
  • vdd y vde 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 muestra lsblk, su tamaño sigue siendo GiBs (50).
  • vdf y vdg 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.

  1. 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 o jq antes de ejecutar el comando curl. jq es una herramienta de terceros con licencia MIT.

  2. 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')
    
  3. 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.

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