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
ReconcilingparaReadyquando o cluster está pronto. O estado da migração muda paraUnsyncedquando 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_PASSWORDSubstitua as seguintes variáveis:
DB_ENGINE_TYPE, o tipo de motor de BD para migração. Os valores suportados são:postgresqloualloydbomniSOURCE_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_NAMEParar uma migração:
gdcloud database migrations stop MIGRATION_NAMEPromova uma migração:
gdcloud database migrations promote MIGRATION_NAMEApresentar perfis de ligação existentes:
gdcloud database connection-profiles list DB_ENGINE_TYPEListe 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 propriedadesalloydbomnioupostgresql.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:startoustopquando a migração é criada. Deve serpromotepara promover o cluster da base de dados de destino da migração.