Observação
Há um máximo de oito réplicas de alta disponibilidade (réplicas passivas e ativas e geográficas, bem como instâncias de cache do repositório) permitidas para o GitHub Enterprise Server.
Criar réplica de alta disponibilidade
-
Configure um novo appliance do GitHub Enterprise Server na plataforma desejada. O appliance réplica deve refletir as configurações de CPU, RAM e armazenamento do appliance primário. É recomendável instalar o appliance réplica em um ambiente independente. Hardware, software e componentes de rede subjacentes devem ser isolados dos do appliance primário. Se estiver em um provedor de nuvem, use uma região ou zona separada. Para saber mais, confira Configurando uma instância do GitHub Enterprise Server.
-
Verifique se o novo dispositivo pode se comunicar com todos os outros dispositivos nesse ambiente de alta disponibilidade nas portas 122/TCP e 1194/UDP. Para saber mais, confira Portas de rede.
-
Em um navegador, vá até o novo endereço IP do appliance réplica e faça o upload da sua licença do GitHub Enterprise.
-
Defina uma senha de administrador correspondente à senha no appliance primário e continue.
-
Clique em Create a replica node.
-
Em "Add new SSH key" (Adicionar nova chave SSH), digite a chave SSH.
-
Clique em Adicionar chave.
-
Conecte-se ao endereço IP do appliance réplica usando SSH.
ssh -p 122 admin@REPLICA_IP
Gere o par de chaves de replicação e adicione a chave SSH ao primário.
-
Para verificar a conexão com o primário e habilitar o modo de réplica para a nova réplica, execute
ghe-repl-setupnovamente.ghe-repl-setup PRIMARY_IP -
Para iniciar a replicação dos armazenamentos de dados, use o comando
ghe-repl-start.ghe-repl-startAviso
Para garantir o serviço ininterrupto ao configurar uma nova réplica, execute
ghe-config-applyentreghe-repl-setupeghe-repl-start. Isso permite que o servidor primário permaneça disponível durante todo o processo de instalação de replicação. -
Para verificar o status do canal de replicação de cada armazenamento de dados, use o comando
ghe-repl-status.ghe-repl-status
Criar réplicas com replicação geográfica
Este exemplo de configuração usa um primário e duas réplicas, localizados em três regiões geográficas diferentes. Embora os três nós possam estar em redes diferentes, todos os nós precisam ser acessíveis uns aos outros. No mínimo, as portas administrativas necessárias devem ficar abertas para todos os outros nós. Para saber mais sobre os requisitos de porta, confira Portas de rede.
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. Se a latência for superior a 70 milissegundos, recomendamos armazenar os nós de réplica em cache. Para saber mais, confira Configurando um cache de repositório.
-
Crie a primeira réplica da mesma forma que você faria para uma configuração padrão de dois nós executando
ghe-repl-setupna primeira réplica.(replica1)$ ghe-repl-setup PRIMARY_IP (replica1)$ ghe-repl-start -
Crie uma segunda réplica e use o comando
ghe-repl-setup --add. O sinalizador--addimpede que ele substitua a configuração de replicação existente e adiciona a nova réplica à configuração.(replica2)$ ghe-repl-setup --add PRIMARY_IP (replica2)$ ghe-repl-start -
Por padrão, as réplicas são configuradas no mesmo centro de dados e agora tentarão propagar a partir de um nó existente no mesmo centro de dados. Configure as réplicas para datacenters diferentes definindo um valor diferente para a opção de datacenter. Você pode especificar os valores que preferir, desde que sejam diferentes uns dos outros. Execute o comando
ghe-repl-nodeem cada nó e especifique o datacenter.No primário:
(primary)$ ghe-repl-node --datacenter [PRIMARY DC NAME]Na primeira réplica:
(replica1)$ ghe-repl-node --datacenter [FIRST REPLICA DC NAME]Na segunda réplica:
(replica2)$ ghe-repl-node --datacenter [SECOND REPLICA DC NAME]Dica
Você pode definir as opções
--datacentere--activeao mesmo tempo. -
Um nó de réplica ativo armazenará cópias dos dados do appliance e solicitações do usuário final do serviço. Um nó inativo armazenará cópias dos dados do appliance, mas não conseguirá atender às solicitações do usuário final. Habilite o modo ativo usando o sinalizador
--activeou o modo inativo usando o sinalizador--inactive.Na primeira réplica:
(replica1)$ ghe-repl-node --activeNa segunda réplica:
(replica2)$ ghe-repl-node --active -
Para aplicar a configuração, use o comando
ghe-config-applyno primário.(primary)$ ghe-config-apply
Configurando DNS para geo-replicação
Configure o Geo DNS usando os endereços IP dos nós primário e das réplicas. Crie também um DNS CNAME para o nó primário (por exemplo, primary.github.example.com) para acessar o nó primário por meio do SSH ou para fazer backup por meio de backup-utils.
Para teste, você pode adicionar entradas ao arquivo hosts da estação de trabalho local (por exemplo, /etc/hosts). Esses exemplos de entradas resolverão as solicitações de HOSTNAME para replica2. É possível segmentar hosts específicos comentando linhas diferentes.
# <primary IP> HOSTNAME
# <replica1 IP> HOSTNAME
<replica2 IP> HOSTNAME
Leitura adicional
-
[AUTOTITLE](/admin/enterprise-management/configuring-high-availability/about-high-availability-configuration) -
[AUTOTITLE](/admin/enterprise-management/configuring-high-availability/about-geo-replication)