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


Dans certaines situations, vous pouvez souhaiter 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 accélérer le stockage ou la mise en réseau. Par exemple, passer de C2 à H3 pour améliorer la bande passante réseau.
  • Bénéficiez d'un meilleur rapport prix/performances par rapport à l'instance de VM source. Par exemple, passer de N1 à N4 pour obtenir plus de valeur avec le processeur Intel Xeon de 5e génération.
  • Utiliser des 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.

Lors de la mise à niveau vers la série de machines de dernière génération, vous pourrez 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 (OS) 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      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 la page 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

Vous devez disposer des autorisations suivantes 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 de la disponibilité régionale du nouveau type de machine et de la compatibilité des options de stockage et des interfaces réseau par rapport à l'OS invité de la source et de la nouvelle série de machines.

Exigences en termes de calcul

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

  • Consultez la documentation sur la ressource de famille 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.
  • Consultez les fonctionnalités 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 fournit 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 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 d'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 d'OS actuelle, choisissez un nouvel OS ou une version d'OS sur lequel exécuter vos applications et vérifiez que vos applications sont compatibles avec le nouvel OS.
  • Vous pouvez 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 le bare metal C3 tant que le pilote IDPF est activé. Les instances bare metal utilisent l'interface réseau IDPF présentée uniquement comme une fonction physique, et non comme une fonction 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ération n'utilisent que le type de stockage Persistent Disk et les interfaces VirtIO-SCSI.
    • Les séries de machines de troisième génération et plus récentes (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 locaux.
    • Les instances bare metal (comme C3 et X4) 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 nouveau disque de démarrage pour la nouvelle VM.
    • Si vous passez à une nouvelle version de l'OS et que celui-ci n'est pas compatible avec les mises à niveau in situ, vous devez créer un nouveau disque de démarrage. Toutes les données du disque de démarrage source sont perdues, sauf si vous les copiez sur un disque non de démarrage temporaire. Vous créez ensuite un nouveau disque de démarrage et copiez les données stockées sur le disque non amorçable temporaire sur le nouveau disque de démarrage.
    • Si vous ne mettez pas à niveau la version du système d'exploitation, vous pouvez prendre 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 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 la section Modifier le type de disque.
  • Vous ne pouvez pas déplacer de disques SSD locaux vers une nouvelle VM. Vous pouvez associer un disque suffisamment volumineux pour stocker toutes les données du SSD local à votre VM actuelle, puis utiliser un instantané pour remplacer le disque source par un nouveau type de disque, comme décrit dans la section Modifier le type de disque. Après avoir 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ération n'utilisent que l'interface réseau VirtIO.
    • Les séries de machines de troisième génération et plus récentes (comme M3, C3 et N4) n'acceptent que 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 nic-type est défini sur VIRTIO pour votre VM, 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 transfert de vos VM existantes

Une fois que vous avez terminé la section d'évaluation, l'étape suivante consiste à préparer le transfert 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 dans lesquelles vous prévoyez de déplacer vos ressources. Si vous disposez 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 que vous pouvez consommer des ressources réservées.
  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 le système d'exploitation sur la VM actuelle.
    1. Si le fournisseur du système d'exploitation le permet, effectuez une mise à niveau in situ de votre système d'exploitation vers une version compatible avec la nouvelle série de machines, puis vérifiez que votre charge de travail fonctionne comme prévu sur la nouvelle version du système d'exploitation.
    2. Si la mise à niveau in situ de l'OS n'est pas prise en charge, vous devez créer un nouveau disque de démarrage lorsque vous créez une VM. Déterminez les informations que vous devez copier à partir du disque de démarrage actuel, puis copiez-les vers un emplacement temporaire sur un disque non amorçable afin qu'elles puissent être transférées vers la nouvelle VM. Si aucun disque non amorçable n'est associé à votre VM actuelle :
  5. Le cas échéant pour 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 scripts de démarrage réseau et des problèmes de connectivité 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 depuis 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 sur les disques SSD locaux, créez un disque vide suffisamment volumineux pour sauvegarder vos disques SSD locaux.
    1. Si possible, utilisez un type de disque compatible avec la nouvelle VM.
    2. Si aucun type de disque n'est compatible 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-le et installez-le.
    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 de 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 lorsque 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. Étant donné que les instantanés sont incrémentiels, vous pouvez en créer un deuxième après avoir arrêté la VM pour capturer toutes les modifications les plus récentes. Cette approche devrait réduire la durée pendant laquelle la VM est indisponible lorsque 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 créez 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 To qui est rempli à 85 %, l'opération peut prendre 11 minutes. Nous vous recommandons d'effectuer des instantanés de test de vos disques avant de commencer le processus de migration afin de comprendre la durée de création des instantanés.
  7. Si vous disposez d'un disque pouvant être mis hors service, vous pouvez utiliser l'approche suivante pour déplacer les données vers un nouveau disque tant que la VM source est encore 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. Le nouveau disque doit avoir la même taille ou être plus grand que le 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 la section Présentation de l'utilisation de gVNIC avec des VM Compute Engine pour connaître la procédure à 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, recréez initramfs (fichier système de RAM initial). Cela inclut une gamme plus large de pilotes et de modules, ce qui rend le système d'exploitation compatible avec d'autres types d'instances. Sinon, 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 racine 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 à la migration, l'étape suivante consiste à déplacer votre charge de travail vers la nouvelle VM.

Si vous déplacez vos VM de la première génération vers la série de machines de deuxième génération, consultez les instructions sur la page Modifier le type de machine d'une VM. Si vous souhaitez modifier le nom de votre VM existante, consultez la section 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 d'une VM de première ou deuxième génération (N1 ou N2, par exemple) vers une VM de troisième génération ou ultérieure, 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 qui sont toujours associés à la VM source.
  4. Créez une instance de VM de calcul à 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 compatibles avec la nouvelle instance, sélectionnez gVNIC.
    • Spécifiez les adresses IP statiques si vous avez converti les adresses IP éphémères de la VM source.
  5. Démarrez la nouvelle VM.

Une fois l'instance démarrée

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

  1. Rattachez 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 nouveau disque, sélectionnez un type de disque compatible avec la nouvelle VM et spécifiez une taille au moins égale à celle du disque d'origine.
  3. Si la VM d'origine utilisait une stratégie de ressources pour les disques recréés pour la nouvelle VM, vous devez ajouter la stratégie de 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, après avoir formaté et installé les disques, vous pouvez déplacer les données du disque temporaire vers les disques SSD locaux.
  6. Réattribuez toutes les adresses IP statiques associées à la VM d'origine à la nouvelle VM.
  7. Effectuez les tâches supplémentaires requises pour rendre votre nouvelle VM hautement disponible, telles que la configuration des équilibreurs de charge et la mise à jour des règles de transfert.
  8. Facultatif: mettez à jour les entrées DNS, si nécessaire, pour la nouvelle VM.
  9. Recommandation: planifiez des sauvegardes de disque pour les nouveaux disques.
  10. Recommandation: Si vous avez remplacé le système d'exploitation par une version ou une architecture différente, 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 comment migrer 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. Pour cette procédure, vous devez utiliser la CLI ou l'API REST.

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. N4 n'est compatible qu'avec l'interface réseau gvnic et les disques Hyperdisk équilibrés. 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, puis 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 l'associez en tant que disque non amorçable à la VM N4. Vous pouvez ensuite copier les données non système de l'instantané restauré sur 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 qui est rempli à 85 %, l'opération peut prendre cinq minutes. Toutefois, si vous prenez un instantané d'un disque de 100 To qui est rempli à 85 %, l'opération peut prendre 11 minutes. Google vous recommande d'effectuer des instantanés tests de vos disques avant de commencer le processus de migration afin de comprendre la durée de l'instantanéité.

gcloud

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

  1. Arrêtez la VM à l'aide de 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: nouveau type de disque. Dans cet exemple, il s'agit d'un disque Hyperdisk équilibré.
    • DISK_SIZE: taille du disque (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 avec lequel vous avez créé un 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 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: Effectuer 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). Effectuer cette procédure avec une VM N1 dotée d'une interface réseau VirtIO génère une erreur d'incompatibilité de VM.

  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 équilibré et le disque de données Hyperdisk équilibré.
  7. Démarrez la VM N4.

REST

Option 1: Créer une VM N4 avec des disques avec 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 de votre nouveau disque persistant avec 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 Balanced, et une seconde 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: Effectuer 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). Effectuer cette procédure avec une VM N1 dotée d'une interface réseau VirtIO génère une erreur d'incompatibilité de VM.

  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 de 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 des instantanés 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 in situ du type de machine à l'aide de la méthode instances.setMachineType et incluez le 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 Balanced à 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