In determinate situazioni, potresti voler spostare il tuo carico di lavoro da un'istanza di macchina virtuale (VM) esistente a una VM più recente. Ecco alcuni motivi per passare a una nuova VM:
- 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 maggiore larghezza di banda di rete.
- Usufruisci di un rapporto prezzo/prestazioni migliore 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 nella nuova istanza VM. Ad esempio, l'upgrade da N4 a C4 per usufruire di opzioni aggiuntive per le prestazioni e la manutenzione.
- Passare da un'istanza di macchina virtuale (VM) a 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 calcolo se la VM attuale (di origine) soddisfa le seguenti condizioni:
- La versione del sistema operativo (OS) è 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 lo spazio di archiviazione SSD locale.
- La VM con le GPU collegate utilizza un tipo di macchina G2. Per maggiori dettagli, vedi Aggiungere o rimuovere GPU .
- La VM utilizza solo le funzionalità supportate dalla nuova serie di macchine.
- La VM non fa parte di un gruppo di istanze gestite (MIG).
- La VM utilizza l'interfaccia di rete gVNIC.
Prima di iniziare
-
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:
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.
-
Amministratore istanze Compute (v1) (
roles/compute.admin.v1
) -
Per modificare il tipo di rete:
Amministratore rete Compute Engine (
roles/compute.networkAdmin
) -
Per cambiare il tipo di macchina:
-
compute.instances.stop
sul progetto -
compute.instances.create
sul progetto -
compute.instances.start
sul progetto -
compute.instances.setMachineType
nell'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
nell'istanza -
compute.disks.use
sul disco
-
-
Per eliminare un disco:
compute.disks.delete
nel progetto -
Per apportare modifiche al tipo di rete:
-
compute.networks.list
sul progetto -
compute.networks.update
sul progetto
-
- Consulta la documentazione della risorsa relativa alla famiglia di macchine per identificare i tipi di macchine adatti al tuo carico di lavoro. 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, ma non tutte, delle funzionalità di Persistent Disk sono supportate da Hyperdisk. Tuttavia, Hyperdisk offre funzionalità aggiuntive non disponibili con Persistent Disk.
- Esamina le funzionalità della serie di macchine che ti interessa. La nuova serie di macchine potrebbe non supportare le stesse funzionalità che utilizzi con la tua attuale serie di macchine, ad esempio tipi di macchine personalizzate, SSD locale o VM isolate.
- Esamina le regioni e le zone per assicurarti che la nuova serie di macchine sia disponibile in tutte le regioni come la VM attuale. Potresti dover modificare i piani di implementazione, di alta disponibilità e di 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 stai passando ad Arm e un'immagine Arm non è disponibile per la tua versione corrente del sistema operativo, scegli un nuovo sistema operativo o una versione del sistema operativo su cui eseguire le tue applicazioni e verifica che le tue 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 passi 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 e le interfacce di archiviazione supportati 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 3ª 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 (come C3 e X4) supportano solo Hyperdisk.
- Compatibilità dei dischi:
- 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 stai eseguendo l'upgrade del sistema operativo a una nuova versione e il sistema operativo non supporta gli upgrade in place, devi creare un nuovo disco di avvio. Tutti i dati sul disco di avvio di origine andranno persi, a meno che non li copi su un disco non di avvio temporaneo. Quindi, crea un nuovo disco di avvio e copia i dati archiviati sul disco non di avvio temporaneo sul nuovo disco di avvio.
- Se non esegui l'upgrade della versione del sistema operativo, puoi acquisire uno snapshot del tuo attuale disco di avvio 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 sufficientemente grande da archiviare tutti i dati dell'unità SSD locale alla tua VM attuale e poi utilizzare uno snapshot per cambiare il disco di origine in un nuovo tipo di disco, come descritto in Modificare il tipo di disco. Dopo aver creato una VM con dischi SSD locali collegati, puoi copiare nuovamente i dati sui dischi SSD locali.
- Se la tua istanza VM attuale utilizza i dischi in un pool di archiviazione, ma stai spostando il workload in una VM in un'altra regione, devi ricreare i dischi e il pool di archiviazione nella nuova regione.
- Se la nuova serie di macchine utilizza un'interfaccia di disco diversa (ad esempio NVMe instead of SCSI), i nomi dei dispositivi di disco nel sistema operativo guest sono diversi. Assicurati che le applicazioni e gli script utilizzino nomi di dispositivi permanenti o link 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 mantenere gli indirizzi IP assegnati. In questo caso, devi promuovere gli indirizzi IP in indirizzi IP statici.
Se utilizzi le prestazioni di networking Tier_1 per VM con la tua VM attuale, assicurati che sia disponibile o necessaria con la nuova serie di macchine. Ad esempio, puoi utilizzare la rete Tier_1 con un tipo di macchina C2, ma non è necessaria con una VM H3.
- Richiedi quota nella regione e nelle zone in cui hai intenzione di spostare le risorse. Se hai già una quota 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 della macchina siano disponibili nella nuova regione e nelle nuove zone. Assicurati di comprendere come vengono consumate le risorse riservate e verifica di poterle consumare.
- Estendi i tuoi piani di alta disponibilità e di ripristino di emergenza per includere la nuova regione.
- Se necessario, esegui l'upgrade del sistema operativo sulla VM corrente.
- Se supportato dal fornitore del sistema operativo, esegui un upgrade in situ del sistema operativo a una versione supportata dalla nuova serie di macchine e verifica che il tuo carico di lavoro funzioni come previsto nella nuova versione del sistema operativo.
- Se l'upgrade in situ del sistema operativo non è supportato, quando crei una nuova VM devi creare un nuovo disco di avvio. Determina le informazioni che 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 tua VM attuale:
- Per i tipi di macchine di prima e seconda generazione, consulta Aggiungere spazio di archiviazione su disco permanente alla VM.
- Per i tipi di macchine di terza generazione e successive, consulta Aggiungere 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
venga fornito dal drivervirtio-pci
(VirtIO Net), impedendo al drivergve
(gVNIC) di fornire questa interfaccia. Ciò potrebbe causare problemi di connettività e script di avvio della rete nella nuova istanza: - Sui sistemi Linux, testa le applicazioni e gli script aggiornati per assicurarti che funzionino con nomi di dispositivi persistenti o link 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 eventuali snapshot o 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, potrebbe essere necessario aggiornare gli script di deployment o i modelli di istanze 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 per la creazione delle nuove VM:
- Crea uno snapshot del disco di avvio pd-standard della 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 dischi supportati sia dalla VM attuale sia dalla nuova VM, crea un disco temporaneo utilizzando un tipo di disco supportato dalla VM attuale.
- Collega il nuovo disco alla VM corrente, 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 eventuali dischi collegati alla VM attuale che utilizzano un tipo di disco non supportato dalla nuova VM. Per spostare i dati dei dischi su nuovi dischi, crea snapshot dei dischi. In alternativa, puoi trasferire file da una VM all'altra.
- Puoi acquisire gli snapshot mentre la VM è in esecuzione, ma i dati scritti sui dischi dopo l'acquisizione dello snapshot non vengono acquisiti. Poiché gli snapshot sono incrementali, puoi acquisire un secondo snapshot dopo aver arrestato la VM per acquisire tutte le modifiche più recenti. Questo approccio dovrebbe ridurre al minimo il tempo di indisponibilità della VM durante il passaggio a una nuova VM.
- In alternativa, puoi acquisire tutti gli snapshot dei dischi 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 eventuali dischi temporanei contenenti i dati dell'unità SSD locale copiata.
- Il tempo necessario per acquisire lo snapshot di un disco dipende da diversi fattori, come le dimensioni del disco e la quantità di dati in esso contenuti. Ad esempio, se acquisisci uno snapshot di un disco da 1 TiB occupato all'85%, il completamento dello snapshot potrebbe richiedere 5 minuti. Tuttavia, se esegui uno snapshot di un disco da 100 TiB occupato all'85%, l'operazione potrebbe richiedere 11 minuti. Ti consigliamo di eseguire snapshot di prova dei dischi prima di avviare la procedura di migrazione per capire quanto tempo richiede l'operazione.
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 VM.
- Esegui 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 tua 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 Compute Engine per comprendere i passaggi da seguire per creare una nuova istanza.
- Se stai creando una VM in una nuova regione, crea una rete VPC e le relative subnet nella nuova regione.
- Se hai configurato conteggi delle code NIC personalizzate, consulta Allocazioni delle code e modifica del tipo di macchina.
- Se vuoi mantenere gli indirizzi IP utilizzati dalla VM di origine, esegui la promozione degli indirizzi IP a indirizzi IP statici.
- Annullare 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 dischi supportati per il disco di avvio, ad esempio Hyperdisk Balanced.
- 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 calcolo utilizzando un'immagine pubblica o un'immagine personalizzata configurata per l'utilizzo di 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 creata in precedenza.
- Seleziona un tipo di disco supportato per il disco di avvio.
- Se hai creato nuovi dischi dagli snapshot dei dischi originali, includili.
- Specifica la nuova rete VPC, se crei 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 scollegati 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 uguale a quella del disco originale.
- Se la VM originale utilizzava un criterio della risorsa per i dischi ricreati per la nuova VM, devi aggiungere il criterio della risorsa ai nuovi dischi.
- Se hai creato la nuova VM utilizzando un'immagine del sistema operativo pubblico e non un'immagine personalizzata, procedi nel seguente modo:
- Configura gli utenti, i driver, i pacchetti e le directory dei file necessari sulla nuova istanza per supportare il tuo carico di lavoro.
- Installa le applicazioni e i programmi modificati sulla nuova VM. Se necessario, ricompila i programmi sul nuovo sistema operativo o sull'architettura.
- (Facoltativo) Se hai spostato i contenuti dei dischi SSD locali su un disco temporaneo e la nuova VM ha uno spazio di archiviazione SSD locale collegato, dopo aver formattato e montato i dischi, puoi spostare i dati dal disco temporaneo ai dischi SSD locali.
- Riassegna gli eventuali indirizzi IP statici associati alla VM di origine alla nuova VM.
- Completa le eventuali attività aggiuntive necessarie per rendere la nuova VM altamente disponibile, ad esempio la configurazione dei bilanciatori del carico e l'aggiornamento delle regole di inoltro.
- (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, compila di nuovo 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 VMn1-standard-8
corrente.ZONE
: la zona in cui si trova la VM.
Crea snapshot dei dischi. Utilizza 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 da 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 dati ripetendo il passaggio precedente e specificando le informazioni del disco 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 di cui è stato eseguito lo 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 (esempio:3600
). - (Facoltativo)
PROVISIONED_THROUGHPUT
: il rendimento in termini di throughput per il provisioning del disco (esempio:290
).
Ripeti il passaggio precedente per ogni disco di cui è stato eseguito lo snapshot.
Crea la VM
n4-standard-8
e collega i dischi Hyperdisk bilanciati 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 Balanced che hai creato dal disco dello snapshot di origine collegato alla VMn1-standard-8
.
Avvia la VM
n4-standard-8
utilizzando 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 degli avviamenti e dei dischi di 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 VMn1-standard-8
corrente.
Crea snapshot dei dischi utilizzando il metodo disks.createSnapshot per creare uno snapshot sia del disco di avvio del 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 con 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 vuoi creare uno 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 il
name
del disco di avvio Hyperdisk bilanciato e una seconda volta per includere ilname
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 eventuali 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 con il discopd-ssd
collegato.DISK_NAME
: il disco che vuoi scollegare.
Esegui lo snapshot dei dischi. Utilizza il metodo disks.createSnapshot per creare uno snapshot sia del disco di avvio del Persistent Disk sia dei dischi dati collegati all'istanza.
Crea un disco di avvio e dati Hyperdisk Balanced utilizzando il metodo disks.insert. Includi il
name
del disco Hyperdisk Balanced,sourceSnapshot
per il nuovo disco Hyperdisk Balanced, iltype
del disco, Hyperdisk Balanced esizeGB
del disco nel corpo della richiesta.Esegui un upgrade in situ del tipo di macchina utilizzando il metodo instances.setMachineType includere
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 di cui eseguire l'upgrade.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 bilanciati 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 con il discopd-ssd
collegato.DISK_NAME
Il disco che vuoi allegare.
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 che hai creato per i dischi collegati alla VM di origine.
- Eventuali pianificazioni degli 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.
- Leggi la sezione 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 dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per modificare o cambiare una VM, chiedi all'amministratore di concederti i seguenti ruoli IAM nel progetto:
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per modificare o cambiare una VM. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
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.
Valutare 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 della nuova serie di macchine.
Requisiti di calcolo
Esamina i seguenti requisiti per l'istanza attuale e il nuovo tipo di macchina:
Requisiti di spazio di archiviazione
Esamina i seguenti requisiti di spazio di archiviazione per l'istanza attuale e per 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 VM corrente, utilizza il comando
gcloud compute instances describe
per visualizzarenic-type
della VM:gcloud compute instances describe VM_NAME --zone=ZONE
Se per la VM è impostato
nic-type
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 prepararti 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 calcolo
Per prepararti al trasferimento dell'istanza attuale a 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 dei dischi collegati all'istanza attuale in una nuova istanza:
Prepara le risorse di rete
Completa i seguenti passaggi per aggiornare la configurazione di rete utilizzata dalla tua istanza attuale in modo da supportare la nuova istanza:
Prepara il sistema operativo SUSE Enterprise Linux Server
Per evitare dipendenze specifiche dell'hardware, ricostruisci
initramfs
(filesystem della RAM iniziale). Sono inclusi una gamma più ampia di driver e moduli, che rendono 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 il seguente comando come utente root per ricostruire
initramfs
con tutti i driver:sudo dracut --force --no-hostonly
Sposta il carico di lavoro nella nuova VM
Dopo aver preparato le VM per la migrazione, il passaggio successivo consiste nel trasferire il carico di lavoro alla nuova VM.
Se stai spostando le VM dalla serie di macchine di prima generazione a quella di seconda generazione, leggi le istruzioni nella pagina Modificare il tipo di macchina di una VM. Se vuoi modificare il nome di una 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 carico di lavoro 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 carichi di lavoro 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) a quelle di terza generazione o 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 completare la configurazione della nuova istanza e copiare tutti i dati dall'istanza di origine.
Se riscontri problemi durante lo spostamento del tuo carico di lavoro, contatta il tuo Technical Account Manager (TAM) o la Professional Services Organization (PSO) di Google 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
su cui è in esecuzione un'immagineUbuntu1804
e un disco datiPD-SSD
. Per questa procedura devi utilizzare l'interfaccia a riga di comando o l'API REST.Esistono due opzioni per eseguire l'upgrade della VM N1 a una VM N4:
Opzione 1: se la 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 bilanciati. Crea uno snapshot dei dischi di avvio e di dati dei dischi Persistent Disk, crea i 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 dall'snapshot del disco di avvio, ma collegarlo come disco non di avvio alla VM N4. Dopodiché puoi copiare i dati non di sistema dallo snapshot ripristinato al nuovo disco di avvio.
Opzione 2: se la VM N1 utilizza l'interfaccia di rete
gvnic
, il sistema operativo ha un driver per dispositivi di archiviazione NVMe, non ha dischi SSD locali o GPU collegati e non fa parte di un gruppo di istanze gestite (MIG), puoi cambiare il tipo di macchina da N1 a N4, ma devi comunque cambiare i tipi di dischi di Persistent Disk in dischi Hyperdisk bilanciati. Devi prima scollegare i dischi di avvio e di dati di Persistent Disk, creare snapshot dei dischi, creare dischi Hyperdisk bilanciati utilizzando gli snapshot come origine e poi collegare i nuovi dischi Hyperdisk bilanciati alla VM N4 dopo aver modificato il tipo di macchina. Se alla VM sono collegate GPU, devi prima scollegarle.Il tempo necessario per acquisire lo snapshot di un disco dipende da diversi fattori, ad esempio dal numero totale di TB su un disco. Ad esempio, se acquisisci uno snapshot di un disco da 1 TB completamente occupato all'85%, il completamento dello snapshot potrebbe richiedere 5 minuti. Tuttavia, se acquisisci uno snapshot di un disco da 100 TB occupato all'85%, l'operazione potrebbe richiedere 11 minuti. Google consiglia di eseguire snapshot di prova dei dischi prima di avviare la procedura di migrazione per capire quanto tempo richiede l'operazione.
gcloud
Opzione 1: crea una nuova VM N4 con i dischi di cui sono stati acquisiti gli snapshot:
Opzione 2: esegui un upgrade in situ della macchina:
Questa opzione è disponibile solo se la VM N1 utilizza l'interfaccia di rete
gvnic
, il sistema operativo dispone di un driver per dispositivi di archiviazione NVMe, non ha GPU o unità SSD locali collegate 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 i dischi di cui sono stati acquisiti gli snapshot:
Opzione 2: esegui un upgrade in situ della macchina:
Questa opzione è disponibile solo se la VM N1 utilizza l'interfaccia di rete
gvnic
, non ha GPU o unità SSD locali collegate 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 sia in esecuzione come previsto, puoi rimuovere le risorse non 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 2024-12-22 UTC.
-