Skip to main content

Configurando replicação de alta disponibilidade para um cluster

Você pode configurar uma réplica de todo o seu cluster do GitHub Enterprise Server em um data center à parte, permitindo que seu cluster faça failover em nós redundantes.

Sobre a alta disponibilidade de replicação de clusters

Você pode fornecer proteção contra interrupções em um datacenter ou uma região de nuvem configurando uma implantação de cluster do GitHub Enterprise Server para alta disponibilidade. Em uma configuração de alta disponibilidade, um conjunto idêntico de nós de réplica é sincronizado com os nós do cluster ativo. Se falhas de hardware ou software afetarem o datacenter com o seu cluster ativo, você poderá realizar manualmente o failover para os nós de réplica e continuar processando as solicitações dos usuários, minimizando o impacto da interrupção.

Em uma configuração de alta disponibilidade, os nós que hospedam serviços de dados sincronizam regularmente com o cluster de réplica. Nós de réplica são executados em modo de espera e não servem a aplicativos nem processam solicitações dos usuários.

Recomendamos configurar alta disponibilidade como parte de um plano abrangente de recuperação de desastres para o clustering do GitHub Enterprise Server. Também recomendamos realizar backups regulares. Para saber mais, confira AUTOTITLE.

Pré-requisitos

Hardware e software

Para cada nó existente no seu cluster ativo, você precisará fornecer uma segunda máquina virtual com recursos de hardware idênticos. Por exemplo, se o cluster tiver 13 nós e cada nó tiver 12 vCPUs, 96 GB de RAM e 750 GB de armazenamento anexado, você precisará fornecer 13 novas máquinas virtuais, tendo cada uma 12 vCPUs, 96 GB de RAM e 750 GB de armazenamento anexado.

Em cada nova máquina virtual, instale a mesma versão do GitHub Enterprise Server que é executada nos nós do seu cluster ativo. Você não precisa fazer o upload de uma licença ou executar qualquer configuração adicional. Para saber mais, confira AUTOTITLE.

Observação

Os nós que você pretende usar para a replicação de alta disponibilidade devem ser instâncias independentes do GitHub Enterprise Server. Não inicialize os nós de réplica como um segundo cluster.

Rede

Você deve atribuir um endereço IP estático a cada novo nó que você fornecer e você deve configurar um balanceador de carga para aceitar conexões e direcioná-las para os nós na sua camada frontal do cluster.

A latência entre os nós primário e de réplica deve ser inferior a 70 milissegundos. Não recomendamos configurar um firewall entre as duas redes de nós. Para obter mais informações sobre a conectividade de rede entre os nós do cluster de réplica, confira AUTOTITLE.

Criar uma réplica de alta disponibilidade para um cluster

Para criar uma réplica de alta disponibilidade para o cluster, use o utilitário e conclua as tarefas de acompanhamento detalhadas pela ferramenta.

  1. SSH em qualquer nó no seu cluster. Para saber mais, confira Acesar o shell administrativo (SSH).

  2. Para iniciar a configuração de alta disponibilidade, execute o seguinte comando. Os sinalizadores X e Y são opcionais. Se você estiver usando os sinalizadores, substitua PRIMARY-DATACENTER e SECONDARY-DATACENTER pelos nomes de seus datacenters primários e secundários.

    Observação

    • Por padrão, o utilitário usará o nome do datacenter primário no .
    • Se nenhum nome para o datacenter primário for definido, o utilitário usará .
    • Se nenhum nome para o datacenter secundário for definido, o utilitário usará .
    Shell
    ghe-cluster-repl-bootstrap -p PRIMARY-DATACENTER -s SECONDARY-DATACENTER
    
  3. Depois que o utilitário for executado, você verá a saída com mais instruções. Para completar a configuração, conclua as tarefas listadas na saída.

Monitoramento da replicação entre os nós ativos e de réplica do cluster

A replicação inicial entre os nós ativos e de réplica do seu cluster leva tempo. O tempo depende da quantidade de dados a replicar e dos níveis de atividade para GitHub Enterprise Server.

Você pode monitorar o progresso em qualquer nó do cluster, usando ferramentas de linha de comando disponíveis através do shell administrativo do GitHub Enterprise Server. Para obter mais informações sobre o shell administrativo, confira AUTOTITLE.

Para monitorar a replicação de todos os serviços, use o comando a seguir.

ghe-cluster-repl-status

Você pode usar para revisar a integridade geral do seu cluster. Para saber mais, confira AUTOTITLE.

Reconfigurar a replicação de alta disponibilidade após um failover

Após fazer failover dos nós ativos do cluster para os nós de réplica do cluster, você poderá reconfigurar a alta disponibilidade de duas maneiras. O método escolhido dependerá da razão pela qual você realizou o failover e do estado dos nós originais.

  • Forneça e configure um novo conjunto de nós de réplica para cada um dos novos nós ativos no seu centro de dados secundário.
  • Use os nós ativos originais como os novos nós de réplica.

O processo de reconfiguração de alta disponibilidade é idêntico à configuração inicial de alta disponibilidade. Para obter mais informações, confira Como criar uma réplica de alta disponibilidade para um cluster.

Se você usar os nós ativos originais, depois de reconfigurar a alta disponibilidade, será necessário desativar o modo de manutenção dos nós. Para saber mais, confira AUTOTITLE.

Desabilitar a replicação de alta disponibilidade para um cluster

Você pode parar a replicação nos nós de réplica para a sua implantação de cluster do GitHub Enterprise Server usando o utilitário . Como alternativa, você pode desabilitar manualmente a duplicação.

Desativar a replicação usando

  1. SSH em qualquer nó no seu cluster. Para saber mais, confira Acesar o shell administrativo (SSH).

  2. Para desabilitar a duplicação, execute o seguinte comando:

    Shell
    ghe-cluster-repl-teardown
    
  3. Após a conclusão da configuração executada, GitHub Enterprise Server exibe a mensagem a seguir.

    Finished cluster configuration
    

Desativar manualmente a duplicação

  1. SSH em qualquer nó no seu cluster. Para saber mais, confira Acesar o shell administrativo (SSH).

  2. Em um editor de texto, abra o arquivo de configuração do cluster em /data/user/common/cluster.conf. Por exemplo, você pode usar o Vim. Crie um backup do arquivo cluster.conf antes de editá-lo.

    Shell
    sudo vim /data/user/common/cluster.conf
    
  3. Na seção de nível superior, exclua os pares chave-valor e .

  4. Exclua cada seção de um nó réplica. Para os nós de réplica, é configurado como .

  5. Aplique a nova configuração. Esse comando pode levar algum tempo para ser concluído. Portanto, recomendamos executar o comando em um multiplexador de terminal como screen ou tmux.

     ghe-cluster-config-apply
    
  6. Após a conclusão da configuração executada, GitHub Enterprise Server exibe a mensagem a seguir.

    Finished cluster configuration