La migrazione avanzata è una soluzione per la migrazione dei dati per database di grandi dimensioni con tempi di inattività ridotti. Questa funzionalità è disponibile solo per AlloyDB Omni e PostgreSQL.
Un utente con il ruolo Amministratore DB progetto deve eseguire i seguenti passaggi. Utilizza la console GDC o Distributed Cloud CLI per gestire le migrazioni:
Console
- Nel menu principale, scegli Database Service.
- Fai clic su Crea migrazione.
- Nella finestra di dialogo Inizia, esamina i requisiti per l'origine e la connettività.
- Nella finestra di dialogo Specifica il database di origine, specifica il nome host o l'indirizzo IP, il nome utente, la password, il tipo di crittografia e il certificato del database di origine.
- Nella finestra di dialogo Configura il cluster, specifica l'ID cluster, la password, la versione del database, la CPU, la memoria e la capacità di archiviazione del cluster di database di destinazione. Assicurati di scegliere una memoria sufficiente per contenere la tabella più grande.
- Fai clic su Crea. La creazione del cluster di database di migrazione e di destinazione può richiedere alcuni minuti.
Lo stato cambia da
Reconciling
aReady
quando il cluster è pronto. Lo stato della migrazione diventaUnsynced
quando la migrazione viene configurata correttamente. Utilizza le seguenti opzioni per gestire la migrazione:- Avvia: avvia la migrazione e cambia lo stato della migrazione in
Running
. - Interrompi: interrompe la migrazione e modifica il relativo stato in
Stopped
. - Promuovi: promuove il cluster di database di destinazione a un database autonomo.
- Elimina: questa operazione elimina la migrazione e il cluster di database di destinazione creato per questa migrazione.
- Avvia: avvia la migrazione e cambia lo stato della migrazione in
Ruota periodicamente la password dell'utente di replica del database di origine seguendo questi passaggi:
- Vai a Database di origine e fai clic su Modifica Modifica.
- Apporta le modifiche per ruotare la password dell'utente di replica.
- Fai clic su Salva per applicare le modifiche.
Una volta applicata la modifica, il backend della migrazione utilizza la nuova password.
gdcloud
Prima di utilizzare Distributed Cloud CLI, installala e inizializzala. Poi, autenticati con la tua organizzazione.
Crea una migrazione:
gdcloud database connection-profiles create DB_ENGINE_TYPE SOURCE_CONNECTION_PROFILE \ --username REPLICATION_USERNAME \ --password REPLICATION_PASSWORD \ --ca-certificate CA_CERT_FILE_PATH gdcloud database migrations create MIGRATION_NAME \ --source SOURCE_CONNECTION_PROFILE \ --destination DESTINATION_DBCLUSTER gdcloud database clusters create DESTINATION_DBCLUSTER \ --database-version DB_VERSION \ --admin-password ADMIN_PASSWORD
Sostituisci le seguenti variabili:
DB_ENGINE_TYPE
, il tipo di motore del database per la migrazione. I valori supportati sono:postgresql
oalloydbomni
SOURCE_CONNECTION_PROFILE
, il nome del nuovo profilo di connessione.REPLICATION_USERNAME
, il nome dell'utente di replica del database di origine.REPLICATION_PASSWORD
, la password dell'utente di replica del database di origine.CA_CERT_FILE_PATH
, il percorso del certificato CA del database di origine.MIGRATION_NAME
, il nome della nuova migrazione.DESTINATION_DBCLUSTER
, il nome del cluster di database di destinazione.DB_VERSION
, la stringa di versione per il nuovo cluster. Ad esempio,POSTGRESQL_13
.ADMIN_PASSWORD
, la password dell'utente amministratore per il nuovo cluster.
Avvia una migrazione:
gdcloud database migrations start MIGRATION_NAME
Per interrompere una migrazione:
gdcloud database migrations stop MIGRATION_NAME
Promuovere una migrazione:
gdcloud database migrations promote MIGRATION_NAME
Elenca i profili di connessione esistenti:
gdcloud database connection-profiles list DB_ENGINE_TYPE
Elenca la migrazione esistente:
gdcloud database migrations list --destination DESTINATION_DBCLUSTER
API
Per i database di origine AlloyDB o PostgreSQL:
Crea un secret per archiviare il certificato CA del database di origine:
apiVersion: v1
data:
ca.crt: SOURCE_DB_CA_CERT
kind: Secret
metadata:
annotations:
propagation.gdch.gke.io/target-namespace: USER_PROJECT
name: es-crt-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
type: Opaque
Crea un secret per archiviare la password dell'utente per la migrazione del database di origine:
apiVersion: v1
data:
password: SOURCE_DB_USER_PASSWORD
kind: Secret
metadata:
annotations:
propagation.gdch.gke.io/target-namespace: USER_PROJECT
name: es-pw-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
type: Opaque
Crea un externalserver:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: ExternalServer
metadata:
name: EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
spec:
host: SOURCE_DB_HOST
port: 5432
username: SOURCE_DB_USERNAME
password:
name: es-pw-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
certRef:
name: es-crt-EXTERNAL_SERVER_NAME
namespace: USER_PROJECT
Crea una migrazione:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: Migration
metadata:
name: MIGRATION_NAME
namespace: USER_PROJECT
spec:
source:
reference:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: ExternalServer
name: EXTERNAL_SERVER_NAME
target:
reference:
apiVersion: DBENGINE_NAME.dbadmin.gdc.goog/v1
kind: DBCluster
name: DBCLUSTER_NAME
control: MIGRATION_CONTROL
Sostituisci le seguenti variabili:
EXTERNAL_SERVER_NAME
: il nome di externalserver che rappresenta il database di origine.USER_PROJECT
: il nome del progetto utente in cui viene creato externalserver.DBENGINE_NAME
: il nome del motore del database. Si tratta dialloydbomni
opostgresql
.SOURCE_DB_CA_CERT
: il certificato CA del database di origine.SOURCE_DB_USER_PASSWORD
: la password dell'utente di migrazione del database di origine.SOURCE_DB_USERNAME
: il nome utente di migrazione del database di origine.SOURCE_DB_HOST
: l'indirizzo host di migrazione del database di origine.MIGRATION_NAME
: il nome dell'operazione di migrazione.DBCLUSTER_NAME
: il nome del cluster di database di destinazione della migrazione.MIGRATION_CONTROL
: i controlli dell'operazione di migrazione. Deve essere uno trastart
ostop
al momento della creazione della migrazione. Deve esserepromote
per promuovere il cluster di database di destinazione della migrazione.