Dissocier et réassocier des disques

Ce document explique comment associer et réassocier des disques de démarrage et non amorçables à des instances Compute Engine Bare Metal et de machine virtuelle (VM).

Dissocier le disque de démarrage d'une instance vous permet d'effectuer les tâches suivantes sans avoir à recréer l'instance :

  • Remplacer le disque de démarrage d'une instance par un autre disque
  • Réparer le disque de démarrage d'une instance en l'associant temporairement à une autre instance

Dissocier un disque non amorçable d'une instance et l'associer à une autre vous permet d'utiliser les données du disque à partir de la deuxième instance sans avoir à les copier sur un nouveau disque.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification permet de valider votre identité pour accéder aux Cloud de Confiance by S3NS services et aux API. Pour exécuter du code ou des exemples depuis un environnement de développement local, vous pouvez vous authentifier auprès de Compute Engine en sélectionnant l'une des options suivantes :

    Sélectionnez l'onglet correspondant à la façon dont vous prévoyez d'utiliser les exemples de cette page :

    Console

    Lorsque vous utilisez la Cloud de Confiance console pour accéder aux Cloud de Confiance by S3NS services et aux API, vous n'avez pas besoin de configurer l'authentification.

    gcloud

    1. Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée. Après vous être connecté, initialisez la Google Cloud CLI en exécutant la commande suivante :

      gcloud init
  • Définissez une région et une zone par défaut.
  • REST

    Pour utiliser les exemples API REST de cette page dans un environnement de développement local, vous devez utiliser les identifiants que vous fournissez à la gcloud CLI.

      Installez la Google Cloud CLI, puis connectez-vous à la gcloud CLI avec votre identité fédérée.

    Pour en savoir plus, consultez la section S'authentifier pour utiliser REST dans la documentation sur l' Cloud de Confiance authentification.

Autorisations requises pour cette tâche

Pour effectuer cette tâche, vous devez disposer des autorisations suivantes :

  • compute.instances.detachDisk sur l'instance
  • compute.instances.attachDisk sur l'instance

Déplacer un disque de démarrage entre des instances

Avant de déplacer un disque de démarrage entre des instances qui utilisent différentes séries de machines, vérifiez que l'architecture du disque de démarrage des deux instances correspond. Par exemple, vous ne pouvez pas associer un disque de démarrage d'une instance C4A à une instance C4, car C4A et C4 utilisent respectivement les architectures Arm et x86. Pour déterminer l' architecture d'une série de machines, consultez la ligne Architecture du tableau de comparaison des séries de machines.

Pour connaître les autres facteurs à prendre en compte lorsque vous déplacez un disque de démarrage entre des séries de machines, consultez Déplacer votre charge de travail vers une nouvelle instance de calcul.

Restrictions

  • L'architecture du disque de démarrage doit correspondre à celle de l'instance. Par exemple, vous ne pouvez pas associer un disque de démarrage qui utilise x86 à une instance Arm.
  • Vous ne pouvez associer ou dissocier un disque de démarrage qu'à partir d'une instance de VM arrêtée.
  • Vous ne pouvez associer qu'un seul disque de démarrage par instance de VM.
  • Si vous utilisez la gcloud CLI ou REST, vous ne pouvez associer que des disques de démarrage existants à une instance de VM.
  • Vous ne pouvez pas dissocier un disque SSD local d'une instance. Vous ne pouvez associer des disques SSD locaux à une instance que lorsque vous la créez.

Dissocier un disque de démarrage

Avant de dissocier le disque de démarrage d'une instance de VM, vous devez arrêter l'instance. Vous n'avez pas besoin de désinstaller le disque.

Console

  1. Accédez à la page des instances de VM.

    Accéder à la page Instances de VM

  2. Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur l'instance dont vous souhaitez dissocier le disque de démarrage.
  4. Cliquez sur Arrêter pour arrêter la VM. Si l'option Arrêter n'est pas disponible, cliquez sur Autres actions > Arrêter.
  5. Cliquez sur Modifier.
  6. Dans la section Disque de démarrage, cliquez sur Dissocier le disque de démarrage.
  7. Cliquez sur Enregistrer.

gcloud

Utilisez la commande gcloud compute instances detach-disk pour dissocier le disque de démarrage de l'instance :

gcloud compute instances detach-disk INSTANCE_NAME \
    --disk=DISK_NAME

Remplacez l'élément suivant :

  • INSTANCE_NAME : nom de l'instance.
  • DISK_NAME : nom du disque à dissocier. Le nom du disque est généralement identique à celui de l'instance.

REST

Envoyez une requête POST pour dissocier le disque :

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DISK_NAME

Remplacez les éléments suivants :

  • PROJECT_ID : par l'ID du projet.
  • INSTANCE_NAME : nom de l'instance.
  • ZONE : zone dans laquelle se trouve l'instance.
  • DISK_NAME : nom du disque à dissocier. Le nom du disque est généralement identique à celui de l'instance.

Réassocier un disque de démarrage

Tout disque peut être réassocié à une instance en tant que disque de démarrage à condition que cette dernière ne dispose pas déjà d'un disque de démarrage et que le disque de démarrage soit dans la même zone que l'instance de VM. Si vous personnalisez un disque de démarrage, vous devez vous assurer que celui-ci démarre correctement une fois qu'il a été associé.

Le disque existant et le nouveau disque doivent être tous deux du même type : compatibles UEFI ou non compatibles UEFI. Pour créer un disque compatible UEFI, utilisez la commande gcloud compute disk create avec l'option --guest-os-features définie sur UEFI_COMPATIBLE.

Console

  1. Accédez à la page des instances de VM.

    Accéder à la page Instances de VM

  2. Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur l'instance à laquelle vous souhaitez associer le disque de démarrage.
  4. Si la VM est en cours d'exécution, cliquez sur Arrêter pour l'arrêter. Si l'option Arrêter n'est pas disponible, cliquez sur Autres actions > Arrêter.
  5. Cliquez sur Modifier.
  6. Accédez à la section Disque de démarrage.
  7. Cliquez sur Ajouter un élément.
  8. Sélectionnez un disque de démarrage dans le menu déroulant.
  9. Cliquez sur Enregistrer.

gcloud

Exécutez la commande gcloud compute instances attach-disk pour associer ou réassocier un disque de démarrage à une instance de VM. Incluez l'option --boot pour indiquer que le disque est utilisé comme disque de démarrage de l'instance. Si cette option n'est pas spécifiée, le disque est associé en tant que disque de données non amorçable.

gcloud compute instances attach-disk INSTANCE_NAME \
    --disk=DISK_NAME \
    --boot

Remplacez l'élément suivant :

  • INSTANCE_NAME : nom de l'instance.
  • DISK_NAME : nom du disque à associer. Le nom du disque peut être identique à celui de l'instance.

REST

Envoyez une requête POST pour associer le disque. Incluez le paramètre facultatif "boot": true pour indiquer qu'il s'agit du disque de démarrage. Si ce paramètre n'est pas spécifié, le disque est associé en tant que disque de données non amorçable.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/attachDisk
{
 "boot": true,
 "source": "zones/ZONE/disks/DISK_NAME"
}

Remplacez les éléments suivants :

  • PROJECT_ID : par l'ID du projet.
  • INSTANCE_NAME : nom de l'instance à laquelle vous associez le nouveau disque persistant.
  • ZONE : la zone où se trouvent l'instance et le nouveau disque.
  • DISK_NAME : le nom du nouveau disque.

Après avoir associé le disque à l'instance de VM, redémarrez-la.

Mettre à jour un disque de démarrage pour une instance

La mise à jour du disque de démarrage d'une VM en une seule étape ne peut être effectuée que via la Cloud de Confiance console. Plus précisément, vous pouvez dissocier un disque de démarrage existant et associer un nouveau disque de démarrage en une seule action.

Cette fonctionnalité n'est pas disponible via la gcloud CLI ou REST.

  1. Accédez à la page des instances de VM.

    Accéder à la page Instances de VM

  2. Si vous y êtes invité(e), sélectionnez votre projet et cliquez sur Continuer.
  3. Cliquez sur l'instance à laquelle vous souhaitez associer le disque de démarrage.
  4. Si la VM est en cours d'exécution, cliquez sur Arrêter pour l'arrêter. Si l'option Arrêter n'est pas disponible, cliquez sur Autres actions > Arrêter.
  5. Cliquez sur Modifier en haut de la page.
  6. Dans la section Disque de démarrage, cliquez sur Dissocier le disque de démarrage.
  7. Cliquez sur Ajouter un élément.
  8. Sélectionnez un disque de démarrage dans le menu déroulant.
  9. Cliquez sur Enregistrer.

La Cloud de Confiance console va dissocier votre disque de démarrage existant et associer le nouveau disque de démarrage que vous avez spécifié. Une fois ce processus terminé, redémarrez l'instance de VM.

Associer un disque non amorçable à une instance

Pour obtenir des instructions détaillées sur l'association d'un disque non amorçable nouveau ou existant à une instance en cours d'exécution, consultez Associer un disque à une instance.

Dissocier un disque non amorçable d'une instance

Vous n'avez pas besoin d'arrêter une instance pour dissocier un disque non amorçable. Vous pouvez effectuer ces opérations pendant que l'instance est en cours d'exécution.

Console

  1. Accédez à la page des instances de VM.

    Accéder à la page Instances de VM

  2. Cliquez sur l'instance dont vous souhaitez dissocier le disque.
  3. Cliquez sur Modifier.
  4. Dans la section Disques supplémentaires, recherchez le disque que vous souhaitez dissocier , puis cliquez sur close Supprimer le disque.
  5. Cliquez sur Enregistrer.

gcloud

Exécutez la commande gcloud compute instances detach-disk :

 gcloud compute instances detach-disk INSTANCE_NAME \
   DISK_OR_DEVICE_NAME --disk-scope DISK_SCOPE

Remplacez l'élément suivant :

  • INSTANCE_NAME : nom de l'instance.
  • DISK_OR_DEVICE_NAME: nom du disque ou nom de l'appareil spécifié lors de la création du disque. Le nom de l'appareil est le nom que le système d'exploitation utilise pour identifier le disque. Si vous avez fourni un nom d'appareil pour le disque, vous devez le spécifier avec l'option --device-name.

    • Pour spécifier le nom du disque, spécifiez --disk=DISK_NAME, où DISK_NAME est le nom du disque, par exemple my-data-disk.
    • Pour spécifier le nom de l'appareil, spécifiez --device-name=DEVICE_NAME, où DEVICE_NAME est le nom de l'appareil que vous avez fourni pour le disque.

      Pour trouver le nom de l'appareil du disque, exécutez la gcloud compute instances describe commande. Par exemple, pour imprimer une liste des disques associés de l'instance au format JSON, exécutez gcloud compute instances describe INSTANCE_NAME --format="json(disks)".

  • DISK_SCOPE : champ d'application du disque. Pour un disque zonal, spécifiez zonal. Pour un disque régional, spécifiez regional.

REST

Envoyez une POST requête à la instances.detachDisk méthode.

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/INSTANCE_NAME/detachDisk?deviceName=DEVICE_NAME

Remplacez l'élément suivant :

  • PROJECT_ID : par l'ID du projet.
  • INSTANCE_NAME : nom de l'instance.
  • ZONE : zone où se trouve votre instance.
  • DEVICE_NAME : nom de l'appareil du disque. Pour trouver le nom de l'appareil du disque, envoyez une requête GET à la instances ressource afin d' afficher ses disques associés et les noms des appareils.

Étape suivante