Disco permanente regionale e Hyperdisk bilanciato con disponibilità elevata sono opzioni di archiviazione che ti consentono di implementare i servizi ad alta disponibilità (HA) in Compute Engine. Persistent Disk regionali e Hyperdisk con alta disponibilità bilanciata replicano in modo sincrono i dati tra due zone nella stessa regione e garantiscono l'alta disponibilità per i dati del disco in caso di un massimo di un errore circoscritto a una zona. Il disco sottoposto a replica sincrona può essere un disco di avvio o un disco non di avvio.
Questo documento spiega come eseguire le seguenti attività per i dischi replicati:
- Crea dischi replicati.
- Collega un disco replicato alla tua VM.
- Trasforma un disco zonale in un disco replicato.
- Crea una nuova VM con dischi replicati.
- Utilizza un disco replicato come disco di avvio per una nuova VM.
- Collega un disco di avvio replicato a una VM.
- Elenca e descrivi i dischi replicati.
- Ridimensiona un disco replicato.
Prima di iniziare
- Esamina le differenze tra i diversi tipi di opzioni di archiviazione su disco.
- Esamina le nozioni di base della replica sincrona dei dischi.
- Leggi ulteriori informazioni sul failover dei dischi replicati.
-
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.
- 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.
-
Amministratore istanze Compute (v1) (
roles/compute.instanceAdmin.v1
) -
Per connetterti a una VM che può essere eseguita come account di servizio:
Utente account di servizio (v1) (
roles/iam.serviceAccountUser
) -
compute.disks.create
-
compute.instances.attachDisk
-
compute.disks.use
-
Crea uno snapshot di un disco:
compute.disks.createSnapshot
-
Visualizza i dettagli di un disco:
compute.disks.get
-
Visualizza un elenco di dischi:
compute.disks.list
-
Modificare le dimensioni di un disco:
compute.disks.update
- Messico, Osaka e Montréal hanno tre zone in uno o due data center fisici. Poiché i dati archiviati in queste regioni possono andare persi nell'improbabile caso in cui i data center vengano distrutti, potresti prendere in considerazione il backup dei dati business-critical in una seconda regione per una protezione dei dati maggiore.
- È possibile collegare un disco permanente regionale solo alle macchine virtuali che utilizzano come machine family E2, N1, N2 e N2D.
- Puoi collegare Hyperdisk bilanciato con disponibilità elevata solo ai tipi di macchine supportati.
- Non puoi creare un Persistent Disk di una regione da un'immagine o da un disco creato da un'immagine.
- Quando utilizzi la modalità di sola lettura, puoi collegare un Persistent Disk bilanciato regionale a un massimo di 10 istanze VM.
- La dimensione minima di un Persistent Disk standard regionale è 200 GiB.
- Puoi solo aumentare le dimensioni di un disco Persistent Disk o volume Hyperdisk bilanciato ad alta disponibilità; non puoi ridurle.
- I volumi Hyperdisk e disco permanente regionale con disponibilità elevata bilanciata hanno caratteristiche di prestazioni diverse rispetto ai dischi zonali corrispondenti. Per ulteriori informazioni, consulta Rendimento dello spazio di archiviazione a blocchi.
- Non puoi utilizzare un volume Hyperdisk bilanciato con disponibilità elevata in modalità multi-writer come disco di avvio.
- Se crei un disco replicato clonando un disco a livello di zona, le due repliche a livello di zona non sono completamente sincronizzate al momento della creazione. Dopo la creazione, puoi utilizzare la copia del disco regionale in media entro 3 minuti. Tuttavia, potresti dover attendere decine di minuti prima che il disco raggiunga uno stato di replica completa e il Recovery Point Objective (RPO) sia vicino allo zero. Scopri come verificare se il disco replicato è completamente replicato.
- Crea una nuova VM con un disco di avvio replicato.
- Crea un disco di avvio replicato e collegalo a una VM:
- Crea un disco replicato da uno snapshot di un disco di avvio.
- Collega un disco di avvio replicato a una VM.
Nella console Google Cloud, vai alla pagina Dischi.
Seleziona il progetto richiesto.
Fai clic su Crea disco.
Specifica un nome per il disco.
Per Località, scegli Regionale.
Seleziona la Regione e la Zona. Devi selezionare la stessa regione quando crei la VM.
Seleziona la Zona replica nella stessa regione. Prendi nota delle zone selezionate perché devi collegare il disco alla VM in una di queste zone.
Seleziona il Tipo di disco di origine.
Seleziona Tipo di disco e Dimensioni.
Fai clic su Crea per completare la creazione del disco.
DISK_NAME
: il nome del nuovo discoDISK_SIZE
: le dimensioni, in GiB, del nuovo discoDISK_TYPE
: per i Persistent Disk regionali, si tratta del tipo del disco replicato. Il valore predefinito èpd-standard
. Per Hyperdisk, specifica il valorehyperdisk-balanced-high-availability
.REGION
: la regione in cui deve trovarsi il disco replicato, ad esempio:europe-west1
ZONE1
,ZONE2
: le zone all'interno della regione in cui si trovano le due repliche del disco, ad esempio:europe-west1-b,europe-west1-c
DISK_ACCESS_MODE
: facoltativo: come le VM possono accedere ai dati sul disco. I valori supportati sono:READ_WRITE_SINGLE
, per l'accesso in lettura e scrittura da una VM. Questa è l'impostazione predefinita.READ_WRITE_MANY
, per l'accesso in lettura e scrittura da più VM.
Puoi impostare la modalità di accesso solo per i dischi Hyperdisk bilanciati con disponibilità elevata.
PROJECT_ID
: il tuo ID progettoREGION
: la regione in cui deve trovarsi il disco replicato, ad esempio:europe-west1
DISK_NAME
: il nome del nuovo discoZONE1
,ZONE2
: le zone in cui devono trovarsi le repliche del nuovo discoDISK_SIZE
: le dimensioni, in GiB, del nuovo discoDISK_TYPE
: per i Persistent Disk regionali, si tratta del tipo di disco permanente. Per Hyperdisk, specifica il valorehyperdisk-balanced-high-availability
.DISK_ACCESS_MODE
: indica in che modo le VM possono accedere ai dati sul disco. I valori supportati sono:READ_WRITE_SINGLE
, per l'accesso in lettura e scrittura da una VM. Questa è l'impostazione predefinita.READ_WRITE_MANY
, per l'accesso in lettura e scrittura da più VM.
Puoi impostare la modalità di accesso solo per i dischi Hyperdisk bilanciati con disponibilità elevata.
Per collegare un disco a una VM, vai alla pagina Istanze VM.
Nella colonna Nome, fai clic sul nome della VM.
Fai clic su Modifica
.Fai clic su + Collega disco esistente.
Scegli il disco replicato creato in precedenza da aggiungere alla VM.
Se viene visualizzato un avviso che indica che il disco selezionato è già collegato a un'altra istanza, seleziona la casella Associa forzatamente il disco per associarlo forzatamente alla VM in modifica.
Esamina i casi d'uso per l'attacco forzato dei dischi replicati in Failover dei dischi replicati.
Fai clic su Salva.
Nella pagina Modifica VM, fai clic su Salva.
VM_NAME
: il nome della VM a cui aggiungi il disco replicatoDISK_NAME
: il nome del nuovo disco che colleghi alla VMPROJECT_ID
: il tuo ID progettoZONE
: la posizione della VMVM_NAME
: il nome della VM a cui aggiungi il nuovo disco replicatoREGION
: la regione in cui si trova il disco replicatoDISK_NAME
: il nome del disco replicato- PRIMARY_INSTANCE_NAME: un nome per la VM
- ZONE: il nome della zona in cui vuoi creare la VM
- REPLICATED_DISK_NAME: un nome per il disco replicato
- DISK_TYPE: il tipo di disco da creare, ad esempio
hyperdisk-balanced-high-availability
(Anteprima) opd-balanced
- SNAPSHOT_NAME: il nome dello snapshot che hai creato per il disco di avvio
- REMOTE_ZONE: la zona alternativa per il disco replicato
PROJECT_ID
: il tuo ID progettoZONE
: il nome della zona in cui vuoi creare la VMVM_NAME
: un nome per la VMBOOT_SNAPSHOT_NAME
: il nome dello snapshot del disco di avvioREMOTE_ZONE
: la zona remota per il disco replicatoDISK_TYPE
: il tipo di disco da creare, ad esempiohyperdisk-balanced-high-availability
(Anteprima) opd-balanced
- Sostituisci il disco di avvio di una VM esistente con un disco di avvio replicato.
- Esegui il failover di un disco di avvio replicato su una VM hot standby in esecuzione nella zona di backup. A tal fine, collega il disco replicato alla VM come disco di avvio.
- Arresta la VM.
gcloud compute instances stop VM_NAME --zone=ZONE
- Scollega il disco di avvio attuale dalla VM.
gcloud compute instances detach-disk VM_NAME \ --zone=ZONE --disk=CURRENT_BOOT_DEVICE_NAME
- Collega il disco di avvio replicato alla VM.
gcloud compute instances attach-disk VM_NAME \ --zone=ZONE \ --disk=REPLICATED_DISK_NAME \ --disk-scope=regional --force-attach \ --boot
Riavvia la VM.
gcloud compute instances start VM_NAME
VM_NAME
: il nome della VM a cui vuoi collegare il disco di avvio replicatoZONE
: la zona in cui si trova la VMCURRENT_BOOT_DEVICE_NAME
: il nome del disco di avvio utilizzato dalla VM. Di solito corrisponde al nome della VM.REPLICATED_DISK_NAME
: il nome del disco replicato che vuoi collegare alla VM come disco di avvioArresta la VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/stop
Scollega il disco di avvio attuale dalla VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/detachDisk?deviceName=CURRENT_BOOT_DEVICE_NAME
Collega il disco di avvio replicato alla VM.
Crea una richiesta
POST
al metodocompute.instances.attachDisk
e includi l'URL del disco di avvio replicato:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk { "source": "compute/v1/projects/PROJECT_ID/regions/REGION/disks/REPLICATED_DISK_NAME", "boot": true }
Riavvia la VM.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/start
PROJECT_ID
: il tuo ID progettoVM_NAME
: il nome della VM a cui vuoi collegare il disco replicatoZONE
: la zona in cui si trova la VMCURRENT_BOOT_DEVICE_NAME
: il nome del disco di avvio utilizzato dalla VM. Di solito corrisponde al nome della VM.REGION
: la regione in cui si trova il disco replicatoREPLICATED_DISK_NAME
: il nome del disco replicato che vuoi collegare alla VM come disco di avvio- ID disco
- Nome disco
- Dimensioni
- Tipo di disco
- Regione
- Repliche zonali
- Per visualizzare i dettagli di tutti i dischi replicati in una regione e un progetto specifici:
- Crea una richiesta
GET
al metodocompute.regionDisks.list
. - Utilizza il comando
gcloud compute disks list
e filtra i risultati per regione.
- Crea una richiesta
- Per visualizzare i dettagli di un disco replicato specifico:
- Esegui il comando
gcloud compute disks describe
con il flag--region
e specifica il nome del disco e la relativa regione. - Crea una richiesta
GET
al metodocompute.regionDisks.get
.
- Esegui il comando
- Disco permanente regionale: aumentare le dimensioni di un disco permanente
- Hyperdisk bilanciato con disponibilità elevata: Modifica un volume Hyperdisk
- Scopri i prezzi dei dischi.
- Scopri come monitorare gli stati delle repliche dei dischi replicati.
- Scopri come determinare lo stato di replicazione di un disco replicato.
- Consulta Condividere volumi dei dischi permanenti tra VM come alternativa ai dischi permanenti regionali per i dati di sola lettura.
- Crea uno snapshot di un disco.
- Scopri di più sui gruppi di istanze per le istanze VM.
- Scopri come creare applicazioni web scalabili e resilienti su Google Cloud.
- Consulta la guida alla pianificazione del ripristino di emergenza di Google Cloud.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza 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.
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 saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per creare un disco con replica sincrona, 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 creare un disco con replica sincrona. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare un disco con replica sincrona sono necessarie le seguenti autorizzazioni:
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Limitazioni
Informazioni sull'utilizzo di un disco replicato come disco di avvio per una VM
Puoi collegare un I dischi di avvio replicati non sono destinati allo standby caldo, poiché non possono essere collegati contemporaneamente a due VM.
Puoi creare solo volumi Hyperdisk bilanciati ad alta disponibilità o dischi permanenti regionali dagli snapshot. Non è possibile creare un disco replicato da un'immagine.
Per utilizzare un disco replicato come disco di avvio della VM, utilizza uno dei seguenti metodi:
Se devi eseguire il failover di un disco di avvio replicato a una VM di standby in esecuzione nella zona di replica, segui i passaggi descritti in Collegare un disco di avvio replicato a una VM.
Crea un disco con replica sincrona
Crea un volume Hyperdisk bilanciato con disponibilità elevata (anteprima) o un volume regionale del Persistent Disk. Il disco deve trovarsi nella stessa regione della VM a cui prevedi di collegarlo.
Se crei un volume Hyperdisk bilanciato con disponibilità elevata, puoi anche consentire a diverse VM di accedere contemporaneamente al disco impostando la modalità di accesso al disco. Per maggiori informazioni, vedi Condividere un disco tra VM.
Per Persistent Disk a livello di area geografica, se crei un disco nella console Google Cloud, il tipo di disco predefinito èpd-balanced
. Se crei un disco utilizzando gcloud CLI o REST, il tipo di disco predefinito èpd-standard
.Console
gcloud
Crea un disco con replica sincrona utilizzando il comando
compute disks create
.Se hai bisogno di un disco permanente SSD regionale per un throughput o IOPS aggiuntivi, includi il flag
--type
e specificapd-ssd
.gcloud compute disks create DISK_NAME \ --size=DISK_SIZE \ --type=DISK_TYPE \ --region=REGION \ --replica-zones=ZONE1,ZONE2 --access-mode=DISK_ACCESS_MODE
Sostituisci quanto segue:
Terraform
Per creare un Persistent Disk regionale o un volume Hyperdisk con disponibilità elevata bilanciata, puoi utilizzare la
google_compute_region_disk
risorsa.REST
Per creare un Persistent Disk regionale o un volume Hyperdisk bilanciato con disponibilità elevata, costruisci una richiesta
POST
al metodocompute.regionDisks.insert
.Per creare un disco vuoto, non specificare un'origine dello snapshot.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/disks { "name": "DISK_NAME", "region": "projects/PROJECT_ID/regions/REGION", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE1", "projects/PROJECT_ID/zones/ZONE2" ], "sizeGb": "DISK_SIZE", "type": "projects/PROJECT_ID/regions/REGION/diskTypes/DISK_TYPE", "accessMode": "DISK_ACCESS_MODE" }
Sostituisci quanto segue:
Collega un disco replicato alla VM
Per i dischi che non sono dischi di avvio, dopo aver creato un volume Hyperdisk bilanciato ad alta disponibilità (anteprima), puoi collegarlo a una VM. La VM deve trovarsi nella stessa regione del disco.
Per collegare un disco di avvio replicato a una VM, consulta Collegare un disco di avvio replicato a una VM.
Per collegare un disco a più VM, ripeti la procedura descritta in questa sezione per ogni VM.
Console
gcloud
Per collegare un disco replicato a una VM in esecuzione o arrestata, utilizza il comando
compute instances attach-disk
con il flag--disk-scope
impostato suregional
.gcloud compute instances attach-disk VM_NAME \ --disk=DISK_NAME \ --disk-scope=regional
Sostituisci quanto segue:
Terraform
Per collegare un volume di Persistent Disk regionale o Hyperdisk ad alta disponibilità bilanciata a una VM, puoi utilizzare la
google_compute_attached_disk
risorsa.REST
Per collegare un disco replicato a una VM in esecuzione o arrestata, costruisci una richiesta
POST
al metodocompute.instances.attachDisk
e includi l'URL del disco replicato che hai creato.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME/attachDisk { "source": "/projects/PROJECT_ID/regions/REGION/disks/DISK_NAME" }
Sostituisci quanto segue:
Per i dischi non di avvio, dopo aver creato e collegato un disco replicato vuoto a una VM, devi formattare e montare il disco, in modo che il sistema operativo possa utilizzare lo spazio di archiviazione disponibile.
Passare da un disco zonale a un disco replicato
Per convertire un Persistent Disk a livello di zona esistente in un disco permanente a livello di regione, crea un nuovo disco clonando un disco a livello di zona esistente. Per ulteriori informazioni, consulta Creare una copia di un disco regionale da un disco zonale.Per convertire un Hyperdisk in un disco con replica sincrona, crea un nuovo disco Hyperdisk bilanciato con disponibilità elevata da uno snapshot del disco esistente, come descritto in Modificare il tipo di disco.
Creare una nuova VM con dischi replicati
Quando crei una VM, puoi includere facoltativamente i volumi Hyperdisk con disponibilità elevata bilanciata o Persistent Disk a livello di regione (anteprima) come dischi aggiuntivi.
Per creare e collegare un Persistent Disk regionale o un volume Hyperdisk ad alta disponibilità bilanciata a una VM durante la creazione della VM, consulta una delle seguenti risorse:
Creare una nuova VM con un disco di avvio replicato
Quando configuri un'istanza VM ad alta disponibilità, puoi creare la VM principale con un disco di avvio replicato. In caso di interruzione zonale, puoi riavviare la VM nella zona secondaria anziché creare una nuova VM.
In una configurazione ad alta disponibilità, in cui il dispositivo di avvio è un disco replicato, Google consiglia di non creare e avviare in anticipo l'istanza in standby. Al contrario, nella fase di failover, associa il disco replicato esistente quando crei l'istanza di standby utilizzando l'opzione
forceAttach
.Per creare una VM con un disco di avvio che è un disco replicato, utilizza uno dei seguenti metodi:
gcloud
Utilizza il comando
gcloud compute instances create
per creare una VM e il flag--create-disk
per specificare il disco replicato.gcloud compute instances create PRIMARY_INSTANCE_NAME \ --zone=ZONE \ --create-disk=^:^name=REPLICATED_DISK_NAME:scope=regional:boot=true:type=DISK_TYPE:source-snapshot=SNAPSHOT_NAME:replica-zones=ZONE,REMOTE_ZONE
Quando specifichi i parametri del disco, i caratteri
^:^
specificano che il carattere di separazione tra i parametri è due punti (:
). Questo ti consente di utilizzare una virgola (,
) quando specifichi il parametro replica-zones.Sostituisci quanto segue:
REST
Crea una richiesta
POST
al metodoinstances.insert
e specifica le proprietàboot: 'true'
ereplicaZones
. Ad esempio:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances { "name": "VM_NAME", "disks": [{ "boot": true, "initializeParams": { "sourceSnapshot": "global/snapshots/BOOT_SNAPSHOT_NAME", "replicaZones": [ "projects/PROJECT_ID/zones/ZONE", "projects/PROJECT_ID/zones/REMOTE_ZONE" ], "diskType": "projects/PROJECT_ID/zones/ZONE/diskTypes/DISK_TYPE" } }], "networkInterfaces": [ { "network": "global/networks/default" } ] }
Sostituisci quanto segue:
Collega un disco di avvio replicato a una VM
Procedi nel seguente modo per:
Questi passaggi presuppongono che il disco e la VM replicati esistano già.
gcloud
Sostituisci le variabili nei comandi precedenti con quanto segue:
(Facoltativo) Se non riesci a scollegare il disco di avvio replicato dalla VM principale a causa di un'interruzione o di un errore, includi il flag
--force-attach
.REST
Sostituisci le variabili nei comandi precedenti con quanto segue:
(Facoltativo) Se non riesci a scollegare correttamente il disco di avvio replicato dalla VM a cui era originariamente collegato a causa di un'interruzione o un errore, includi
"forceAttach": true
nel corpo della richiesta.Elenca e descrivi i dischi replicati
Puoi visualizzare un elenco di tutti i dischi replicati configurati e informazioni sulle relative proprietà, tra cui:
Per visualizzare informazioni dettagliate sui dischi replicati, utilizza quanto segue:
Ridimensionare un disco replicato
Se le VM con dischi replicati in modo sincrono richiedono ulteriore spazio di archiviazione, puoi ridimensionare i dischi. Puoi ridimensionare i dischi in qualsiasi momento, indipendentemente dal fatto che siano collegati a una VM in esecuzione. Se devi separare i dati in volumi univoci, crea più dischi secondari per la VM. Per Hyperdisk bilanciato con disponibilità elevata puoi anche aumentare i limiti di IOPS e throughput per il disco.
Il comando per ridimensionare un disco replicato è molto simile a quello per ridimensionare un disco non replicato. Tuttavia, devi specificare una regione anziché una zona per la posizione del disco.
Puoi solo aumentare, non diminuire, le dimensioni di un disco. Per ridurre le dimensioni del disco, devi creare un nuovo disco di dimensioni inferiori. Fino a quando non elimini il disco originale più grande, ti verranno addebitati entrambi i dischi.
Per istruzioni su come modificare un disco replicato, consulta quanto segue:
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-11-28 UTC.
-