A migração avançada é uma solução para migrar dados de bases de dados de grande dimensão com menos inatividade. Esta funcionalidade só está disponível para o AlloyDB Omni e o PostgreSQL.
Um utilizador com a função de administrador da base de dados do projeto tem de realizar os seguintes passos. Use a consola do GDC ou a CLI do Distributed Cloud para gerir as migrações:
Consola
- No menu principal, escolha Serviço de base de dados.
- Clique em Criar migração.
- Na caixa de diálogo Começar, reveja os requisitos da origem e da conetividade.
- Na caixa de diálogo Especifique a base de dados de origem, especifique o nome de anfitrião ou o endereço IP, o nome de utilizador, a palavra-passe, o tipo de encriptação e o certificado da base de dados de origem.
- Na caixa de diálogo Configure o cluster, especifique o ID do cluster, a palavra-passe, a versão da base de dados, a CPU, a memória e a capacidade de armazenamento do cluster da base de dados de destino. Certifique-se de que escolhe memória suficiente para armazenar a sua maior tabela.
- Clique em Criar. A criação do cluster de migração e da base de dados de destino pode demorar alguns minutos.
O estado muda de
Reconciling
paraReady
quando o cluster está pronto. O estado da migração muda paraUnsynced
quando a migração é configurada com êxito. Use as seguintes opções para gerir a sua migração:- Iniciar: inicia a migração e altera o estado da migração para
Running
. - Parar: esta opção para a migração e altera o estado da migração para
Stopped
. - Promover: esta opção promove o cluster da base de dados de destino para uma base de dados autónoma.
- Eliminar: elimina a migração e o cluster da base de dados de destino criados para esta migração.
- Iniciar: inicia a migração e altera o estado da migração para
Rode periodicamente a palavra-passe do utilizador da replicação da base de dados de origem com os seguintes passos:
- Aceda a Base de dados de origem e clique em editar Editar.
- Faça as alterações para rodar a palavra-passe do utilizador de replicação.
- Clique em Guardar para aplicar as alterações.
Após a aplicação da alteração, o back-end da migração usa a nova palavra-passe.
gdcloud
Antes de usar a Distributed Cloud CLI, instale-a e inicialize-a. Em seguida, faça a autenticação com a sua organização.
Crie uma migração:
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
Substitua as seguintes variáveis:
DB_ENGINE_TYPE
, o tipo de motor de BD para migração. Os valores suportados são:postgresql
oualloydbomni
SOURCE_CONNECTION_PROFILE
, o nome do novo perfil de associação.REPLICATION_USERNAME
, o nome do utilizador de replicação da base de dados de origem.REPLICATION_PASSWORD
, a palavra-passe do utilizador de replicação da base de dados de origem.CA_CERT_FILE_PATH
, o caminho para o certificado de CA da base de dados de origem.MIGRATION_NAME
, o nome da nova migração.DESTINATION_DBCLUSTER
, o nome do cluster da base de dados de destino.DB_VERSION
, a string da versão do novo cluster. Por exemplo,POSTGRESQL_13
.ADMIN_PASSWORD
, a palavra-passe do utilizador administrador para o novo cluster.
Inicie uma migração:
gdcloud database migrations start MIGRATION_NAME
Parar uma migração:
gdcloud database migrations stop MIGRATION_NAME
Promova uma migração:
gdcloud database migrations promote MIGRATION_NAME
Apresentar perfis de ligação existentes:
gdcloud database connection-profiles list DB_ENGINE_TYPE
Liste a migração existente:
gdcloud database migrations list --destination DESTINATION_DBCLUSTER
API
Para bases de dados de origem do AlloyDB ou PostgreSQL:
Crie um segredo para armazenar o certificado da AC da base de dados de origem:
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
Crie um segredo para armazenar a palavra-passe do utilizador de migração da base de dados de origem:
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
Crie um servidor externo:
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
Crie uma migração:
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
Substitua as seguintes variáveis:
EXTERNAL_SERVER_NAME
: o nome do externalserver que representa a base de dados de origem.USER_PROJECT
: o nome do projeto do utilizador onde o externalserver é criado.DBENGINE_NAME
: o nome do motor da base de dados. Esta é uma das propriedadesalloydbomni
oupostgresql
.SOURCE_DB_CA_CERT
: o certificado de AC da base de dados de origem.SOURCE_DB_USER_PASSWORD
: a palavra-passe do utilizador de migração da base de dados de origem.SOURCE_DB_USERNAME
: o nome de utilizador da migração da base de dados de origem.SOURCE_DB_HOST
: o endereço do anfitrião de migração da base de dados de origem.MIGRATION_NAME
: o nome da operação de migração.DBCLUSTER_NAME
: o nome do cluster da base de dados de destino da migração.MIGRATION_CONTROL
: os controlos da operação de migração. Deve ser um dos seguintes valores:start
oustop
quando a migração é criada. Deve serpromote
para promover o cluster da base de dados de destino da migração.