Questo documento descrive come spostare un'istanza di una macchina virtuale (VM) tra zone o regioni.
Prima di iniziare
- Leggi la documentazione sulle zone.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
Quota del progetto. Il progetto deve avere una quota sufficiente per:
- Creare nuovi snapshot.
- Promuovi eventuali indirizzi IP esterni temporanei.
Crea nuove VM e nuovi dischi nella regione di destinazione.
Ad esempio, se hai tre dischi collegati alla VM che vuoi spostare, devi disporre di una quota sufficiente per creare tre snapshot temporanei disco permanente e tre nuovi dischi. Dopo aver creato i nuovi dischi, puoi eliminare gli snapshot temporanei.
Controlla la pagina Quote per assicurarti di avere una quota sufficiente per le risorse precedenti. Per ulteriori informazioni, consulta Informazioni sulle quote.
Dischi permanenti. I dischi permanenti collegati alla VM che vuoi spostare non sono collegati ad altre VM.
SSD locali. Le unità SSD locali sono destinate all'archiviazione temporanea e i dati su queste unità non vengono conservati tramite le interruzioni manuali delle VM. Se devi conservare i dati dell'unità SSD locale, replicali utilizzando un'opzione di archiviazione durevole come i dischi permanenti.
GPU. Se la VM include GPU, verifica che le GPU che vuoi utilizzare siano disponibili nella zona di destinazione della VM. Per un elenco delle GPU e delle zone in cui sono disponibili, consulta GPU su Compute Engine.
Subnet. Se vuoi spostare la VM da una regione all'altra, ad esempio tra
us-west1-a
easia-south1-b
, e la VM appartiene a una subnet, devi selezionare una nuova subnet per la VM. Per istruzioni su come creare le subnet, consulta Aggiungere subnet.- L'URL del disco di origine di una VM
- L'URL del tipo di macchina di una VM
- URL con link diretti
- URL delle zone
- URL dei tipi di disco
- Eventuali URL delle VM elencate nell'elenco
users[]
di un disco - Crea un'immagine macchina della VM di origine.
- Crea una VM dall'immagine macchina in una zona o una regione diversa.
Identifica i dischi associati alla VM che vuoi spostare:
gcloud compute instances describe myinstance --format="list(name,status,disks)"
In questo esempio, sono presenti i seguenti due dischi associati per la VM
myinstance
:- Un disco di avvio denominato
mybootdisk
- Un disco dati denominato
mydatadisk
- Un disco di avvio denominato
Imposta lo stato di eliminazione automatica di
mybootdisk
emydatadisk
sufalse
per assicurarti che i dischi non vengano eliminati automaticamente quando viene eliminata la VM.gcloud compute instances set-disk-auto-delete myinstance --zone europe-west1-c \ --disk mybootdisk --no-auto-delete
Se lo stato è stato aggiornato,
gcloud compute
restituisce la rispostaUpdated [...]
. Se lo stato di eliminazione automatica era già impostato su false,gcloud compute
restituisce:No change requested; skipping update for [myinstance].
(Facoltativo) Salva i metadati della VM.
Quando elimini la VM, vengono rimossi anche i metadati della VM. Puoi salvare queste informazioni in un file separato, quindi applicare nuovamente i metadati della VM alla nuova VM.
Descrivi i metadati della VM come segue:
gcloud compute instances describe myinstance --zone europe-west1-c
Salva i contenuti in un file separato.
Crea backup dei dati utilizzando gli snapshot dei disco permanente.
Per precauzione, crea i backup dei dati mentre i dischi permanenti sono ancora collegati alla VM utilizzando gli snapshot dei disco permanente. Prima di eseguire uno snapshot, assicurati che sia coerente con lo stato del disco permanente rispettando le best practice per gli snapshot.
Dopo aver svuotato i buffer del disco, crea gli snapshot:
gcloud compute disks snapshot mybootdisk mydatadisk \ --snapshot-names backup-mybootsnapshot,backup-mydatasnapshot \ --zone europe-west1-c
Per verificare che lo snapshot sia stato creato, esegui
gcloud compute snapshots list
.(Facoltativo) Se stai spostando una VM tra zone all'interno della stessa regione e vuoi conservare il suo indirizzo IP interno o esterno temporaneo, promuovi l'indirizzo IP interno o esterno a un indirizzo IP statico, che potrai riutilizzare in un secondo momento.
Elimina la VM.
L'eliminazione della VM ne arresta il funzionamento in modo pulito e scollega eventuali dischi permanenti.
gcloud compute instances delete myinstance --zone europe-west1-c
gcloud
ti chiede di confermare l'eliminazione:The following VMs are deleted. Any attached disks configured to be auto-deleted are deleted unless they are attached to any other VMs or the `--keep-disks` flag is given and specifies them for keeping. Deleting a disk is irreversible and any data on the disk is lost. — [myinstance] in [europe-west1-c]
Do you want to continue (Y/n)?
Poiché hai disattivato lo stato di eliminazione automatica per i dischi in precedenza in questa procedura, inserisci Y per continuare e ignorare l'avviso.
Successivamente, crea un altro snapshot sia del disco di avvio che del disco di dati.
gcloud compute disks snapshot mybootdisk mydatadisk \ --snapshot-names mybootsnapshot,mydatasnapshot \ --zone europe-west1-c
Created [.../mydatasnapshot]. Created [.../mybootsnapshot].
(Facoltativo) Elimina i dischi permanenti.
Se prevedi di riutilizzare i nomi dei dischi permanenti per i nuovi dischi, devi eliminare i dischi esistenti per liberare i nomi. L'eliminazione degli dischi consente anche di risparmiare sui costi di archiviazione dei disco permanente.
Se non prevedi di riutilizzare gli stessi nomi dei dischi, non è necessario eliminarli.
gcloud compute disks delete mybootdisk mydatadisk --zone europe-west1-c
Crea nuovi dischi permanenti in
us-west1-b
dagli snapshot che hai creato. Crea prima il disco di avvio.gcloud compute disks create mybootdiskb --source-snapshot mybootsnapshot \ --zone us-west1-b
Created [.../mybootdiskb]. NAME ZONE SIZE_GB TYPE STATUS mybootdiskb us-west1-b 100 pd-standard READY
Quindi crea il disco di dati.
gcloud compute disks create mydatadiskb --source-snapshot mydatasnapshot \ --zone us-west1-b
Created [.../mydatadiskb]. NAME ZONE SIZE_GB TYPE STATUS mydatadiskb us-west1-b 4000 pd-standard READY
Ricrea la VM in
us-west1-b
.Se hai scelto di salvare i metadati della VM in un file, ad esempio
myinstance.describe
, puoi utilizzarlo per impostare gli stessi metadati sulla VM.Se la tua VM aveva un indirizzo IP esterno statico, puoi riassegnare questo indirizzo alla nuova VM specificando l'opzione
--address [ADDRESS]
. Se sposti una VM da una regione all'altra, devi scegliere un indirizzo IP esterno diverso per la nuova istanza VM.Se la tua VM aveva un indirizzo IP interno statico, puoi riassegnare questo indirizzo alla nuova VM specificando l'opzione
--private-network-ip ADDRESS
. Se sposti una VM tra regioni, devi scegliere un indirizzo IP interno diverso per la nuova istanza VM.Se la VM includeva GPU, aggiungile utilizzando l'opzione
--accelerator
.Se la VM utilizza una subnet specifica, aggiungi il flag
--subnet [SUBNET_NAME]
.
Per un elenco completo di altri flag, consulta gcloud compute instances create.
gcloud compute instances create myinstanceb --machine-type n1-standard-4 \ --zone us-west1-b \ --disk name=mybootdiskb,boot=yes,mode=rw \ --disk name=mydatadiskb,mode=rw
Created [.../myinstanceb]. NAME ZONE MACHINE_TYPE INTERNAL_IP EXTERNAL_IP STATUS myinstanceb us-west1-b n1-standard-4 10.240.173.229 146.148.112.106 RUNNING
(Facoltativo) Elimina gli snapshot del disco permanente.
Dopo aver verificato che le macchine virtuali sono state spostate, risparmia sui costi di archiviazione eliminando gli snapshot temporanei che hai creato.
gcloud compute snapshots delete mybootsnapshot mydatasnapshot
Se non hai più bisogno degli snapshot di backup, elimina anche quelli:
gcloud compute snapshots delete backup-mybootsnapshot backup-mydatasnapshot
Visualizza i dettagli della VM e identifica i dischi collegati alla VM.
Imposta lo stato di eliminazione automatica del disco di avvio e del disco di dati su
false
per assicurarti che i dischi non vengano eliminati automaticamente quando viene eliminata la VM.Crea backup dei dati utilizzando gli snapshot dei disco permanente.
Per precauzione, crea i backup dei dati mentre i dischi permanenti sono ancora collegati alla VM utilizzando gli snapshot dei disco permanente. Prima di eseguire uno snapshot, assicurati che sia coerente con lo stato del disco permanente rispettando le best practice per gli snapshot.
Dopo aver svuotato i buffer del disco, crea gli snapshot:
Elimina la VM dalla zona di origine.
Successivamente, crea un altro snapshot del disco di avvio e dei dischi di dati.
(Facoltativo) Elimina i dischi permanenti.
Se prevedi di riutilizzare i nomi dei dischi permanenti per i nuovi dischi, devi eliminare i dischi esistenti per liberare i nomi. L'eliminazione degli dischi consente anche di risparmiare sui costi di archiviazione dei disco permanente.
Se non prevedi di riutilizzare gli stessi nomi dei dischi, non è necessario eliminarli.
Crea nuovi dischi permanenti nella zona di destinazione dagli snapshot che hai creato. Crea prima il disco di avvio e poi i dischi di dati.
Ricrea la VM con i nuovi dischi nella zona di destinazione.
(Facoltativo) Elimina gli snapshot temporanei del disco. Dopo aver verificato che le macchine virtuali sono state spostate, risparmia sui costi di archiviazione eliminando gli snapshot temporanei che hai creato.
Visualizza i dettagli della VM e identifica i dischi collegati alla VM.
Imposta lo stato di eliminazione automatica del disco di avvio e del disco di dati su
false
per assicurarti che i dischi non vengano eliminati automaticamente quando viene eliminata la VM.Crea backup dei dati utilizzando gli snapshot dei disco permanente.
Per precauzione, crea i backup dei dati mentre i dischi permanenti sono ancora collegati alla VM utilizzando gli snapshot dei disco permanente. Prima di eseguire uno snapshot, assicurati che sia coerente con lo stato del disco permanente rispettando le best practice per gli snapshot.
Dopo aver svuotato i buffer del disco, crea gli snapshot:
Elimina la VM dalla zona di origine.
Successivamente, crea un altro snapshot del disco di avvio e dei dischi di dati.
(Facoltativo) Elimina i dischi permanenti.
Se prevedi di riutilizzare i nomi dei dischi permanenti per i nuovi dischi, devi eliminare i dischi esistenti per liberare i nomi. L'eliminazione degli dischi consente anche di risparmiare sui costi di archiviazione dei disco permanente.
Se non prevedi di riutilizzare gli stessi nomi dei dischi, non è necessario eliminarli.
Crea nuovi dischi permanenti nella zona di destinazione dagli snapshot che hai creato. Crea prima il disco di avvio e poi i dischi di dati.
Ricrea la VM con i nuovi dischi nella zona di destinazione.
(Facoltativo) Elimina gli snapshot temporanei del disco. Dopo aver verificato che le macchine virtuali sono state spostate, risparmia sui costi di archiviazione eliminando gli snapshot temporanei che hai creato.
Visualizza i dettagli della VM e identifica i dischi collegati alla VM.
Imposta lo stato di eliminazione automatica del disco di avvio e del disco di dati su
false
per assicurarti che i dischi non vengano eliminati automaticamente quando viene eliminata la VM.Crea backup dei dati utilizzando gli snapshot dei disco permanente.
Per precauzione, crea i backup dei dati mentre i dischi permanenti sono ancora collegati alla VM utilizzando gli snapshot dei disco permanente. Prima di eseguire uno snapshot, assicurati che sia coerente con lo stato del disco permanente rispettando le best practice per gli snapshot.
Dopo aver svuotato i buffer del disco, crea gli snapshot:
Elimina la VM dalla zona di origine.
Successivamente, crea un altro snapshot del disco di avvio e dei dischi di dati.
(Facoltativo) Elimina i dischi permanenti.
Se prevedi di riutilizzare i nomi dei dischi permanenti per i nuovi dischi, devi eliminare i dischi esistenti per liberare i nomi. L'eliminazione degli dischi consente anche di risparmiare sui costi di archiviazione dei disco permanente.
Se non prevedi di riutilizzare gli stessi nomi dei dischi, non è necessario eliminarli.
Crea nuovi dischi permanenti nella zona di destinazione dagli snapshot che hai creato. Crea prima il disco di avvio e poi i dischi di dati.
Ricrea la VM con i nuovi dischi nella zona di destinazione.
(Facoltativo) Elimina gli snapshot temporanei del disco. Dopo aver verificato che le macchine virtuali sono state spostate, risparmia sui costi di archiviazione eliminando gli snapshot temporanei che hai creato.
Visualizza i dettagli della VM e identifica i dischi collegati alla VM.
Imposta lo stato di eliminazione automatica del disco di avvio e del disco di dati su
false
per assicurarti che i dischi non vengano eliminati automaticamente quando viene eliminata la VM.Crea backup dei dati utilizzando gli snapshot dei disco permanente.
Per precauzione, crea i backup dei dati mentre i dischi permanenti sono ancora collegati alla VM utilizzando gli snapshot dei disco permanente. Prima di eseguire uno snapshot, assicurati che sia coerente con lo stato del disco permanente rispettando le best practice per gli snapshot.
Dopo aver svuotato i buffer del disco, crea gli snapshot:
Elimina la VM dalla zona di origine.
Successivamente, crea un altro snapshot del disco di avvio e dei dischi di dati.
(Facoltativo) Elimina i dischi permanenti.
Se prevedi di riutilizzare i nomi dei dischi permanenti per i nuovi dischi, devi eliminare i dischi esistenti per liberare i nomi. L'eliminazione degli dischi consente anche di risparmiare sui costi di archiviazione dei disco permanente.
Se non prevedi di riutilizzare gli stessi nomi dei dischi, non è necessario eliminarli.
Crea nuovi dischi permanenti nella zona di destinazione dagli snapshot che hai creato. Crea prima il disco di avvio e poi i dischi di dati.
Ricrea la VM con i nuovi dischi nella zona di destinazione.
(Facoltativo) Elimina gli snapshot temporanei del disco. Dopo aver verificato che le macchine virtuali sono state spostate, risparmia sui costi di archiviazione eliminando gli snapshot temporanei che hai creato.
- Scopri come modificare la zona/regione predefinita per il tuo progetto.
- Scopri di più sulla migrazione live.
- Controlla lo stato di una VM.
- Scopri di più sulla migrazione delle VM a Compute Engine.
Vai
Per utilizzare gli Go esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Java
Per utilizzare gli Java esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Node.js
Per utilizzare gli Node.js esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Python
Per utilizzare gli Python esempi in questa pagina in un ambiente di sviluppo locale, installa e inizializza l'interfaccia alla gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
Requisiti
Questa sezione elenca i requisiti per spostare una VM tra zone e regioni:
Limitazione
Se sposti una VM da una regione all'altra, non puoi conservare l'indirizzo IP interno o esterno effimero della VM. Devi scegliere un nuovo indirizzo IP quando ricrei la VM.
Proprietà della risorsa
Per trasferire la VM, è necessario arrestarla, spostarla nella zona o regione di destinazione, quindi riavviarla. Dopo aver spostato la VM, aggiorna tutti i riferimenti alla risorsa originale, ad esempio eventuali VM di destinazione o pool di destinazione che puntano alla VM precedente.
Durante lo spostamento, alcune proprietà della VM e dei dischi generate dal server cambiano.
Proprietà che cambiano per le VM
La tabella seguente descrive le proprietà che cambiano per le VM:
Nome proprietà Modifiche Indirizzo IP interno In genere viene assegnato un nuovo indirizzo IP interno, ma la VM potrebbe mantenere l'indirizzo IP interno originale. Indirizzo IP esterno Se la VM si sposta da una zona all'altra all'interno della stessa regione, l'indirizzo IP esterno rimane invariato. In caso contrario, scegli un indirizzo IP esterno diverso per l'istanza VM. Piattaforma CPU A seconda della piattaforma CPU disponibile nella zona di destinazione, la VM potrebbe avere una piattaforma CPU diversa dopo il trasferimento. Per un elenco completo delle piattaforme CPU in ogni zona, consulta Regioni e zone disponibili. Rete/subnet Se la VM appartiene a una sottorete e la stai spostando tra regioni, devi scegliere una nuova sottorete per la VM. Le VM che si spostano tra zone della stessa regione mantengono la stessa subnet. Proprietà che cambiano per i dischi
La tabella seguente descrive le proprietà che cambiano per i dischi:
Nome proprietà Modifiche Snapshot di origine Lo snapshot di origine del nuovo disco è impostato sullo snapshot temporaneo creato durante lo spostamento. ID snapshot di origine L'ID snapshot di origine è impostato sull'ID dello snapshot temporaneo. Immagine di origine Il campo dell'immagine di origine è vuoto. ID immagine L'ID immagine è vuoto. Timestamp dell'ultimo distacco L'ultimo timestamp scollegato è vuoto. Timestamp dell'ultimo allegato L'ultimo timestamp collegato diventa il timestamp del momento in cui il nuovo disco è stato collegato alla nuova istanza. Proprietà che cambiano sia per le VM sia per i dischi
La tabella seguente descrive le proprietà che cambiano sia per le VM sia per i dischi:
Nome proprietà Modifiche ID Viene generato un nuovo ID risorsa. Timestamp creazione Viene generato un nuovo timestamp di creazione. URL delle risorse di zona Tutti gli URL delle risorse delle zone cambiano per riflettere la zona di destinazione. Il seguente elenco mostra gli URL delle risorse che cambiano: Spostare una VM tra zone o regioni
Per spostare una VM tra zone o regioni, puoi procedere nel seguente modo:
Gli esempi riportati di seguito mostrano come spostare una VM tra zone.
gcloud
In questo esempio, sposti una VM denominata
myinstance
con due dischi permanenti denominatimybootdisk
emydatadisk
daeurope-west1-c
aus-west1-b
.Vai
Java
Node.js
Python
Passaggi successivi
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2024-12-19 UTC.
-