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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Administrateur d'instances Compute (v1) (
roles/compute.admin.v1
) -
Pour modifier le type de réseau :
Administrateur de réseau Compute Engine (
roles/compute.networkAdmin
) -
Pour modifier le type de machine :
compute.instances.stop
sur le projetcompute.instances.create
sur le projetcompute.instances.start
sur le projetcompute.instances.setMachineType
sur l'instance
-
Pour créer un instantané du disque :
compute.snapshots.create
sur le projetcompute.disks.createSnapshot
sur le disque
-
Pour créer un disque :
compute.disks.list
sur le projetcompute.disks.create
sur le projetcompute.disks.update
sur le projet
-
Pour associer un disque à une VM :
compute.instances.attachDisk
sur l'instancecompute.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 projetcompute.networks.update
sur le projet
- 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.
- 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.
- Si le disque de démarrage utilise un type de disque non compatible avec la nouvelle série de machines, par exemple
- 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.
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.
- 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.
- 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.
- Étendez vos plans de haute disponibilité et de reprise après sinistre pour inclure la nouvelle région.
- Si nécessaire, mettez à niveau le système d'exploitation sur la VM actuelle.
- 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.
- 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 :
- Pour les types de machines de première et deuxième génération, consultez la section Ajouter un espace de stockage Persistent Disk à votre VM.
- Pour les types de machines de troisième génération et versions ultérieures, consultez la section Ajouter un stockage Hyperdisk à votre VM.
- 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 queeth0
est fourni par le pilotevirtio-pci
(VirtIO Net), ce qui empêche le pilotegve
(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: - 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.
- Si vous migrez depuis une VM exécutant Microsoft Windows :
- Vous devez mettre à jour le pilote NVMe sur les VM créées avant mai 2022. Cela s'applique au disque de démarrage de votre VM actuelle et à tous les instantanés ou images personnalisés créés précédemment et utilisés pour créer une VM.
- Windows doit être reconfiguré pour commencer à utiliser le pilote NVMe Microsoft (StorNVMe). Suivez les instructions pour mettre à jour votre appareil de démarrage.
- 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.
- 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 :
- Créez un instantané du disque de démarrage pd-standard de votre VM actuelle.
- Créez une image personnalisée en utilisant l'instantané du disque comme source.
- 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.
- Si possible, utilisez un type de disque compatible avec la nouvelle VM.
- 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.
- Associez le nouveau disque à la VM actuelle, puis formatez-le et installez-le.
- Copiez les données des disques SSD locaux associés à la VM actuelle sur ce disque temporaire.
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.
- 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.
- 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.
- 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.
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:
- Dissociez le disque de votre VM.
- Créez un instantané du disque.
- 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.
- 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.
- 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.
- 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.
- Si vous souhaitez conserver les adresses IP utilisées par la VM source, convertissez-les en adresses IP statiques.
- Annulez l'attribution de l'adresse IP statique avant d'arrêter votre VM source.
compute.instances.setMachineType
sur la VM- 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.
- 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.
- Arrêtez votre VM source.
- Créez des instantanés de tous les disques qui sont toujours associés à la VM source.
- 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.
- Démarrez la nouvelle VM.
- Rattachez les disques que vous avez dissociés de la VM source à la nouvelle VM.
- 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.
- 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.
- 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 :
- 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.
- 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.
- 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.
- Réattribuez toutes les adresses IP statiques associées à la VM d'origine à la nouvelle VM.
- 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.
- Facultatif: mettez à jour les entrées DNS, si nécessaire, pour la nouvelle VM.
- Recommandation: planifiez des sauvegardes de disque pour les nouveaux disques.
- Recommandation: Si vous avez remplacé le système d'exploitation par une version ou une architecture différente, recompilez vos applications.
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 VMn1-standard-8
actuelle.ZONE
: zone où se trouve la VM.
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.
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 projetDISK_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
).
Répétez l'étape précédente pour chaque disque avec lequel vous avez créé un instantané.
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 projetZONE
: zone où se trouve la nouvelle VM.NEW_MACHINE_TYPE
: type de machine, dans cet exemplen4-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 VMn1-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 VMn1-standard-8
.
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.- Arrêtez la VM.
- Dissociez les disques de la VM.
- Créez un instantané des disques de démarrage et de données.
- Créez des disques de démarrage et de données Hyperdisk Balanced en utilisant un instantané de disque comme source pour chaque disque.
- Définissez le type de machine sur une VM N4.
- Associez le disque de démarrage Hyperdisk équilibré et le disque de données Hyperdisk équilibré.
- Démarrez la VM N4.
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 projetZONE
: zone contenant la VM.VM_NAME
: nom de votre VMn1-standard-8
actuelle.
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 projetZONE
: 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 quehdb-boot-disk
ouhdb-data-disk
.
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 lename
de vos disques de données. Utilisez lesourceSnapshot
pour les nouveaux disques de démarrage et de données Hyperdisk Balanced, letype
du disque, Hyperdisk Balanced et lesizeGB
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 projetZONE
: 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" }'
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 projetZONE
: 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.
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 projetZONE
: zone où se trouve votre VM.VM_NAME
: nom de la VM.
Arrêtez la VM à l'aide de la méthode instances.stop.
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 projetZONE
: la zone où se trouve le disque.VM_NAME
: nom de la VM source à laquelle le disquepd-ssd
est associé.DISK_NAME
: disque que vous souhaitez dissocier.
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.
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, lesourceSnapshot
du nouveau disque Hyperdisk avec équilibrage, letype
du disque, le disque Hyperdisk avec équilibrage et lesizeGB
du disque dans le corps de la requête.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 projetZONE
: 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", }
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 projetZONE
: la zone où se trouve le disque.VM_NAME
: nom de l'instance de VM source à laquelle le disquepd-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 }
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 projetZONE
: la zone où se trouve le disque.VM_NAME
: nom de la VM.
- Les instantanés que vous avez créés pour les disques associés à la VM source
- Les calendriers d'instantanés pour les disques associés à la VM source
- Le disque temporaire créé pour copier les données du disque SSD local sur la nouvelle VM.
- La VM source et tous les disques associés
- Découvrez les problèmes connus pour Linux et Windows Server.
- Consultez les conseils de dépannage.
- En savoir plus sur le cycle de vie de la migration
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:
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:
Exigences de stockage
Vérifiez les exigences de stockage suivantes pour votre instance actuelle et le nouveau type d'instance:
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 :
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ètrenic-type
de la VM :gcloud compute instances describe VM_NAME --zone=ZONE
Si
nic-type
est défini surVIRTIO
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:
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 :
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 :
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 :
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.
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.
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.
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 VMn4-standard-8
. La VMn1-standard-8
dispose d'un disque de démarragePD-SSD
exécutant une imageUbuntu1804
et d'un disque de donnéesPD-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éseaugvnic
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:
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éseauVirtIO
génère une erreur d'incompatibilité de VM.REST
Option 1: Créer une VM N4 avec des disques avec instantanés:
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éseauVirtIO
génère une erreur d'incompatibilité de 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 :
Étape suivante
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2024/12/22 (UTC).
-