Questo documento descrive come avviare e arrestare la replica asincrona.
La replica asincrona è utile per il disaster recovery con RPO e RTO bassi. Per saperne di più sulla replica asincrona, consulta Informazioni sulla replica asincrona.
Limitazioni
- Un disco primario può essere replicato in un solo disco secondario alla volta.
- Una volta interrotta la replica, non puoi riprenderla sullo stesso disco. Devi creare un nuovo disco secondario e riavviare la replica.
- I dischi secondari non possono essere collegati, eliminati o sottoposti a snapshot durante il processo di replica.
- Se utilizzi un disco a livello di regione come disco secondario e si verifica un'interruzione a livello di zona in una delle zone del disco secondario, la replica dal disco primario al disco secondario non riesce.
Prima di iniziare
- Se devi allineare la replica su più dischi, crea un gruppo di coerenza.
- Crea un disco primario.
- Crea un disco secondario.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso ad API e servizi Google Cloud . Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Seleziona la scheda relativa a come intendi utilizzare i campioni in questa pagina:
Console
Quando utilizzi la console Google Cloud per accedere ai servizi Google Cloud e alle API, non devi configurare l'autenticazione.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
- Imposta una regione e una zona predefinite.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Se utilizzi una shell locale, crea credenziali di autenticazione locali per il tuo account utente:
gcloud auth application-default login
Non è necessario eseguire questa operazione se utilizzi Cloud Shell.
Se viene restituito un errore di autenticazione e utilizzi un provider di identità (IdP) esterno, verifica di aver acceduto a gcloud CLI con la tua identità federata.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per saperne di più, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
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.
Installa Google Cloud CLI.
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni necessarie per avviare o arrestare la replica, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
Per connetterti a un'istanza a cui è collegato un account di servizio:
Service Account User (v1) (
roles/iam.serviceAccountUser)
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 avviare o arrestare la replica. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per avviare o arrestare la replica sono necessarie le seguenti autorizzazioni:
-
Per iniziare a replicare il disco di avvio di un'istanza a cui è collegato un account di servizio:
-
compute.disks.startAsyncReplication -
iam.serviceAccounts.actAssul account di servizio dell'istanza
-
-
Per avviare la replica di tutti gli altri dischi:
compute.disks.startAsyncReplication -
Per arrestare la replica per un singolo disco:
compute.disks.stopAsyncReplication -
Per interrompere la replica per tutti i dischi di un gruppo di coerenza:
compute.disks.stopGroupAsyncReplication
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Avvia replica
Avvia la replica utilizzando la console Google Cloud , Google Cloud CLI, REST o Terraform.
Console
Nella console Google Cloud , vai alla pagina Replicazione asincrona.
Fai clic sul nome del disco secondario su cui vuoi avviare la replica.
Fai clic su Avvia replica. Si apre la finestra Avvia replica.
Fai clic su Avvia replica.
gcloud
Avvia la replica utilizzando il
comando gcloud compute disks start-async-replication:
gcloud compute disks start-async-replication PRIMARY_DISK_NAME \
--PRIMARY_LOCATION_FLAG=PRIMARY_LOCATION \
--secondary-disk=SECONDARY_DISK_NAME \
--SECONDARY_LOCATION_FLAG=SECONDARY_LOCATION \
--secondary-disk-project=SECONDARY_PROJECT
Sostituisci quanto segue:
PRIMARY_DISK_NAME: il nome del disco primario.PRIMARY_LOCATION_FLAG: il flag di località per il disco primario. Per i dischi a livello di regione, utilizza--region. Per i dischi a livello di zona, utilizza--zone.PRIMARY_LOCATION: la regione o la zona del disco primario. Per i dischi a livello di regione, utilizza la regione. Per i dischi a livello di zona, utilizza la zona.SECONDARY_DISK_NAME: il nome del disco secondario.SECONDARY_LOCATION_FLAG: il flag di località per il disco secondario. Per i dischi a livello di regione, utilizza--secondary-disk-region. Per i dischi a livello di zona, utilizza--secondary-disk-zone.SECONDARY_LOCATION: la regione o la zona del disco secondario. Per i dischi a livello di regione, utilizza la regione. Per i dischi a livello di zona, utilizza la zona.SECONDARY_PROJECT: il progetto che contiene il disco secondario.
Go
Java
Node.js
Python
REST
Avvia la replica utilizzando uno dei seguenti metodi:
Avvia la replica per i dischi a livello di zona utilizzando il metodo
disks.startAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/zones/PRIMARY_LOCATION/disks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }Avvia la replica per i dischi a livello di regione utilizzando il metodo
regionDisks.startAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PRIMARY_DISK_PROJECT/regions/PRIMARY_LOCATION/regionDisks/PRIMARY_DISK_NAME/startAsyncReplication { "asyncSecondaryDisk": "projects/SECONDARY_DISK_PROJECT/SECONDARY_LOCATION_PARAMETER/SECONDARY_LOCATION/disks/SECONDARY_DISK_NAME" }
Sostituisci quanto segue:
PRIMARY_DISK_PROJECT: il progetto che contiene il disco primario.PRIMARY_LOCATION: la regione o la zona del disco primario. Per i dischi a livello di regione, utilizza la regione. Per i dischi a livello di zona, utilizza la zona.PRIMARY_DISK_NAME: il nome del disco primario.SECONDARY_DISK_PROJECT: il progetto che contiene il disco secondario.SECONDARY_LOCATION_PARAMETER: il parametro di località per il disco secondario. Per i dischi a livello di regione, utilizzaregions. Per i dischi a livello di zona, utilizzazones.SECONDARY_LOCATION: la regione o la zona del disco secondario. Per i dischi a livello di regione, utilizza la regione. Per i dischi a livello di zona, utilizza la zona.SECONDARY_DISK_NAME: il nome del disco secondario.
Terraform
Per avviare la replica tra i dischi primario e secondario, utilizza la risorsa compute_disk_async_replication.
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
Interrompi replica
Puoi interrompere la replica per un singolo disco primario o secondario oppure per tutti i dischi di un gruppo di coerenza. Se interrompi la replica per un singolo disco in un gruppo di coerenza, l'ora di replica per quel disco non sarà più sincronizzata con gli altri dischi del gruppo di coerenza.
L'interruzione della replica viene eseguita negli scenari di failover e failback. Se arresti la replica, non puoi riavviarla sullo stesso disco secondario. Se vuoi riavviare la replica, devi creare un nuovo disco secondario e ricominciare.
Quando arresti la replica su un disco, lo stato di replica del disco cambia in
STOPPED. Lo stato di replica dell'altro disco nella coppia di replica del disco (il disco primario o secondario corrispondente) viene aggiornato a STOPPED in un secondo momento. Se vuoi evitare il divario temporale e aggiornare immediatamente lo stato di replica dell'altro disco a STOPPED, devi interrompere manualmente la replica anche sull'altro disco. L'interruzione della replica su entrambi i dischi
non influisce sul momento in cui la replica si interrompe, ma solo
sugli stati di replica dei dischi.
Interrompere la replica per un singolo disco
Interrompi la replica per un singolo disco utilizzando la console Google Cloud , Google Cloud CLI o REST.
Console
Interrompi la replica nel seguente modo:
Nella console Google Cloud , vai alla pagina Replica asincrona.
Fai clic sul nome del disco primario o secondario per cui vuoi interrompere la replica. Si apre la pagina Gestisci disco.
Fai clic su Termina la replica. Viene aperta la finestra Termina replica.
Fai clic su Termina la replica.
gcloud
Arresta la replica utilizzando il
comando gcloud compute disks stop-async-replication:
gcloud compute disks stop-async-replication DISK_NAME \
--LOCATION_FLAG=LOCATION
Sostituisci quanto segue:
DISK_NAME: il nome del disco.LOCATION_FLAG: il flag di posizione del disco. Per un disco a livello di regione, utilizza--region. Per un disco a livello di zona, utilizza--zone.LOCATION: la regione o la zona del disco. Per i dischi a livello di regione, utilizza la regione. Per i dischi a livello di zona, utilizza la zona.
Go
Java
Node.js
Python
REST
Interrompi la replica utilizzando uno dei seguenti metodi:
Interrompi la replica per i dischi a livello di zona utilizzando il metodo
disks.stopAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/DISK_NAME/stopAsyncReplication { }Interrompi la replica per i dischi a livello di regione utilizzando il metodo
regionDisks.stopAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { }
Sostituisci quanto segue:
PROJECT: il progetto che contiene il disco.DISK_NAME: il nome del disco.LOCATION: la zona o la regione del disco. Per i dischi a livello di zona, utilizza la zona. Per i dischi a livello di regione, utilizza la regione.
Terraform
Per interrompere la replica sui dischi primario e secondario, rimuovi la risorsa compute_disk_async_replication.
Arresta la replica per un gruppo di coerenza
Interrompi la replica per tutti i dischi di un gruppo di coerenza utilizzando la consoleGoogle Cloud , Google Cloud CLI o REST.
Console
Interrompi la replica per tutti i dischi di un gruppo di coerenza nel seguente modo:
Nella console Google Cloud , vai alla pagina Replicazione asincrona.
Fai clic sulla scheda Gruppi di coerenza.
Fai clic sul nome del gruppo di coerenza per cui vuoi interrompere la replica. Viene visualizzata la pagina Gestisci gruppo di coerenza.
Fai clic su Termina la replica. Viene aperta la finestra Termina replica.
Fai clic su Termina la replica.
gcloud
Arresta la replica per tutti i dischi di un gruppo di coerenza utilizzando il
comando gcloud compute disks stop-group-async-replication:
gcloud compute disks stop-group-async-replication CONSISTENCY_GROUP \ --LOCATION_FLAG=LOCATION
Sostituisci quanto segue:
CONSISTENCY_GROUP: l'URL del gruppo di coerenza. Ad esempio,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.LOCATION_FLAG: il flag di posizione per i dischi nel gruppo di coerenza. Per i dischi a livello di regione, utilizza--region. Per i dischi a livello di zona, utilizza--zone.LOCATION: la regione o la zona del disco. Per i dischi a livello di regione, utilizza la regione. Per i dischi a livello di zona, utilizza la zona.
Go
Java
Node.js
Python
REST
Interrompi la replica per tutti i dischi di un gruppo di coerenza utilizzando uno dei seguenti metodi:
Interrompi la replica per i dischi a livello di zona utilizzando il metodo
disks.stopGroupAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/LOCATION/disks/stopGroupAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }Interrompi la replica per i dischi a livello di regione utilizzando il metodo
regionDisks.stopGroupAsyncReplication:POST https://compute.googleapis.com/compute/v1/projects/PROJECT/regions/LOCATION/regionDisks/DISK_NAME/stopAsyncReplication { "resourcePolicy": "CONSISTENCY_GROUP" }
Sostituisci quanto segue:
DISK_NAME: il nome del disco.LOCATION: la zona o la regione del disco. Per i dischi a livello di zona, utilizza la zona. Per i dischi a livello di regione, utilizza la regione.CONSISTENCY_GROUP: l'URL del gruppo di coerenza. Ad esempio,projects/PROJECT/regions/REGION/resourcePolicies/CONSISTENCY_GROUP_NAME.
Passaggi successivi
- Scopri come eseguire il failover e il failback.
- Scopri come monitorare il rendimento della replica asincrona.