Gestion du stockage d'instance

Le stockage d'instance fournit un stockage temporaire rapide et abordable qui peut améliorer les performances de certaines charges de travail natives du cloud (ou d'applications ou de services). Pour plus d'informations, voir A propos du stockage d'instance.

Pour mettre à disposition un disque de stockage d'instance avec votre instance de serveur virtuel, sélectionnez un profil qui inclut le stockage d'instance. Les périphériques de stockage de disque d'instance ne peuvent pas être connectés ou déconnectés à chaud, car ils sont achetés dans le cadre du profil d'instance lui-même. Les familles de profils à usage général (Balanced, Compute et Memory) et certaines familles de profils spécifiques (Very High Memory et Storage Optimized) ont toutes des options de profil avec stockage d'instance. Tous les profils d'instance de troisième génération incluent le stockage d'instance. Pour plus d'informations, voir les profils d'instance de troisième génération. La quantité de stockage d'instance est allouée proportionnellement en fonction du nombre d'unités centrales virtuelles affectées au profil. Pour plus d'informations sur les profils, consultez Profils d'instance x86-64.

Provisionnement d'une instance de serveur virtuel avec stockage d'instance dans la console

Avant de créer une instance de serveur virtuel avec stockage d'instance, vous devez créer un fichier IBM Cloud VPC.

Pour mettre à disposition une instance de serveur virtuel avec un stockage d'instance, procédez comme suit :

  1. Dans la console IBM Cloud, allez à Navigation Menu icon menu icon > Infrastructure VPC icon > Compute > Virtual server instances.
  2. Sur la page Instances de serveur virtuel pour VPC, cliquez sur Créer et saisissez les informations requises. Pour plus d'informations sur certaines zones, voir Création de serveurs virtuels.
  3. Pour choisir votre profil de stockage d'instance, cliquez sur Afficher tous les profils. Tous les profils ox2 et les profils avec la lettre "d" à la quatrième position du nom de profil incluent le stockage d'instance. Exemples de profils incluant le stockage d'instance: bx2d-2x8 et ox2-2x16. Utilisez les cases à cocher pour filtrer la liste. Pour obtenir la liste des profils d'instance, voir Profils d'instancex86-64.
  4. Choisissez le profil à utiliser et cliquez sur Sauvegarder. Les disques de stockage d'instance sont connectés à l'instance de serveur virtuel après le volume d'amorçage et avant les volumes de stockage par blocs distants, le cas échéant.
  5. Une fois que vous êtes prêt à mettre à disposition votre instance, cliquez sur Créer une instance de serveur virtuel.

Etapes suivantes

Une fois que l'instance a été créée, associez une adresse IP flottante à l'instance. Vous pouvez ensuite vous connecter à votre instance. Pour plus d'informations, voir Connexion à votre instance Linux ou Connexion à votre instance Windows. Si vous disposez d'une instance existante avec une adresse IP flottante, il n'est pas nécessaire d'affecter une seconde IP flottante à une autre instance. Vous pouvez vous connecter à la première via une adresse IP flottante, puis vous connecter via SSH à la seconde instance, à l'aide de l'adresse IP de sous-réseau privé qui lui est automatiquement affectée.

Provisionnement d'une instance de serveur virtuel avec le stockage d'instance à partir de l'interface CLI

Pour mettre à disposition une instance de serveur virtuel avec un stockage d'instance, suivez les instructions de la rubrique Création de serveurs virtuels à l'aide de l'interface de ligne de commande. Choisissez un profil qui inclut un disque de stockage d'instance. Pour plus d'informations sur les profils, voir Profils d'instance.

Mise à disposition d'une instance de serveur virtuel avec stockage d'instance à l'aide de l'API

Pour mettre à disposition une instance de serveur virtuel avec un stockage d'instance, suivez les instructions de la rubrique Utilisation des API REST pour créer des ressources VPC. Choisissez un profil qui inclut un disque de stockage d'instance. Pour plus d'informations sur les profils, voir Profils d'instance.

L'API (ou interface de ligne de commande) est utile pour déterminer le type d'interface utilisé pour connecter les disques de stockage d'instance. L'objet d'instance renvoyé par une opération de création (ou d'obtention) signale les disques d'instance dans la grappe disks, comme illustré dans l'exemple de sortie partielle suivant.

  "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
    }]

Cet exemple illustre le type d'interface virtio_blk.

Utilisation d'images personnalisées avec un disque de stockage d'instance

Si vous utilisez des images personnalisées, assurez-vous de charger les pilotes de périphérique corrects dans l'image pour utiliser les disques.

Si le type d'interface de votre unité de stockage d'instance est virtio_blk, le pilote libvirt virtio doit être installé. Le libvirt virtio pilote est automatiquement installé avec tous les systèmes IBM d'exploitation fournis. Tous les profils à usage général avec stockage d'instance offrent uniquement des connexions virtio_blk.

Utilisation du stockage d'instance de votre instance

Liste des unités par blocs sur votre instance

Une fois connecté à Linux® votre instance, vous pouvez utiliser la lsblk commande pour répertorier les périphériques bloc. Dans l'exemple suivant, l'instance mise à disposition dispose de deux disques d'instance de 600 Go et de deux volumes de données de 50 Gio. Une liste de colonnes personnalisées est spécifiée dans la lsblk commande afin de mettre en évidence certaines différences entre le stockage d'instance et le stockage distant Block Storage.

Les disques d'instance sont mesurés en gigaoctets (Go), mais lsblk affiche la taille en gibioctets ( 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

Dans cet exemple, tous les Block Storage appareils sont virtio_blk des appareils :

  • vda est le volume de démarrage.
  • vdb et vdc sont les disques de stockage d'instance de 600 Go. Dans Linux®, les disques de stockage d'instance suivent le volume d'amorçage, le premier étant /dev/vdb. Étant donné que la commande lsblk affiche les unités « G » en base-2 gibioctets, la taille est affichée comme GiBs558.8. Les valeurs de la colonne de taille de secteur peuvent varier en fonction du système d'exploitation ou de la génération du profil. Par exemple, les familles de profils d'instance x3d peuvent mettre à disposition des tailles de secteur de 512 octets pour les disques locaux.
  • vdd et vde sont des volumes de données distants qui sont attachés à l'instance. Étant donné que ces volumes de données sont demandés dans les mêmes unités que lsblk celles affichées, leur taille reste inchangée GiBs (50).
  • vdf et vdg sont de petits volumes de blocs utilisés pour la configuration cloud-init de l'instance.

Utilisation du service de métadonnées pour répertorier le stockage d'instance

Le service de métadonnées peut être utilisé à partir de l'instance pour extraire des informations sur l'instance, y compris les disques de stockage d'instance. Pour extraire des informations de métadonnées, la fonction de service de métadonnées doit être activée lors de la mise à disposition de l'instance ou en mettant à jour l'instance par la suite. Pour plus d'informations sur l'activation et la procédure d'utilisation, voir Accès aux métadonnées à partir d'une instance.

Si vous disposez d'une instance avec le service de métadonnées activé, les étapes suivantes illustrent un exemple d'utilisation de métadonnées de stockage d'instance à partir d'un serveur virtuel Linux.

  1. Extrayez un jeton d'identité d'instance de courte durée.

    instance_identity_token=`curl -X PUT "http://api.metadata.cloud.ibm.com/instance_identity/v1/token?version=2022-03-01" -H "Metadata-Flavor: ibm" -H "Accept: application/json" -d '{ "expires_in": 300}' | jq -r '(.access_token)'`
    

    Utilisez HTTPS à la place de HTTP si le point de terminaison du service de métadonnées sécurisé est activé. Il se peut que vous deviez installer les paquets curl ou jq avant d'exécuter la commande curl. jq est un outil tiers sous licence MIT.

  2. Utilisez le jeton pour obtenir des métadonnées d'instance et sélectionnez la portion disks et stockez le fichier json dans une 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. Faites une boucle sur les unités virtio dans /dev/disk/by-id et mettez en corrélation les chemins d'unité avec les informations de disque d'instance stockées à l'étape précédente.

    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
    

Voici un exemple de sortie de la commande précédente dans laquelle l'ordre des colonnes est (1) le chemin d'accès par ID, (2) la cible de l'unité symlink, (3) la taille en Go et (4) le nom du disque Cloud UI/CLI/API:

/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

Dans ce cas, les noms de disque sont les noms aléatoires générés par quatre mots, mais ils peuvent être édités pour avoir des noms personnalisés. Pour plus d'informations, voir Mise à jour de l'un des noms par défaut.

Partitionnement, formatage et montage des disques de stockage d'instance

Les disques de stockage d'instance peuvent être partitionnés, formatés avec un système de fichiers et montés dans le système de fichiers hiérarchique de la même manière que les volumes par blocs distants.

L'exemple lsblk suivant illustre la sortie après la connexion à une instance bx3d-48x240 et le partitionnement de vdc en deux partitions principales, leur formatage avec des systèmes de fichiers distincts et leur montage. La commande grep avec une expression régulière est utilisée pour filtrer la sortie vers les seuls périphériques vdb et vdc obtenus par le service Metadata (voir la section précédente).

$ 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

En raison de la nature éphémère du stockage d'instance, configurez l'entrée de montage dans le Linux® fichier /etc/fstab de la VM avec nofail l'option, ou supprimez complètement l'entrée de montage. Ce paramètre évite un échec de montage lors de l'amorçage.

L'exemple suivant illustre une entrée de montage avec l'option nofail.

/dev/vdb1 /mnt/inststg1 ext4 defaults,nofail 0 0

Recherche des détails de stockage d'instance d'un profil d'instance

Recherchez la colonne « Stockage de l'instance » dans l'interface utilisateur Web ou l'interface de ligne de commande lorsque vous filtrez les profils d'instance. Il peut s'appeler Storage(GB).

Les exemples suivants montrent les valeurs de colonne possibles et leur signification:

  • 1 x 150 Go – Une unité par blocs de 150 Go est connectée à l'instance de serveur virtuel pour le stockage d'instance.
  • 2 x 600 Go – Deux périphériques de stockage en bloc de 600 Go (1 200 au total) sont connectés.

Dans certains contextes, vous pouvez voir un type d'interface (généralement virtio_blk) pour un profil d'instance ou pour un disque d'instance attaché. L'exemple suivant montre les détails qui ont été obtenus à partir de l'interface de ligne de commande pour un profil d'instance spécifique.

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

Communication des informations sur le stockage d'instance

Vous pouvez communiquer les informations sur le stockage d'instance de votre instance de serveur virtuel à l'aide de l'exemple d'interface de ligne de commande ci-après. Remplacez par votre propre ID ou nom d'instance.

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

Mise à jour de l'un des noms par défaut

Vous pouvez mettre à jour les noms personnalisés des disques de stockage d'instance à l'aide de la commande CLI suivante. Remplacez vos propres ID d'instance et ID de disque par les deux derniers paramètres, respectivement.

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