Skip to main content

Iniciar failover do appliance réplica

É possível fazer failover de um appliance réplica do GitHub Enterprise Server usando a linha de comando para manutenção e teste ou em caso de falha do appliance primário.

O tempo do failover dependerá do tempo necessário para promover manualmente a réplica e redirecionar o tráfego. Em média, o procedimento leva de 20 a 30 minutos.

Promover uma réplica não configura automaticamente a replicação para appliances existentes. Depois de promover uma réplica, se desejar, você pode configurar a replicação do novo principal para os appliances existentes e o principal anterior.

  1. Se o dispositivo primário estiver disponível, para permitir que a replicação seja concluída antes de você alternar os dispositivos, no dispositivo primário, coloque o dispositivo primário no modo de manutenção.

    • Coloque o dispositivo no modo de manutenção.

    • Quando o número de operações ativas do Git, consultas MySQL e tarefas do Resque alcançam zero, aguarde 30 segundos.

      Observação

      O Nomad sempre terá trabalhos em execução, mesmo no modo de manutenção, ou seja, você pode ignorar esses trabalhos com segurança.

    • Para verificar se todos os canais de replicação relatam OK, use o comando ghe-repl-status -vv.

      ghe-repl-status -vv
      
  2. Habilite o modo de manutenção em todos os dispositivos de réplica ativos. Para saber mais, confira Habilitar e programar o modo de manutenção.

  3. No dispositivo de réplica para o qual você deseja fazer failover, para interromper a replicação e promover o dispositivo de réplica ao status primário, use o comando ghe-repl-promote.

    ghe-repl-promote
    

    Observação

    Se o nó primário estiver indisponível, poderão ocorrer avisos e tempos limite, que poderão ser ignorados.

  4. Atualize o registro DNS para apontar para o endereço IP do appliance réplica. O tráfego é direcionado para o réplica após o término do período TTL. Se você estiver usando um balanceador de carga, verifique se ele está configurado para enviar tráfego para o réplica.

  5. Avise aos usuários que eles podem voltar a trabalhar normalmente.

  6. Se desejar, configure a replicação do novo primário para os appliances existentes e o primário anterior. Para saber mais, confira Sobre a configuração de alta disponibilidade.

    Observação

    Se houver várias réplicas antes do failover, as réplicas que não foram promovidas durante o failover permanecerão parte do grupo de alta disponibilidade associado ao primário anterior. Antes de restabelecer a replicação do novo primário, você deve remover essas réplicas da configuração de alta disponibilidade do primário antigo. Para saber mais, confira Remover réplica de alta disponibilidade.

  7. Appliances para os quais você não pretende configurar replicação faziam parte da configuração de alta disponibilidade antes da falha precisam ser removidos da configuração de alta disponibilidade por UUID.

    • Nos dispositivos anteriores, obtenha o UUID por meio de cat /data/user/common/uuid.

      cat /data/user/common/uuid
      
    • No novo primário, remova os UUIDs usando ghe-repl-decommission. Substitua UUID pelo UUID recuperado na etapa anterior.

      ghe-repl-decommission UUID
      

    Aviso

    Se você não pretende restabelecer a replicação do novo primário, desligue ou exclua os dispositivos que fazem parte da configuração de alta disponibilidade anterior. Se esses dispositivos estiverem inacessíveis durante o failover, eles poderão causar alterações não intencionais no novo primário caso se tornem acessíveis mais tarde. Para evitar conflitos de configuração ou problemas de integridade dos dados, sempre verifique se os dispositivos não utilizados foram encerrados corretamente.

Leitura adicional