Déplacer votre charge de travail vers une nouvelle instance de calcul


Dans certaines situations, vous pouvez déplacer votre charge de travail d'une instance de machine virtuelle (VM) existante vers une VM plus récente. Un déplacement vers une nouvelle VM est nécessaire pour les raisons suivantes :

  • Profitez des nouveaux types de machines pour bénéficier de vitesses de stockage ou de mise en réseau plus rapides. Par exemple, passer de C2 à H3 pour améliorer la bande passante réseau.
  • Profitez d'un meilleur rapport prix/performances par rapport à l'instance de VM source. Par exemple, passer de N1 à N4 pour bénéficier d'une meilleure valeur sur le processeur Intel Xeon de 5e génération.
  • Utilisez les fonctionnalités disponibles uniquement sur la nouvelle instance de VM. Par exemple, passer de N4 à C4 pour profiter d'options de performances et de maintenance supplémentaires.
  • Remplacez une instance de machine virtuelle (VM) par une instance Bare Metal
  • Ajoutez des disques SSD locaux à votre instance de VM C3 ou C3D.

Lorsque vous passez à la série de machines de dernière génération, vous pouvez peut-être utiliser la procédure simplifiée décrite dans Modifier le type de machine d'une instance de calcul si la VM actuelle (source) remplit les conditions suivantes :

  • La version du système d'exploitation est compatible avec la nouvelle série de machines.
  • Le type de disque du disque de démarrage associé à la VM source est compatible avec la nouvelle série de machines.
  • La VM n'utilise pas de stockage SSD local.
  • Votre VM avec GPU associés utilise un type de machine G2. Pour en savoir plus, consultez Ajouter ou supprimer des GPU.
  • La VM n'utilise que les fonctionnalités compatibles avec la nouvelle série de machines.
  • La VM ne fait pas partie d'un groupe d'instances géré (MIG).
  • La VM utilise l'interface réseau gVNIC.

Avant de commencer

  • Si ce n'est pas déjà fait, configurez l'authentification. L'authentification est le processus permettant de valider votre identité pour accéder aux services et aux API Google Cloud . 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 :

    Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

      1. After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      2. Set a default region and zone.
      3. REST

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

          After installing the Google Cloud CLI, initialize it by running the following command:

          gcloud init

          If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Rôles requis

Pour obtenir les autorisations nécessaires pour modifier une VM, demandez à votre administrateur de vous accorder les rôles IAM suivants sur le projet :

Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Ces rôles prédéfinis contiennent les autorisations requises pour modifier une VM. Pour connaître les autorisations exactes requises, développez la section Autorisations requises :

Autorisations requises

Les autorisations suivantes sont requises pour modifier une VM :

  • Pour modifier le type de machine :
    • compute.instances.stop sur le projet
    • compute.instances.create sur le projet
    • compute.instances.start sur le projet
    • compute.instances.setMachineType sur l'instance
  • Pour créer un instantané du disque :
    • compute.snapshots.create sur le projet
    • compute.disks.createSnapshot sur le disque
  • Pour créer un disque :
    • compute.disks.list sur le projet
    • compute.disks.create sur le projet
    • compute.disks.update sur le projet
  • Pour associer un disque à une VM :
    • compute.instances.attachDisk sur l'instance
    • compute.disks.use sur le disque
  • Pour supprimer un disque : compute.disks.delete sur le projet
  • Pour modifier le type de réseau :
    • compute.networks.list sur le projet
    • compute.networks.update sur le projet

Vous pouvez également obtenir ces autorisations avec des rôles personnalisés ou d'autres rôles prédéfinis.

Évaluer les options de migration de VM

La migration d'un type de machine à un autre dépend de plusieurs facteurs, y compris la disponibilité régionale du nouveau type de machine et la compatibilité des options de stockage et des interfaces réseau par rapport à l'OS invité de la série de machines source et de la nouvelle série de machines.

Exigences de calcul

Vérifiez les exigences suivantes pour votre instance actuelle et le nouveau type de machine :

  • Consultez la documentation sur les familles de machines pour identifier les types de machines adaptés à votre charge de travail. Déterminez si votre application nécessite du matériel spécifique (GPU), des performances élevées ou des coûts réduits.
  • Examinez les caractéristiques des types de disques compatibles avec le nouveau type de machine. La plupart des fonctionnalités de Persistent Disk, mais pas toutes, sont compatibles avec Hyperdisk. Toutefois, Hyperdisk offre des fonctionnalités supplémentaires qui ne sont pas disponibles avec Persistent Disk.
  • Consultez les fonctionnalités de la série de machines envisagée. La nouvelle série de machines peut ne pas être compatible avec les mêmes fonctionnalités que celles de votre série de machines actuelle, telles que les types de machines personnalisés, les disques SSD locaux ou les VM protégées.
  • Consultez les régions et zones pour vous assurer que la nouvelle série de machines est disponible dans toutes les régions comme votre VM actuelle. Vous devrez peut-être ajuster vos plans de déploiement, de haute disponibilité et de reprise après sinistre.
  • Examinez votre plan de migration de l'OS :
    • Si la nouvelle VM nécessite une version plus récente du système d'exploitation, vérifiez que vos applications sont compatibles avec la version la plus récente du système d'exploitation.
    • Si vous passez à Arm et qu'une image Arm n'est pas disponible pour votre version actuelle de l'OS, choisissez un nouvel OS ou une nouvelle version d'OS sur laquelle exécuter vos applications et vérifiez que vos applications sont compatibles avec le nouvel OS.
  • Il est possible de migrer d'une instance de VM C3 vers une instance Bare Metal C3, à condition que l'instance de VM C3 source utilise un système d'exploitation et un pilote réseau compatibles.
  • Si vous passez d'une série de machines autre que C3 à une instance Bare Metal, vous devez créer une instance. Vous devrez peut-être exécuter votre propre hyperviseur. Toutefois, vous pouvez également exécuter n'importe quel système d'exploitation compatible avec C3 Metal, à condition que le pilote IDPF soit activé. Les instances Bare Metal utilisent l'interface réseau IDPF présentée uniquement comme une fonction physique, et non virtuelle.

Exigences de stockage

Vérifiez les exigences de stockage suivantes pour votre instance actuelle et le nouveau type d'instance :

  • Passez en revue les types de stockage et les interfaces de stockage compatibles avec la nouvelle série de machines.
    • Par défaut, les séries de machines de première et deuxième générations n'utilisent que le type de stockage sur disque persistant et les interfaces VirtIO-SCSI.
    • Les séries de machines de troisième génération et ultérieures (comme M3, C3 et N4) ne sont compatibles qu'avec l'interface NVMe, et certaines ne sont compatibles qu'avec les types de stockage Hyperdisk et SSD local.
    • Les instances Bare Metal ne sont compatibles qu'avec Hyperdisk.
  • Compatibilité des disques :
    • Si le disque de démarrage utilise un type de disque non compatible avec la nouvelle série de machines (par exemple, pd-standard), vous devez créer un disque de démarrage pour la nouvelle VM.
    • Si vous mettez à niveau l'OS vers une nouvelle version et que le système d'exploitation ne prend pas en charge les mises à niveau sur place, vous devez créer un disque de démarrage. Toutes les données du disque de démarrage source sont perdues, sauf si vous les copiez sur un disque temporaire non amorçable. Ensuite, créez un disque de démarrage et copiez les données stockées sur le disque non amorçable temporaire vers le nouveau disque de démarrage.
    • Si vous ne mettez pas à niveau la version de l'OS, vous pouvez créer un instantané de votre disque de démarrage actuel et le restaurer sur le nouveau type de disque compatible. Lorsque vous créez une VM, vous pouvez ensuite utiliser ce nouveau disque comme disque de démarrage.
    • Si un disque non amorçable utilise un type de disque non compatible avec la nouvelle série de machines, vous pouvez utiliser un instantané pour remplacer le disque source par un nouveau type de disque, comme décrit dans Modifier le type de disque.
  • Les disques SSD locaux ne peuvent pas être déplacés vers une nouvelle VM. Vous pouvez associer à votre VM actuelle un disque suffisamment grand pour stocker toutes les données du SSD local, puis utiliser un instantané pour remplacer le disque source par un nouveau type de disque, comme décrit dans Modifier le type de disque. Une fois que vous avez créé une VM avec des disques SSD locaux associés, vous pouvez copier les données sur les disques SSD locaux.
  • Si votre instance de VM actuelle utilise des disques dans un pool de stockage, mais que vous déplacez votre charge de travail vers une VM dans une autre région, vous devez recréer les disques et le pool de stockage dans la nouvelle région.
  • Si la nouvelle série de machines utilise une interface de disque différente (par exemple, NVMe au lieu de SCSI), les noms des périphériques de disque dans l'OS invité sont différents. Assurez-vous que vos applications et scripts utilisent des noms d'appareil persistants ou des liens symboliques lorsque vous référencez les disques associés.

Exigences de mise en réseau

Vérifiez les exigences de mise en réseau suivantes pour votre instance actuelle et le nouveau type d'instance :

  • Passez en revue les interfaces réseau compatibles avec la nouvelle VM.

    • Par défaut, les séries de machines de première et deuxième générations n'utilisent que l'interface réseau VirtIO.
    • Les séries de machines de troisième génération et ultérieures (comme M3, C3 et N4) ne sont compatibles qu'avec l'interface réseau gVNIC.
    • Les instances Bare Metal ne sont compatibles qu'avec l'interface réseau IDPF.
  • Assurez-vous que votre application et votre système d'exploitation sont compatibles avec les interfaces disponibles pour la série de machines.

  • Examinez la configuration réseau de votre VM pour déterminer si vous devez conserver les adresses IP attribuées. Si c'est le cas, vous devez convertir les adresses IP en adresses IP statiques.

  • Si vous utilisez les performances réseau Tier_1 par VM avec votre VM actuelle, assurez-vous qu'elles sont disponibles ou nécessaires avec la nouvelle série de machines. Par exemple, vous pouvez utiliser la mise en réseau Tier_1 avec un type de machine C2, mais ce n'est pas nécessaire avec une VM H3.

Pour déterminer le type d'interface réseau de votre VM actuelle, exécutez la commande gcloud compute instances describe pour afficher le paramètre nic-type de la VM :

  gcloud compute instances describe VM_NAME --zone=ZONE

Si la valeur nic-type de votre VM est définie sur VIRTIO, vous ne pouvez pas modifier le type d'interface réseau. Vous devez créer une VM et définir le type d'interface réseau sur gVNIC.

Préparer le déplacement de vos VM existantes

Une fois la section d'évaluation terminée, l'étape suivante consiste à préparer le déplacement de vos instances de VM en demandant des ressources pour la nouvelle instance de VM et en préparant des sauvegardes de l'instance de VM source.

Préparer les ressources de calcul

Pour préparer le déplacement de votre instance actuelle vers une nouvelle instance, procédez comme suit :

  1. Demandez un quota dans la région et les zones où vous prévoyez de déplacer vos ressources. Si vous disposez déjà d'un quota pour un type de machine, vous pouvez demander à le déplacer. Cette procédure prend quelques jours.
  2. Créez une réservation pour les nouvelles instances de VM afin de vous assurer que les ressources de la machine sont disponibles dans la nouvelle région et les nouvelles zones. Assurez-vous de comprendre comment les ressources réservées sont consommées et testez votre capacité à les consommer.
  3. Étendez vos plans de haute disponibilité et de reprise après sinistre pour inclure la nouvelle région.
  4. Si nécessaire, mettez à niveau l'OS sur la VM actuelle.
    1. Si le fournisseur du système d'exploitation le permet, effectuez une mise à niveau sur place de votre OS vers une version compatible avec la nouvelle série de machines et vérifiez que votre charge de travail fonctionne comme prévu sur la nouvelle version de l'OS.
    2. Si une mise à niveau sur place de l'OS n'est pas prise en charge, vous devez créer un disque de démarrage lorsque vous créez une VM. Déterminez les informations à copier à partir du disque de démarrage actuel, puis copiez-les dans un emplacement temporaire sur un disque non amorçable afin de pouvoir les transférer vers la nouvelle VM. Si aucun disque non amorçable n'est associé à votre VM actuelle :
  5. Si cela s'applique à votre distribution Linux, vérifiez les règles udev sous /etc/udev/rules.d/. Ce fichier peut contenir des entrées pertinentes pour la configuration matérielle de l'instance actuelle, mais pas pour la nouvelle instance. Par exemple, l'entrée suivante garantit que eth0 est fourni par le pilote virtio-pci (VirtIO Net), ce qui empêche le pilote gve (gVNIC) de fournir cette interface. Cela peut entraîner des problèmes de connectivité et de scripts de démarrage réseau dans la nouvelle instance :
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="virtio-pci", ATTR{dev_id}=="0x0", KERNELS=="0000:00:04.0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"

Préparer les ressources de stockage

Procédez comme suit pour préparer le déplacement des données des disques associés à votre instance actuelle vers une nouvelle instance :

  1. Sur les systèmes Linux, testez vos applications et scripts mis à jour pour vous assurer qu'ils fonctionnent avec des noms d'appareil persistants ou des liens symboliques au lieu des noms d'appareil du disque.
  2. Si vous migrez une VM exécutant Microsoft Windows :
  3. Si votre nouvelle VM n'est pas compatible avec les mêmes types de disques que votre VM actuelle, vous devrez peut-être mettre à jour vos scripts de déploiement ou vos modèles d'instance pour qu'ils soient compatibles avec la nouvelle série de machines.
  4. Si votre VM actuelle utilise un type de disque pour le disque de démarrage non compatible avec la nouvelle série de machines et que vous migrez plusieurs VM avec la même configuration, créez une image personnalisée à utiliser lors de la création de VM :
    1. Créez un instantané du disque de démarrage pd-standard de votre VM actuelle.
    2. Créez une image personnalisée en utilisant l'instantané du disque comme source.
  5. Si vous devez déplacer des informations de disque SSD local, créez un disque vide suffisamment grand pour sauvegarder vos disques SSD locaux.
    1. Si possible, utilisez un type de disque compatible avec la nouvelle VM.
    2. S'il n'existe aucun type de disque compatible à la fois avec la VM actuelle et la nouvelle VM, créez un disque temporaire à l'aide d'un type de disque compatible avec la VM actuelle.
    3. Associez le nouveau disque à la VM actuelle, puis formatez et installez le disque.
    4. Copiez les données des disques SSD locaux associés à la VM actuelle sur ce disque temporaire.
  6. Modifiez le type de disque de tous les disques associés à la VM actuelle qui utilisent un type de disque non compatible avec la nouvelle VM. Pour déplacer les données du disque vers de nouveaux disques, créez des instantanés des disques. Vous pouvez également transférer des fichiers d'une VM à une autre.

    1. Vous pouvez prendre des instantanés pendant que la VM est en cours d'exécution, mais les données écrites sur les disques après la prise de l'instantané ne sont pas capturées. Comme les instantanés sont incrémentiels, vous pouvez en prendre un deuxième après avoir arrêté la VM pour capturer toutes les modifications les plus récentes. Cette approche devrait minimiser la durée d'indisponibilité de la VM pendant que vous passez à une nouvelle VM.
    2. Vous pouvez également prendre tous les instantanés de disque après avoir arrêté la VM. Nous vous recommandons de créer un instantané de tous les disques associés à votre VM, même si le type de disque est compatible avec la nouvelle série de machines. Incluez tous les disques temporaires contenant les données SSD locales copiées.
    3. Le temps nécessaire pour créer un instantané d'un disque dépend de plusieurs facteurs, tels que la taille du disque et la quantité de données qu'il contient. Par exemple, si vous prenez un instantané d'un disque de 1 Tio qui est rempli à 85 %, l'opération peut prendre cinq minutes. Toutefois, si vous prenez un instantané d'un disque de 100 Tio rempli à 85 %, l'opération peut prendre 11 minutes. Nous vous recommandons de prendre des instantanés de test de vos disques avant de commencer le processus de migration pour comprendre combien de temps prend la création d'instantanés.
  7. Si vous disposez d'un disque qui peut être mis hors connexion, vous pouvez utiliser l'approche suivante pour transférer les données vers un nouveau disque pendant que la VM source est toujours disponible :

    1. Dissociez le disque de votre VM.
    2. Créez un instantané du disque.
    3. Utilisez l'instantané pour créer un disque à l'aide d'un type de disque compatible avec la nouvelle série de machines. La taille du nouveau disque doit être identique ou supérieure à celle du disque source.

Préparer les ressources réseau

Pour mettre à jour la configuration réseau utilisée par votre instance actuelle afin d'assurer la compatibilité avec la nouvelle instance, procédez comme suit :

  1. Si votre VM actuelle n'utilise pas gVNIC, vous devez créer une instance avec une interface réseau qui utilise gVNIC. Consultez Présentation de l'utilisation de gVNIC avec des VM Compute Engine pour comprendre les étapes à suivre lors de la création d'une instance.
  2. Si vous créez une VM dans une nouvelle région, créez un réseau VPC et des sous-réseaux dans cette nouvelle région.
  3. Si vous avez configuré un nombre de files d'attente personnalisé sur une carte d'interface réseau (NIC), consultez la section Allocations de file d'attente et modification du type de machine.
  4. Si vous souhaitez conserver les adresses IP utilisées par la VM source, convertissez-les en adresses IP statiques.
  5. Annulez l'attribution de l'adresse IP statique avant d'arrêter votre VM source.

Préparer le système d'exploitation SUSE Enterprise Linux Server

Pour éviter les dépendances spécifiques au matériel, reconstruisez le initramfs (système de fichiers RAM initial). Cela inclut une plus large gamme de pilotes et de modules, ce qui rend le système d'exploitation compatible avec d'autres types d'instances. Si vous ne le faites pas, vous rencontrerez le problème connu qui empêche la VM de démarrer correctement.

Avant d'arrêter le système, exécutez la commande suivante en tant que root pour reconstruire initramfs avec tous les pilotes :

  sudo dracut --force --no-hostonly

Déplacer votre charge de travail vers la nouvelle VM

Après avoir préparé vos VM pour la migration, l'étape suivante consiste à déplacer votre charge de travail vers la nouvelle VM.

Si vous migrez vos VM de la première vers la deuxième génération de séries de machines, consultez les instructions de la page Modifier le type de machine d'une VM. Si vous souhaitez modifier le nom d'une VM existante, consultez Renommer une VM.

Autorisations requises pour cette tâche

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

  • compute.instances.setMachineType sur la VM

Cette section explique comment transférer votre charge de travail d'une VM de première ou deuxième génération vers une VM de troisième génération (ou plus récente). Au cours de cette procédure, vous créez une instance de VM, puis vous déplacez vos charges de travail vers la nouvelle VM.

  1. Lors de la création de la VM, choisissez l'un des types de disques compatibles avec le disque de démarrage, par exemple, Hyperdisk Balanced.

Créer la VM

Lorsque vous déplacez vos charges de travail de VM de première ou deuxième génération (N1 ou N2, par exemple) vers des VM de troisième génération ou ultérieures, vous devez d'abord créer une VM, puis déplacer vos charges de travail.

  1. Si la VM source utilise des disques non amorçables avec un type de disque compatible avec la nouvelle série de machines, dissociez les disques de la VM.
  2. Arrêtez votre VM source.
  3. Créez des instantanés de tous les disques encore associés à la VM source.
  4. Créez une instance de VM Compute à l'aide d'une image publique ou d'une image personnalisée configurée pour utiliser gVNIC. Lorsque vous créez la VM, choisissez les options suivantes :
    • Sélectionnez le type de machine dans la série de machines que vous avez choisie.
    • Sélectionnez une image d'OS compatible ou utilisez une image personnalisée que vous avez créée précédemment.
    • Sélectionnez un type de disque compatible pour le disque de démarrage.
    • Si vous avez créé des disques à partir d'instantanés des disques d'origine, incluez ces nouveaux disques.
    • Spécifiez le nouveau réseau VPC si vous créez l'instance dans une autre région.
    • Si VirtIO et gVNIC sont tous deux compatibles avec la nouvelle instance, sélectionnez gVNIC.
    • Spécifiez les adresses IP statiques si vous avez promu les adresses IP éphémères de la VM source.
  5. Démarrez la nouvelle VM.

Après le démarrage de l'instance

Maintenant que la nouvelle instance a été créée et démarrée, suivez les étapes ci-dessous pour terminer sa configuration et copier toutes les données de l'instance source.

  1. Associez les disques que vous avez dissociés de la VM source à la nouvelle VM.
  2. Pour tous les disques associés à la VM source qui utilisent un type de disque non compatible avec la nouvelle VM, créez un disque à partir d'un instantané et associez-le à la nouvelle instance. Lorsque vous créez le disque, sélectionnez un type de disque compatible avec la nouvelle VM et spécifiez une taille au moins aussi grande que celle du disque d'origine.
  3. Si la VM d'origine utilisait une règle relative aux ressources pour les disques recréés pour la nouvelle VM, vous devez ajouter la règle relative aux ressources aux nouveaux disques.
  4. Si vous avez créé la nouvelle VM à l'aide d'une image d'OS publique et non d'une image personnalisée, procédez comme suit :
    1. Configurez les utilisateurs, les pilotes, les packages et les répertoires de fichiers nécessaires sur la nouvelle instance pour prendre en charge votre charge de travail.
    2. Installez vos applications et programmes modifiés sur la nouvelle VM. Si nécessaire, recompilez les programmes sur le nouveau système d'exploitation ou sur la nouvelle architecture.
  5. Facultatif : Si vous avez déplacé le contenu des disques SSD locaux vers un disque temporaire et que la nouvelle VM est associée à un stockage SSD local, vous pouvez déplacer les données du disque temporaire vers les disques SSD locaux après avoir formaté et installé les disques.
  6. Réattribuez toutes les adresses IP statiques associées à la VM d'origine à la nouvelle VM.
  7. Effectuez toutes les tâches supplémentaires requises pour rendre votre nouvelle VM hautement disponible, comme la configuration des équilibreurs de charge et la mise à jour des règles de transfert.
  8. Facultatif : Mettez à jour les entrées DNS de la nouvelle VM, si nécessaire.
  9. Recommandation : Programmez des sauvegardes de disque pour les nouveaux disques.
  10. Recommandation : si vous avez modifié l'OS en passant à une autre version ou architecture, recompilez vos applications.

Si vous rencontrez des problèmes lors du déplacement de votre charge de travail, contactez votre responsable de compte technique (TAM) ou l'équipe Professional Services Organization (PSO) de Google pour obtenir de l'aide.

Exemple de migration de n1-standard-8 vers n4-standard-8

L'exemple suivant montre la migration d'une VM n1-standard-8 vers une VM n4-standard-8. La VM n1-standard-8 dispose d'un disque de démarrage PD-SSD exécutant une image Ubuntu1804 et d'un disque de données PD-SSD. Vous devez utiliser la CLI ou l'API REST pour cette procédure.

Deux options sont disponibles pour mettre à niveau votre VM N1 vers une VM N4 :

Option 1 : Si votre VM N1 utilise l'interface réseau VirtIO, vous devez créer une VM N4. Les instances N4 ne sont compatibles qu'avec l'interface réseau gvnic et les disques Hyperdisk Balanced. Vous créez un instantané de vos disques de démarrage et de données Persistent Disk, créez des disques Hyperdisk Balanced à partir de ces instantanés, associez les disques Hyperdisk Balanced et créez la nouvelle VM N4 avec les disques Hyperdisk Balanced.

Vous pouvez également choisir de créer un disque de démarrage Hyperdisk équilibré à l'aide d'une version plus récente de l'OS Ubuntu. Dans ce scénario, vous pouvez créer un disque Hyperdisk Balanced à partir de l'instantané du disque de démarrage, mais vous associez ce disque en tant que disque non amorçable à la VM N4. Vous pouvez ensuite copier les données non système de l'instantané restauré vers le nouveau disque de démarrage.

Option 2 : Si votre VM N1 utilise l'interface réseau gvnic, le système d'exploitation dispose d'un pilote de périphérique de stockage NVMe et n'est associé à aucun disque SSD local ni GPU, et ne fait pas partie d'un groupe d'instances géré (MIG). Vous pouvez alors modifier le type de machine de N1 à N4, mais vous devez toujours remplacer vos types de disques persistants par des disques Hyperdisk Balanced. Vous devez d'abord dissocier vos disques de démarrage et de données Persistent Disk, créer des instantanés des disques, créer des disques Hyperdisk Balanced en utilisant les instantanés comme source, puis associer les nouveaux disques Hyperdisk Balanced à votre VM N4 après avoir modifié le type de machine. Si votre VM est associée à des GPU, vous devez d'abord les dissocier.

Le temps nécessaire pour créer un instantané d'un disque dépend de plusieurs facteurs, tels que le nombre total de téraoctets sur un disque. Par exemple, si vous prenez un instantané d'un disque de 1 To rempli à 85 %, l'opération peut prendre cinq minutes. Toutefois, si vous prenez un instantané d'un disque de 100 To rempli à 85 %, l'opération peut prendre 11 minutes. Google vous recommande d'effectuer des instantanés de test de vos disques avant de commencer le processus de migration pour comprendre combien de temps prend la création d'instantanés.

gcloud

Option 1 : Créer une VM N4 avec des disques instantanés

  1. Arrêtez la VM à l'aide de la commande gcloud compute instances stop :

    gcloud compute instances stop VM_NAME \
      --zone=ZONE
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de votre VM n1-standard-8 actuelle.
    • ZONE : zone où se trouve la VM.
  2. Créez des instantanés de vos disques. Utilisez la commande gcloud compute snapshots create pour créer un instantané du disque de démarrage et du disque de données Persistend Disk associés à la VM.

    gcloud compute snapshots create SNAPSHOT_NAME \
        --source-disk=SOURCE_DISK_NAME \
        --source-disk-zone=SOURCE_DISK_ZONE
    

    Remplacez les éléments suivants :

    • SNAPSHOT_NAME : Nom de l'instantané que vous souhaitez créer.
    • SOURCE_DISK_NAME : nom de votre disque source.
    • SOURCE_DISK_ZONE : zone de votre disque source.
  3. Créez un disque Hyperdisk équilibré pour le disque de données en répétant l'étape précédente et en spécifiant les informations du disque de données au lieu du disque de démarrage. gcloud compute disks create :

    gcloud compute disks create DISK_NAME \
        --project=PROJECT_NAME \
        --type=DISK_TYPE \
        --size=DISK_SIZE \
        --zone=ZONE \
        --source-snapshot=SNAPSHOT_NAME \
        --provisioned-iops=PROVISIONED_IOPS \
        --provisioned-throughput=PROVISIONED_THROUGHPUT
    
    

    Remplacez les éléments suivants :

    • DISK_NAME : nom du disque que vous créez à partir du disque sur lequel l'instantané a été créé.
    • PROJECT_NAME : le nom de votre projet
    • DISK_TYPE : le nouveau type de disque (dans cet exemple, il s'agit d'un disque Hyperdisk équilibré).
    • DISK_SIZE : taille du disque (par exemple, 100GB).
    • ZONE : zone où se trouve le nouveau disque.
    • SNAPSHOT_NAME : nom du disque source de l'instantané.
    • PROVISIONED_IOPS (facultatif) : performances d'IOPS pour le disque (exemple : 3600).
    • PROVISIONED_THROUGHPUT (facultatif) : performances de débit pour provisionner le disque (exemple : 290).
  4. Répétez l'étape précédente pour chaque disque instantané.

  5. Créez la VM n4-standard-8 et associez les disques Hyperdisk Balanced à l'aide de la commande gcloud compute instances create :

    gcloud compute instances create VM_NAME \
        --project=PROJECT_NAME \
        --zone=ZONE \
        --machine-type=NEW_MACHINE_TYPE \
        --boot-disk-device-name=BOOT_DISK_NAME \
        --disk=name=NON_BOOT_DISK_NAME, boot=no \
        --network-interface=nic-type=GVNIC
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de la nouvelle instance de VM.
    • PROJECT_NAME : le nom de votre projet
    • ZONE : zone où se trouve la nouvelle VM.
    • NEW_MACHINE_TYPE : type de machine. Dans cet exemple, il s'agit de n4-standard-8.
    • BOOT_DISK_NAME : Nom du disque de démarrage Hyperdisk Balanced que vous avez créé à partir de l'instantané du disque source associé à la VM n1-standard-8.
    • NON_BOOT_DISK_NAME : Nom du disque de données Hyperdisk Balanced que vous avez créé à partir du disque d'instantané source associé à la VM n1-standard-8.
  6. Démarrez la VM n4-standard-8 à l'aide de la commande gcloud compute instances start :

    gcloud compute instances start VM_NAME
    

    Remplacez VM_NAME par le nom de la nouvelle VM.

Option 2 : Effectuez une mise à niveau sur place de la machine :

Cette option n'est disponible que si votre VM N1 utilise l'interface réseau gvnic, si le système d'exploitation dispose d'un pilote de périphérique de stockage NVMe, mais ne dispose d'aucun disque SSD local ni aucun GPU, et n'est associé à aucun disque SSD local ni ne fait partie d'un groupe d'instances géré (MIG). Si vous effectuez cette procédure avec une VM N1 dotée d'une interface réseau VirtIO, l'erreur Incompatibilité de la VM s'affiche.

  1. Arrêtez la VM.
  2. Dissociez les disques de la VM.
  3. Créez un instantané des disques de démarrage et de données.
  4. Créez des disques de démarrage et de données Hyperdisk Balanced en utilisant un instantané de disque comme source pour chaque disque.
  5. Définissez le type de machine sur une VM N4.
  6. Associez le disque de démarrage Hyperdisk Balanced et le disque de données Hyperdisk Balanced.
  7. Démarrez la VM N4.

REST

Option 1 : Créer une VM N4 avec des disques instantanés

  1. Arrêtez la VM à l'aide de la méthode instances.stop :

     POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/stop
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : ID du projet
    • ZONE : zone contenant la VM.
    • VM_NAME : nom de votre VM n1-standard-8 actuelle.
  2. Créez des instantanés de vos disques à l'aide de la méthode disks.createSnapshot pour créer un instantané du disque de démarrage et du disque de données Persistent Disk associés à l'instance.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME/createSnapshot
    

    Dans le corps de la requête, incluez le nom du nouveau disque persistant instantané.

    Exemple :

    {
        "name": "SNAPSHOT_NAME"
    }
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : zone où se trouve le disque.
    • DISK_NAME : disque dont vous prévoyez de créer un instantané.
    • SNAPSHOT_NAME : nom de l'instantané, tel que hdb-boot-disk ou hdb-data-disk.
  3. Créez un disque Hyperdisk Balanced à l'aide de la méthode disks.insert. Vous devez effectuer cette étape deux fois : une fois pour inclure le name de votre disque de démarrage Hyperdisk avec équilibrage et une deuxième fois pour inclure le name de vos disques de données. Utilisez le sourceSnapshot pour les nouveaux disques de démarrage et de données Hyperdisk Balanced, le type du disque, Hyperdisk Balanced, et le sizeGB du disque dans le corps de la requête.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEdisks
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : la zone où se trouve le disque.

    Dans le corps de la requête, incluez les éléments suivants :

    Exemple :

    {
        "name": "my-hdb-boot-disk" or "my-hdb-data-disk",
        "sourceSnapshot": "projects/your-project/global/snapshots/SNAPSHOT_NAME",
        "type": "projects/your-project/zones/us-central1-a/diskTypes/hyperdisk-balanced",
        "sizeGb": "100"
    }'
    
  4. Utilisez la méthode instances.insert pour créer la nouvelle VM N4.

    
    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances
    
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : la zone où se trouve le disque.

    Dans le corps de la requête, incluez les éléments suivants :

    
      {
        "machineType":"projects/your-project/zones/us-central1-a/machineTypes/n4-standard-8" "name":"VM_NAME",
        "disks": [
          {
            "boot": true,
            "deviceName": "my-hdb-boot-disk",
            "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk",
            "type": "PERSISTENT"
          },
    
          {
            "boot": false,
            "deviceName": "my-hdb-data-disk",
            "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk",
            "type": "PERSISTENT"
          }
          ],
            "networkInterfaces":[
              {
                "network":"global/networks/NETWORK_NAME",
                "subnetwork":"regions/REGION/subnetworks/SUBNET_NAME",
                "nicType": "GVNIC"
              }
           ]
         }
    
    

    Remplacez les éléments suivants :

    • VM_NAME : nom de la VM.
    • NETWORK_NAME : nom du réseau.
    • REGION : nom de la région.
    • SUBNET_NAME : nom du sous-réseau.
  5. Démarrez la VM à l'aide de la méthode instances.start :

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/start
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : zone où se trouve votre VM.
    • VM_NAME : nom de la VM.

Option 2 : Effectuez une mise à niveau sur place de la machine :

Cette option n'est disponible que si votre VM N1 utilise l'interface réseau gvnic, n'est associée à aucun disque SSD local ni à aucun GPU, et ne fait pas partie d'un groupe d'instances géré (MIG). Si vous effectuez cette procédure avec une VM N1 dotée d'une interface réseau VirtIO, l'erreur Incompatibilité de la VM s'affiche.

  1. Arrêtez la VM à l'aide de la méthode instances.stop.

  2. Dissociez les disques à l'aide de la méthode instances.detachDisk pour dissocier le disque de démarrage du disque persistant d'origine de la VM N1. Vous devez également dissocier tous les disques de données de la VM.

    https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=DISK_NAME
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : la zone où se trouve le disque.
    • VM_NAME : nom de la VM source à laquelle le disque pd-ssd est associé.
    • DISK_NAME : disque que vous souhaitez dissocier.
  3. Créez un instantané des disques. Utilisez la méthode disks.createSnapshot pour créer un instantané du disque de démarrage et des disques de données Persistent Disk associés à l'instance.

  4. Créer un disque de démarrage et de données Hyperdisk Balanced à l'aide de la méthode disks.insert et incluez le name de votre disque Hyperdisk Balanced, le sourceSnapshot du nouveau disque Hyperdisk avec équilibrage, le type du disque, le disque Hyperdisk avec équilibrage et le sizeGB du disque dans le corps de la requête.

  5. Effectuez une mise à niveau du type de machine sur place à l'aide de la méthode instances.setMachineType. Incluez machineType dans le corps de la requête :

    POST  https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/setMachineTypeMACHINE_TYPE
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : la zone où se trouve le disque.
    • VM_NAME : nom de la VM à mettre à niveau.
    • MACHINE_TYPE : type de la nouvelle machine.

    Dans le corps de la requête, incluez les éléments suivants :

    
    {
     "machineType": "projects/PROJECT_NAME/zones/ZONE/machineTypes/MACHINE_TYPE",
    }
    
    
  6. Utilisez la méthode instances.attachDisk pour associer le nouveau disque de démarrage Hyperdisk Balanced et les disques de données Hyperdisk avec équilibrage à la VM N4.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instancesVM_NAMEattachDiskDISK_NAME
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : la zone où se trouve le disque.
    • VM_NAME : nom de l'instance de VM source à laquelle le disque pd-ssd est associé.
    • DISK_NAME : disque que vous souhaitez associer.

    Dans le corps de la requête, incluez les éléments suivants :

    {
    "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-boot-disk",
    "deviceName":"my-hdb-boot-disk","boot":true
    }
    
    {
    "source": "projects/your-project/zones/us-central1-a/disks/my-hdb-data-disk",
    "deviceName":"my-hdb-data-disk","boot":false
    }
    
  7. Démarrez la VM N4 à l'aide de la méthode instances.start.

    POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/start
    

    Remplacez les éléments suivants :

    • PROJECT_NAME : le nom de votre projet
    • ZONE : la zone où se trouve le disque.
    • VM_NAME : nom de la VM.

Effectuer un nettoyage

Après avoir vérifié que vous pouvez vous connecter à la nouvelle VM et que votre charge de travail s'exécute comme prévu sur la nouvelle VM, vous pouvez supprimer les ressources qui ne sont plus nécessaires :

  1. Les instantanés que vous avez créés pour les disques associés à la VM source
  2. Les calendriers d'instantanés pour les disques associés à la VM source
  3. Le disque temporaire créé pour copier les données du disque SSD local sur la nouvelle VM.
  4. La VM source et tous les disques associés.

Étape suivante