O objetivo de uma configuração de elevada disponibilidade é reduzir o tempo de inatividade quando uma instância do cluster de bases de dados fica indisponível. Isto pode acontecer quando uma instância fica sem memória. Com a elevada disponibilidade, os seus dados continuam a estar disponíveis para aplicações de cliente.
Num site, a configuração é composta por uma instância principal e uma réplica em espera. Todas as escritas feitas na instância principal são replicadas para a réplica em espera antes de uma transação ser comunicada como confirmada. Em caso de falha de uma instância, pode pedir que a réplica em espera se torne a nova instância principal. Em seguida, o tráfego da aplicação é encaminhado para a nova instância principal. Este processo denomina-se failover.
Pode acionar manualmente um failover em qualquer altura. O failover envolve o seguinte processo, por ordem:
O GDC coloca a instância principal offline.
O GDC transforma a réplica em espera no novo cluster de bases de dados ativo.
O GDC elimina o cluster de bases de dados ativo anterior.
O GDC cria uma nova réplica em espera.
Atualize um cluster existente
Pode atualizar as definições de elevada disponibilidade de um cluster de bases de dados existente:
Consola
No menu de navegação, selecione Serviço de bases de dados.
Na lista de clusters de bases de dados, clique no cluster de bases de dados que quer atualizar.
Selecione editar Editar em a secção Elevada disponibilidade.

Selecione Ativar espera na mesma zona para ativar ou desativar a disponibilidade de uma instância em espera na mesma zona que o cluster de bases de dados principal.
Clique em Guardar.
Valide se o cluster de bases de dados reflete a atualização de elevada disponibilidade ao ver o respetivo estado na coluna Elevada disponibilidade da lista de clusters de bases de dados.
gdcloud
Atualize a configuração de elevada disponibilidade do cluster de bases de dados:
gdcloud database clusters update CLUSTER_NAME \ --availability-type HA_TYPESubstitua o seguinte:
CLUSTER_NAME: o nome do cluster de bases de dados.HA_TYPE: o nível de elevada disponibilidade do cluster de bases de dados. Pode definirzonalouzonal_ha. O valorzonalestá definido por predefinição.
Valide se o cluster de bases de dados reflete a atualização de elevada disponibilidade:
gdcloud database clusters list
API
Atualize a configuração de elevada disponibilidade do cluster de bases de dados:
kubectl patch dbcluster.postgresql.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -p '{"spec": {"availability": {"enableHighAvailability": HA_ENABLED}}}' \ --type=mergeSubstitua as seguintes variáveis:
DBCLUSTER_NAME: o nome do cluster de bases de dados.USER_PROJECT: o nome do projeto do utilizador onde o cluster de bases de dados foi criado.HA_ENABLED: o nível de elevada disponibilidade do cluster de bases de dados. Pode definirtrueoufalse. O valorfalseestá definido por predefinição.
Valide se o cluster de bases de dados reflete a atualização de elevada disponibilidade:
kubectl get dbcluster.DBENGINE_NAME.dbadmin.gdc.goog DBCLUSTER_NAME \ -n USER_PROJECT \ -o yaml
Migre para a implementação de elevada disponibilidade mais recente
Para validar se o cluster de bases de dados de elevada disponibilidade está a usar a implementação mais recente, verifique se a anotação dbcluster.dbadmin.goog/raasEnabled existe no CR do cluster de bases de dados de elevada disponibilidade. Esta anotação só é apresentada em clusters que usam a nova implementação. Se não tiver esta anotação, pode ativá-la e migrar o cluster com os seguintes passos:
- Confirme com o operador de infraestrutura que o seu ambiente do GDC foi atualizado para a versão 1.15.1 ou posterior.
- Desative a elevada disponibilidade no cluster de bases de dados. Aguarde que a condição
HAReadydesapareça e, em seguida, reative a elevada disponibilidade. - Depois de ver
HAReady in progressouHAReady setup complete, verifique se o CR do cluster de bases de dados tem a anotaçãodbcluster.dbadmin.goog/raasEnabled. Se for apresentada, significa que o cluster de bases de dados foi migrado com êxito.
Acione um failover
Se configurou a elevada disponibilidade para o cluster de bases de dados, pode acionar um failover. Para acionar um failover, conclua os seguintes passos:
Consola
No menu de navegação, selecione Serviço de bases de dados.
Na lista de clusters de bases de dados, clique no cluster de bases de dados para o qual quer acionar um failover. O cluster de bases de dados tem de ter a elevada disponibilidade ativada para ser elegível para um failover.
Clique em Failover.
Escreva o ID do cluster para a frase de confirmação e clique em Failover para acionar o processo de failover.
gdcloud
Acione o failover do cluster de bases de dados:
gdcloud database clusters failover CLUSTER_NAMESubstitua
CLUSTER_NAMEpelo nome do cluster de bases de dados.
API
apiVersion: fleet.dbadmin.gdc.goog/v1
kind: Failover
metadata:
name: FAILOVER_NAME
spec:
dbclusterRef: DBCLUSTER_NAME
Substitua as seguintes variáveis:
DBCLUSTER_NAME, o nome do cluster de bases de dados.FAILOVER_NAME, o nome exclusivo do failover, por exemplo,failover-sample.