In determinate situazioni, potresti voler spostare il tuo workload da una macchina virtuale (VM) esistente a una VM più recente. I motivi per passare a una nuova VM includono quanto segue:
- Sfrutta i nuovi tipi di macchine per velocità di archiviazione o di rete più elevate. Ad esempio, l'upgrade da C2 a H3 per una larghezza di banda di rete migliorata.
- Usufruisci di un miglior rapporto prezzo/prestazioni rispetto all'istanza VM di origine. Ad esempio, l'upgrade da N1 a N4 per un valore maggiore sul processore Intel Xeon di 5ª generazione.
- Utilizzare le funzionalità disponibili solo sulla nuova istanza VM. Ad esempio, l'upgrade da N4 a C4 per usufruire di ulteriori opzioni di prestazioni e manutenzione.
- Modifica un'istanza di macchina virtuale (VM) in un'istanza bare metal.
- Aggiungi dischi SSD locali all'istanza VM C3 o C3D.
Quando esegui l'upgrade alla serie di macchine di ultima generazione, potresti essere in grado di utilizzare la procedura più semplice descritta in Modificare il tipo di macchina di un'istanza di Compute se la VM attuale (origine) soddisfa le seguenti condizioni:
- La versione del sistema operativo è supportata dalla nuova serie di macchine.
- Il tipo di disco del disco di avvio collegato alla VM di origine è supportato dalla nuova serie di macchine.
- La VM non utilizza l'archiviazione SSD locale.
- La VM con GPU collegate utilizza un tipo di macchina G2. Per maggiori dettagli, vedi Aggiungere o rimuovere GPU.
- La VM utilizza solo funzionalità supportate dalla nuova serie di macchine.
- La VM non fa parte di un gruppo di istanze gestite.
- La VM utilizza l'interfaccia di rete gVNIC.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è
il processo mediante il quale la tua identità viene verificata per l'accesso ai Google Cloud servizi e alle API.
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:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
Compute Instance Admin (v1) (
roles/compute.admin.v1
) -
Per modificare il tipo di rete:
Amministratore rete Compute Engine (
roles/compute.networkAdmin
) -
Per modificare il tipo di macchina:
-
compute.instances.stop
sul progetto -
compute.instances.create
sul progetto -
compute.instances.start
sul progetto -
compute.instances.setMachineType
sull'istanza
-
-
Per creare uno snapshot del disco:
-
compute.snapshots.create
sul progetto -
compute.disks.createSnapshot
sul disco
-
-
Per creare un nuovo disco:
-
compute.disks.list
sul progetto -
compute.disks.create
sul progetto -
compute.disks.update
sul progetto
-
-
Per collegare un disco a una VM:
-
compute.instances.attachDisk
sull'istanza -
compute.disks.use
sul disco
-
-
Per eliminare un disco:
compute.disks.delete
sul progetto -
Per apportare modifiche al tipo di rete:
-
compute.networks.list
sul progetto -
compute.networks.update
sul progetto
-
- Consulta la documentazione sulle famiglie di macchine per identificare i tipi di macchine adatti al tuo workload. Valuta se la tua applicazione richiede hardware specifico (GPU), prestazioni elevate o costi inferiori.
- Esamina le funzionalità dei tipi di dischi supportati dal nuovo tipo di macchina. La maggior parte delle funzionalità di Persistent Disk, ma non tutte, sono supportate da Hyperdisk. Tuttavia, Hyperdisk offre funzionalità aggiuntive non disponibili con Persistent Disk.
- Esamina le funzionalità della serie di macchine prospettica. La nuova serie di macchine potrebbe non supportare le stesse funzionalità che utilizzi con la serie di macchine attuale, come i tipi di macchine personalizzati, l'SSD locale o Shielded VM.
- Esamina le regioni e le zone per assicurarti che la nuova serie di macchine sia disponibile in tutte le regioni come la tua VM attuale. Potresti dover modificare i piani di deployment, alta disponibilità e ripristino di emergenza.
- Rivedi il piano di migrazione del sistema operativo:
- Se la nuova VM richiede una versione più recente del sistema operativo, verifica che le tue applicazioni siano compatibili con la versione più recente del sistema operativo.
- Se esegui la migrazione ad Arm e non è disponibile un'immagine Arm per la tua attuale versione del sistema operativo, scegli un nuovo sistema operativo o una nuova versione del sistema operativo su cui eseguire le applicazioni e verifica che le applicazioni siano compatibili con il nuovo sistema operativo.
- È possibile eseguire la migrazione da un'istanza VM C3 a un'istanza bare metal C3, a condizione che l'istanza VM C3 di origine utilizzi un sistema operativo e un driver di rete supportati.
- Se esegui la migrazione da una serie di macchine diversa da C3 a un'istanza bare metal, devi creare una nuova istanza. Potresti dover eseguire il tuo hypervisor; tuttavia, puoi anche eseguire qualsiasi sistema operativo supportato da C3 metal, a condizione che il driver IDPF sia abilitato. Le istanze Bare Metal utilizzano l'interfaccia di rete IDPF presentata solo come funzione fisica, non virtuale.
- Esamina i tipi di archiviazione supportati e le interfacce di archiviazione supportate per la
nuova serie di macchine.
- Per impostazione predefinita, le serie di macchine di prima e seconda generazione utilizzano solo il tipo di archiviazione su Persistent Disk e le interfacce VirtIO-SCSI.
- Le serie di macchine di terza generazione e successive (come M3, C3 e N4) supportano solo l'interfaccia NVMe e alcune supportano solo i tipi di archiviazione Hyperdisk e SSD locale.
- Le istanze bare metal supportano solo Hyperdisk.
- Compatibilità del disco:
- Se il disco di avvio utilizza un tipo di disco non supportato dalla nuova serie di macchine, ad esempio
pd-standard
, devi creare un nuovo disco di avvio per la nuova VM. - Se esegui l'upgrade del sistema operativo a una nuova versione e il sistema operativo non supporta gli upgrade sul posto, devi creare un nuovo disco di avvio. Tutti i dati sul disco di avvio di origine vengono persi, a meno che non vengano copiati su un disco temporaneo non di avvio. Successivamente, crea un nuovo disco di avvio e copia i dati archiviati sul disco temporaneo non di avvio nel nuovo disco di avvio.
- Se non esegui l'upgrade della versione del sistema operativo, puoi creare uno snapshot del disco di avvio attuale e ripristinarlo nel nuovo tipo di disco supportato. Quando crei una VM, puoi utilizzare questo nuovo disco come disco di avvio.
- Se un disco non di avvio utilizza un tipo di disco non supportato dalla nuova serie di macchine, puoi utilizzare uno snapshot per modificare il disco di origine in un nuovo tipo di disco, come descritto in Modificare il tipo di disco.
- Se il disco di avvio utilizza un tipo di disco non supportato dalla nuova serie di macchine, ad esempio
- I dischi SSD locali non possono essere spostati in una nuova VM. Puoi collegare un disco abbastanza grande da archiviare tutti i dati dell'SSD locale alla tua VM attuale e poi utilizzare uno snapshot per modificare il disco di origine in un nuovo tipo di disco, come descritto in Cambia il tipo di disco. Dopo aver creato una VM con dischi SSD locali collegati, puoi copiare i dati di nuovo sui dischi SSD locali.
- Se la tua attuale istanza VM utilizza dischi in un pool di archiviazione, ma stai spostando il tuo carico di lavoro su una VM in una regione diversa, devi ricreare i dischi e il pool di archiviazione nella nuova regione.
- Se la nuova serie di macchine utilizza un'interfaccia disco diversa (ad esempio NVMe anziché SCSI), i nomi dei dispositivi disco nel sistema operativo guest sono diversi. Assicurati che le tue applicazioni e i tuoi script utilizzino nomi di dispositivi permanenti o collegamenti simbolici quando fanno riferimento ai dischi collegati.
Esamina le interfacce di rete supportate per la nuova VM.
- Per impostazione predefinita, le serie di macchine di prima e seconda generazione utilizzano solo l'interfaccia di rete VirtIO.
- Le serie di macchine di terza generazione e successive (come M3, C3 e N4) supportano solo l'interfaccia di rete gVNIC.
- Le istanze bare metal supportano solo l'interfaccia di rete IDPF.
Assicurati che l'applicazione e il sistema operativo supportino le interfacce disponibili per la serie di macchine.
Esamina la configurazione di rete della VM per determinare se devi conservare gli indirizzi IP assegnati. In questo caso, devi promuovere gli indirizzi IP a indirizzi IP statici.
Se utilizzi le prestazioni di rete Tier_1 per VM con la tua VM attuale, assicurati che siano disponibili o necessarie con la nuova serie di macchine. Ad esempio, puoi utilizzare il networking Tier_1 con un tipo di macchina C2, ma non è necessario con una VM H3.
- Richiedi una quota nella regione e nelle zone in cui prevedi di spostare le risorse. Se disponi di una quota esistente per un tipo di macchina, puoi richiedere di spostarla. Il completamento della procedura richiede alcuni giorni.
- Crea una prenotazione per le nuove istanze VM per assicurarti che le risorse macchina siano disponibili nella nuova regione e nelle nuove zone. Assicurati di capire come vengono utilizzate le risorse riservate e verifica di poterle utilizzare.
- Estendi i tuoi piani di alta disponibilità e ripristino di emergenza per includere la nuova regione.
- Se necessario, esegui l'upgrade del sistema operativo sulla VM attuale.
- Se supportato dal fornitore del sistema operativo, esegui un upgrade sul posto del sistema operativo a una versione supportata dalla nuova serie di macchine e verifica che il tuo workload funzioni come previsto nella nuova versione del sistema operativo.
- Se l'upgrade in loco del sistema operativo non è supportato, quando crei una
nuova VM, devi creare un nuovo disco di avvio. Determina quali informazioni devi copiare dal disco di avvio attuale e copiale in una posizione temporanea su un disco non di avvio in modo che possano essere trasferite alla nuova VM. Se non hai
dischi non di avvio collegati alla VM attuale:
- Per i tipi di macchine di prima e seconda generazione, consulta Aggiungi spazio di archiviazione su disco permanente alla tua VM.
- Per i tipi di macchine di terza generazione e successive, consulta Aggiungi spazio di archiviazione Hyperdisk alla VM.
- Se applicabile alla tua distribuzione Linux, controlla le regole udev in
/etc/udev/rules.d/
. Questo file potrebbe contenere voci pertinenti alla configurazione hardware dell'istanza corrente, ma non della nuova istanza. Ad esempio, la seguente voce garantisce cheeth0
sia fornito dal drivervirtio-pci
(VirtIO Net), il che impedisce al drivergve
(gVNIC) di fornire questa interfaccia. Ciò potrebbe causare problemi di connettività e script di avvio di rete nella nuova istanza: - Sui sistemi Linux, testa le applicazioni e gli script aggiornati per assicurarti che funzionino con nomi di dispositivi permanenti o collegamenti simbolici anziché con i nomi dei dispositivi del disco.
- Se esegui la migrazione da una VM che esegue Microsoft Windows:
- Devi aggiornare il driver NVMe sulle VM create prima di maggio 2022. Ciò vale per il disco di avvio nella VM corrente e per tutti gli snapshot o le immagini personalizzate creati in precedenza e utilizzati per creare una VM.
- Windows deve essere riconfigurato per iniziare a utilizzare il driver NVMe di Microsoft (StorNVMe). Segui le istruzioni per aggiornare il dispositivo di avvio.
- Se la nuova VM non supporta gli stessi tipi di dischi della VM attuale, potresti dover aggiornare gli script di deployment o i modelli di istanza per supportare la nuova serie di macchine.
- Se la tua VM attuale utilizza un tipo di disco per il disco di avvio non supportato dalla
nuova serie di macchine e stai eseguendo la migrazione di più VM con la stessa
configurazione, crea un'immagine personalizzata da utilizzare durante la creazione delle nuove VM:
- Crea uno snapshot del disco di avvio pd-standard della tua VM attuale.
- Crea un'immagine personalizzata utilizzando lo snapshot del disco come origine.
- Se devi spostare le informazioni dell'SSD locale, crea un disco vuoto sufficientemente grande
per eseguire il backup dei dischi SSD locali.
- Se possibile, utilizza un tipo di disco supportato dalla nuova VM.
- Se non sono presenti tipi di disco supportati sia dalla VM attuale che dalla nuova VM, crea un disco temporaneo utilizzando un tipo di disco supportato dalla VM attuale.
- Collega il nuovo disco alla VM attuale, quindi formattalo e montalo.
- Copia i dati dai dischi SSD locali collegati alla VM corrente su questo disco temporaneo.
Modifica il tipo di disco di tutti i dischi collegati alla VM attuale che utilizzano un tipo di disco non supportato dalla nuova VM. Per spostare i dati del disco su nuovi dischi, crea snapshot dei dischi. In alternativa, puoi trasferire i file da una VM all'altra.
- Puoi scattare gli snapshot mentre la VM è in esecuzione, ma i dati scritti sui dischi dopo lo scatto dello snapshot non vengono acquisiti. Poiché gli snapshot sono incrementali, puoi scattare un secondo snapshot dopo aver arrestato la VM per acquisire tutte le modifiche più recenti. Questo approccio dovrebbe ridurre al minimo il periodo di tempo in cui la VM non è disponibile durante il passaggio a una nuova VM.
- In alternativa, puoi creare tutti gli snapshot del disco dopo aver arrestato la VM. Ti consigliamo di creare uno snapshot di tutti i dischi collegati alla VM, anche se il tipo di disco è supportato dalla nuova serie di macchine. Includi tutti i dischi temporanei che contengono i dati dell'SSD locale copiati.
- Il tempo necessario per creare lo snapshot di un disco dipende da più fattori, ad esempio le dimensioni del disco e la quantità di dati contenuti. Ad esempio, se crei uno snapshot di un disco da 1 TiB pieno all'85%, il completamento dello snapshot potrebbe richiedere 5 minuti. Tuttavia, se acquisisci uno snapshot di un disco da 100 TiB pieno all'85%, il completamento potrebbe richiedere 11 minuti. Ti consigliamo di eseguire snapshot di test dei dischi prima di iniziare la procedura di migrazione per capire quanto tempo richiede la creazione di snapshot.
Se hai un disco che può essere messo offline, puoi utilizzare il seguente approccio per spostare i dati su un nuovo disco mentre la VM di origine è ancora disponibile:
- Scollega il disco dalla tua VM.
- Acquisisci uno snapshot del disco.
- Utilizza lo snapshot per creare un nuovo disco utilizzando un tipo di disco supportato dalla nuova serie di macchine. Il nuovo disco deve avere le stesse dimensioni o essere più grande del disco di origine.
- Se la VM attuale non utilizza gVNIC, devi creare una nuova istanza con un'interfaccia di rete che utilizzi gVNIC. Consulta la Panoramica dell'utilizzo di gVNIC con le VM di Compute Engine per comprendere i passaggi da seguire durante la creazione di una nuova istanza.
- Se crei una VM in una nuova regione, crea una rete VPC e subnet nella nuova regione.
- Se hai configurato conteggi personalizzati delle code NIC, consulta Allocazioni delle code e modifica del tipo di macchina.
- Se vuoi conservare gli indirizzi IP utilizzati dalla VM di origine, promuovili a indirizzi IP statici.
- Annulla l'assegnazione dell'indirizzo IP statico prima di arrestare la VM di origine.
compute.instances.setMachineType
sulla VM- Quando crei la nuova VM, scegli uno dei tipi di disco supportati per il disco di avvio, ad esempio Hyperdisk bilanciato.
- Se la VM di origine utilizza dischi non di avvio con un tipo di disco supportato dalla nuova serie di macchine, scollega i dischi dalla VM.
- Arresta la VM di origine.
- Crea snapshot di tutti i dischi ancora collegati alla VM di origine.
- Crea una nuova istanza VM di Compute utilizzando un'immagine pubblica o un'immagine personalizzata configurata per utilizzare gVNIC.
Quando crei la nuova VM, scegli le seguenti opzioni:
- Seleziona il tipo di macchina dalla serie di macchine che hai scelto.
- Seleziona un'immagine del sistema operativo supportata o utilizza un'immagine personalizzata che hai creato in precedenza.
- Seleziona un tipo di disco supportato per il disco di avvio.
- Se hai creato nuovi dischi a partire dagli snapshot dei dischi originali, includi questi nuovi dischi.
- Specifica la nuova rete VPC se stai creando l'istanza in una regione diversa.
- Se sia VirtIO che gVNIC sono supportati per la nuova istanza, seleziona gVNIC.
- Specifica gli indirizzi IP statici, se hai promosso gli indirizzi IP temporanei della VM di origine.
- Avvia la nuova VM.
- Collega i dischi che hai scollegato dalla VM di origine alla nuova VM.
- Per tutti i dischi collegati alla VM di origine che utilizzano un tipo di disco non supportato dalla nuova VM, Crea un disco da uno snapshot e collegalo alla nuova istanza. Quando crei il nuovo disco, seleziona un tipo di disco supportato dalla nuova VM e specifica una dimensione almeno pari a quella del disco originale.
- Se la VM originale utilizzava una policy di risorse per i dischi ricreati per la nuova VM, devi aggiungere la policy di risorse ai nuovi dischi.
- Se hai creato la nuova VM utilizzando un'immagine sistema operativo pubblica e non un'immagine personalizzata, procedi nel seguente modo:
- Configura gli utenti, i driver, i pacchetti e le directory di file necessari nella nuova istanza per supportare il tuo workload.
- Installa le applicazioni e i programmi modificati sulla nuova VM. Se necessario, ricompila i programmi sul nuovo sistema operativo o sulla nuova architettura.
- (Facoltativo) Se hai spostato i contenuti dei dischi SSD locali su un disco temporaneo e la nuova VM ha collegato l'archiviazione SSD locale, dopo aver formattato e montato i dischi, puoi spostare i dati dal disco temporaneo ai dischi SSD locali.
- Riassegna tutti gli indirizzi IP statici associati alla VM di origine alla nuova VM.
- Completa tutte le attività aggiuntive necessarie per rendere la nuova VM a disponibilità elevata, ad esempio configurando i bilanciatori del carico e aggiornando le regole di forwarding.
- (Facoltativo) Aggiorna le voci DNS, se necessario, per la nuova VM.
- Consigliato: pianifica i backup dei dischi per i nuovi dischi.
- Consigliato: se hai modificato il sistema operativo con una versione o un'architettura diversa, ricompila le applicazioni.
Arresta la VM utilizzando gcloud compute instances stop:
gcloud compute instances stop VM_NAME \ --zone=ZONE
Sostituisci quanto segue:
VM_NAME
Il nome della tua VMn1-standard-8
attuale.ZONE
: la zona in cui si trova la VM.
Crea snapshot dei dischi. Utilizza il comando gcloud compute snapshots create per creare uno snapshot sia del disco di avvio Persistent Disk sia del disco di dati collegato alla VM.
gcloud compute snapshots create SNAPSHOT_NAME \ --source-disk=SOURCE_DISK_NAME \ --source-disk-zone=SOURCE_DISK_ZONE
Sostituisci quanto segue:
SNAPSHOT_NAME
: Il nome dello snapshot che vuoi creare.SOURCE_DISK_NAME
: Il nome del disco di origine.SOURCE_DISK_ZONE
: la zona del disco di origine.
Crea un nuovo disco Hyperdisk bilanciato per il disco di dati ripetendo il passaggio precedente e specificando le informazioni del disco di dati anziché quelle del disco di avvio. 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
Sostituisci quanto segue:
DISK_NAME
: Il nome del nuovo disco che stai creando dal disco con snapshot.PROJECT_NAME
: il nome del progetto.DISK_TYPE
: il nuovo tipo di disco. In questo esempio, si tratta di un disco Hyperdisk bilanciato.DISK_SIZE
: Le dimensioni del disco (esempio:100GB
).ZONE
: la zona in cui si trova il nuovo disco.SNAPSHOT_NAME
: Il nome del disco di origine dello snapshot.- (Facoltativo)
PROVISIONED_IOPS
: le prestazioni IOPS per il disco (ad esempio3600
). - (Facoltativo)
PROVISIONED_THROUGHPUT
: le prestazioni di throughput di cui eseguire il provisioning per il disco (ad esempio290
).
Ripeti il passaggio precedente per ogni disco sottoposto a snapshot.
Crea la VM
n4-standard-8
e collega i dischi Hyperdisk bilanciato utilizzando 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
Sostituisci quanto segue:
VM_NAME
: il nome della nuova istanza VM.PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova la nuova VM.NEW_MACHINE_TYPE
: Il tipo di macchina, in questo esempio èn4-standard-8
.BOOT_DISK_NAME
Il nome del disco di avvio Hyperdisk bilanciato che hai creato dallo snapshot del disco di origine collegato alla VMn1-standard-8
.NON_BOOT_DISK_NAME
Il nome del disco dati Hyperdisk bilanciato che hai creato dal disco snapshot di origine collegato alla VMn1-standard-8
.
Avvia la VM
n4-standard-8
utilizzando il comando gcloud compute instances start:gcloud compute instances start VM_NAME
Sostituisci
VM_NAME
con il nome della nuova VM.- Arresta la VM.
- Scollega i dischi dalla VM.
- Crea uno snapshot dei dischi di avvio e dei dati.
- Crea dischi di avvio e dati Hyperdisk bilanciati utilizzando uno snapshot del disco come origine per ogni disco.
- Imposta il tipo di macchina su una VM N4.
- Collega il disco di avvio Hyperdisk bilanciato e il disco di dati Hyperdisk bilanciato.
- Avvia la VM N4.
Arresta la VM utilizzando il metodo instances.stop:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/stop
Sostituisci quanto segue:
PROJECT_NAME
: l'ID progetto.ZONE
: la zona contenente la VM.VM_NAME
: Il nome della tua attuale VMn1-standard-8
.
Crea uno snapshot dei dischi utilizzando il metodo disks.createSnapshot per creare uno snapshot sia del disco di avvio Persistent Disk sia del disco dati collegato all'istanza.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/disks/DISK_NAME/createSnapshot
Nel corpo della richiesta, includi il nome del nuovo disco permanente di cui è stato creato lo snapshot.
Ad esempio:
{ "name": "SNAPSHOT_NAME" }
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova il disco.DISK_NAME
: Il disco di cui prevedi di creare lo snapshot.SNAPSHOT_NAME
: un nome per lo snapshot, ad esempiohdb-boot-disk
ohdb-data-disk
.
Crea un disco Hyperdisk bilanciato utilizzando il metodo disks.insert. Esegui questo passaggio due volte: una volta per includere
name
del disco di avvio Hyperdisk bilanciato e una seconda volta per includerename
dei dischi di dati. UtilizzasourceSnapshot
per i nuovi dischi di avvio e dati Hyperdisk bilanciato,type
del disco, Hyperdisk bilanciato esizeGB
del disco nel corpo della richiesta.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEdisks
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova il disco.
Nel corpo della richiesta, includi quanto segue:
Ad esempio:
{ "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" }'
Utilizza il metodo instances.insert per creare la nuova VM N4.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova il disco.
Nel corpo della richiesta, includi quanto segue:
{ "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" } ] }
Sostituisci quanto segue:
VM_NAME
: il nome della VM.NETWORK_NAME
: il nome della rete.REGION
: il nome della regione.SUBNET_NAME
: il nome della subnet.
Avvia la VM utilizzando il metodo instances.start:
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/start
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova la VM.VM_NAME
: il nome della VM.
Arresta la VM utilizzando il metodo instances.stop.
Scollega i dischi utilizzando il metodo instances.detachDisk per scollegare il disco di avvio del Persistent Disk originale dalla VM N1. Devi anche scollegare tutti i dischi di dati dalla VM.
https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=DISK_NAME
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova il disco.VM_NAME
: Il nome della VM di origine a cui è collegato il discopd-ssd
.DISK_NAME
: Il disco che vuoi scollegare.
Crea uno snapshot dei dischi. Utilizza il metodo disks.createSnapshot per creare uno snapshot sia del disco di avvio Persistent Disk sia dei dischi dati collegati all'istanza.
Crea dischi di avvio e dati Hyperdisk bilanciato utilizzando il metodo disks.insert includi
name
del disco Hyperdisk bilanciato,sourceSnapshot
per il nuovo disco Hyperdisk bilanciato,type
del disco, Hyperdisk bilanciato esizeGB
del disco nel corpo della richiesta.Esegui un upgrade del tipo di macchina sul posto utilizzando il metodo instances.setMachineType includi
machineType
nel corpo della richiesta:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/setMachineTypeMACHINE_TYPE
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova il disco.VM_NAME
: Il nome della VM da aggiornare.MACHINE_TYPE
: Il nuovo tipo di macchina.
Nel corpo della richiesta, includi quanto segue:
{ "machineType": "projects/PROJECT_NAME/zones/ZONE/machineTypes/MACHINE_TYPE", }
Utilizza il metodo instances.attachDisk per collegare il nuovo disco di avvio
Hyperdisk Balanced
e i dischi di dati Hyperdisk bilanciato alla VM N4.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instancesVM_NAMEattachDiskDISK_NAME
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova il disco.VM_NAME
: il nome dell'istanza VM di origine a cui è collegato il discopd-ssd
.DISK_NAME
Il disco che vuoi collegare.
Nel corpo della richiesta, includi quanto segue:
{ "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 }
Avvia la VM N4 utilizzando il metodo instances.start.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONEinstances/VM_NAME/start
Sostituisci quanto segue:
PROJECT_NAME
: il nome del progetto.ZONE
: la zona in cui si trova il disco.VM_NAME
: il nome della VM.
- Gli snapshot creati per i dischi collegati alla VM di origine.
- Eventuali pianificazioni di snapshot per i dischi collegati alla VM di origine.
- Il disco temporaneo creato per copiare i dati dell'SSD locale nella nuova VM.
- La VM di origine e tutti i dischi collegati.
- Scopri di più sui problemi noti per Linux e Windows Server.
- Leggi i suggerimenti per la risoluzione dei problemi.
- Scopri di più sul ciclo di vita della migrazione.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Per saperne di più, consulta la sezione Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per modificare una VM, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per modificare una VM. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per modificare o cambiare una VM sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Valuta le opzioni di migrazione delle VM
La migrazione da un tipo di macchina a un altro dipende da diversi fattori, tra cui la disponibilità regionale del nuovo tipo di macchina e la compatibilità delle opzioni di archiviazione e delle interfacce di rete rispetto al sistema operativo guest dell'origine e alla nuova serie di macchine.
Requisiti di calcolo
Esamina i seguenti requisiti per l'istanza attuale e il nuovo tipo di macchina:
Requisiti di archiviazione
Esamina i seguenti requisiti di archiviazione per l'istanza attuale e il nuovo tipo di istanza:
Requisiti di networking
Esamina i seguenti requisiti di rete per l'istanza attuale e il nuovo tipo di istanza:
Per determinare il tipo di interfaccia di rete della tua VM attuale, utilizza il comando
gcloud compute instances describe
per visualizzarenic-type
della VM:gcloud compute instances describe VM_NAME --zone=ZONE
Se la VM ha un
nic-type
impostato suVIRTIO
, non puoi modificare il tipo di interfaccia di rete. Devi creare una nuova VM e impostare il tipo di interfaccia di rete su gVNIC.Preparati a spostare le VM esistenti
Dopo aver completato la sezione di valutazione, il passaggio successivo consiste nel prepararsi a spostare le istanze VM richiedendo risorse per la nuova istanza VM e preparando i backup dell'istanza VM di origine.
Prepara le risorse di computing
Per prepararti a spostare l'istanza attuale in una nuova istanza:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="virtio-pci", ATTR{dev_id}=="0x0", KERNELS=="0000:00:04.0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
Prepara le risorse di archiviazione
Completa i seguenti passaggi per prepararti a spostare i dati nei dischi collegati alla tua istanza attuale a una nuova istanza:
Preparare le risorse di rete
Completa i seguenti passaggi per aggiornare la configurazione di rete utilizzata dall'istanza attuale in modo che supporti la nuova istanza:
Prepara il sistema operativo SUSE Enterprise Linux Server
Per evitare dipendenze specifiche dell'hardware, ricompila
initramfs
(Initial RAM filesystem). Ciò include una gamma più ampia di driver e moduli, rendendo il sistema operativo compatibile con altri tipi di istanze. In caso contrario, si verificherà il problema noto che impedisce l'avvio corretto della VM.Prima di spegnere il sistema, esegui questo comando come root per ricompilare
initramfs
con tutti i driver:sudo dracut --force --no-hostonly
Sposta il workload nella nuova VM
Dopo aver preparato le VM per la migrazione, il passaggio successivo è spostare il carico di lavoro nella nuova VM.
Se stai spostando le VM dalla prima alla seconda generazione della serie di macchine, leggi le istruzioni nella pagina Modifica il tipo di macchina di una VM. Se vuoi modificare il nome della VM esistente, consulta le informazioni riportate in Rinominare una VM.
Autorizzazioni richieste per questa attività
Per eseguire questa attività, devi disporre delle seguenti autorizzazioni:
Questa sezione descrive come spostare il workload da una VM di prima o seconda generazione a una VM di terza generazione (o successiva). Durante questa procedura, crei una nuova istanza VM, quindi sposti i tuoi workload nella nuova VM.
Crea la nuova VM
Quando sposti i carichi di lavoro dalle VM di prima o seconda generazione (ad esempio N1 o N2) alla terza generazione o versioni successive, devi prima creare una nuova VM e poi spostare i carichi di lavoro.
Dopo l'avvio dell'istanza
Ora che la nuova istanza è stata creata e avviata, completa i seguenti passaggi per terminare la configurazione della nuova istanza e copiare tutti i dati dall'istanza di origine.
Se riscontri problemi durante lo spostamento del carico di lavoro, contatta il tuo Technical Account Manager (TAM) o l'organizzazione Google Professional Services (PSO) per ricevere assistenza.
Esempio di migrazione da n1-standard-8 a n4-standard-8
L'esempio seguente mostra la migrazione di una VM
n1-standard-8
a una VMn4-standard-8
. La VMn1-standard-8
ha un disco di avvioPD-SSD
che esegue un'immagineUbuntu1804
e un disco datiPD-SSD
. Per questa procedura devi utilizzare l'interfaccia a riga di comando o l'API REST.Sono disponibili due opzioni per eseguire l'upgrade della VM N1 a una VM N4:
Opzione 1: se la tua VM N1 utilizza l'interfaccia di rete
VirtIO
, devi creare una nuova VM N4. N4 supporta solo l'interfaccia di retegvnic
e i dischi Hyperdisk Balanced. Crea uno snapshot dei dischi di avvio e dati Persistent Disk, crea dischi Hyperdisk bilanciati da questi snapshot, collega i dischi Hyperdisk bilanciati e crea la nuova VM N4 con i dischi Hyperdisk bilanciati.Puoi anche scegliere di creare un nuovo disco di avvio Hyperdisk bilanciato utilizzando una versione più recente del sistema operativo Ubuntu. In questo scenario, puoi creare un nuovo disco Hyperdisk bilanciato dallo snapshot del disco di avvio, ma lo colleghi come disco non di avvio alla VM N4. Poi puoi copiare i dati non di sistema dallo snapshot ripristinato nel nuovo disco di avvio.
Opzione 2: se la tua VM N1 utilizza l'interfaccia di rete
gvnic
, il sistema operativo ha un driver del dispositivo di archiviazione NVMe, non ha SSD locali o GPU collegati e non fa parte di un gruppo di istanze gestite (MIG), puoi modificare il tipo di macchina da N1 a N4, ma devi comunque modificare i tipi di disco Persistent Disk in dischi Hyperdisk bilanciato. Devi prima scollegare i dischi di avvio e dati Persistent Disk, creare snapshot dei dischi, creare dischi Hyperdisk bilanciato utilizzando gli snapshot come origine, quindi collegare i nuovi dischi Hyperdisk bilanciato alla VM N4 dopo aver modificato il tipo di macchina. Se la VM ha GPU collegate, devi prima scollegarle.Il tempo necessario per creare lo snapshot di un disco dipende da diversi fattori, ad esempio il numero totale di TB su un disco. Ad esempio, se crei uno snapshot di un disco da 1 TB pieno all'85%, il completamento dello snapshot potrebbe richiedere 5 minuti. Tuttavia, se acquisisci uno snapshot di un disco da 100 TB pieno all'85%, il completamento dell'operazione potrebbe richiedere 11 minuti. Google consiglia di eseguire snapshot di test dei dischi prima di iniziare il processo di migrazione per capire quanto tempo richiede la creazione di snapshot.
gcloud
Opzione 1: crea una nuova VM N4 con dischi di cui è stato creato lo snapshot:
Opzione 2: esegui un upgrade in loco della macchina:
Questa opzione è disponibile solo se la VM N1 utilizza l'interfaccia di rete
gvnic
, il sistema operativo ha un driver del dispositivo di archiviazione NVMe, non ha dischi SSD locali o GPU collegati e non fa parte di un gruppo di istanze gestite (MIG). L'esecuzione di questa procedura con una VM N1 con un'interfaccia di reteVirtIO
genera un errore di incompatibilità della VM.REST
Opzione 1: crea una nuova VM N4 con dischi di cui è stato creato lo snapshot:
Opzione 2: esegui un upgrade in loco della macchina:
Questa opzione è disponibile solo se la VM N1 utilizza l'interfaccia di rete
gvnic
, non ha dischi SSD locali o GPU collegati e non fa parte di un gruppo di istanze gestite (MIG). L'esecuzione di questa procedura con una VM N1 con un'interfaccia di reteVirtIO
genera un errore di incompatibilità della VM.Esegui la pulizia
Dopo aver verificato di poterti connettere alla nuova VM e che il tuo workload venga eseguito come previsto sulla nuova VM, puoi rimuovere le risorse che non sono più necessarie:
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 2025-07-14 UTC.
-