Criar réplica de alta disponibilidade
Em uma configuração ativa/passiva, o appliance réplica é uma cópia redundante do appliance primário. Em caso de falha no appliance primário, o modo de alta disponibilidade permitirá que a réplica atue como appliance primário, mitigando as interrupções de serviço.
Neste artigo
- Criar réplica de alta disponibilidade
- Criar réplicas com replicação geográfica
- Configurar DNS de localização geográfica
- Leia mais
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 obter mais informações, consulte Configurar uma instância do GitHub Enterprise Server.
-
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 Configure as Replica (Configurar como réplica).
-
Em "Add new SSH key" (Adicionar nova chave SSH), digite a chave SSH.
-
Clique em Add key (Adicionar chave) e em Continue (Continuar).
-
Conecte-se ao endereço IP do appliance réplica usando SSH.
$ ssh -p 122 admin@REPLICA IP
-
Para gerar um par de chaves para replicação, use o comando
ghe-repl-setup
com o endereço IP do appliance primário e copie a chave pública que ele retorna.$ ghe-repl-setup PRIMARY IP
-
To add the public key to the list of authorized keys on the primary appliance, browse to
https://PRIMARY-HOSTNAME/setup/settings
and add the key you copied from the replica to the list. -
Para verificar a conexão com o primário e habilitar o modo de réplica para a nova réplica, execute
ghe-repl-setup
novamente.$ ghe-repl-setup PRIMARY IP
-
To start replication of the datastores, use the
ghe-repl-start
command.$ ghe-repl-start
Warning:
ghe-repl-start
causes a brief outage on the primary server, during which users may see internal server errors. To provide a friendlier message, runghe-maintenance -s
on the primary node before runningghe-repl-start
on the replica node to put the appliance in maintenance mode. Once replication starts, disable maintenance mode withghe-maintenance -u
. -
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. Mesmo que os três nós estejam em redes diferentes, todos os nós precisam estar acessíveis entre si. No mínimo, as portas administrativas necessárias devem ficar abertas para todos os outros nós. Para obter mais informações sobre os requisitos de portas, consulte "Portas de rede".
-
Crie a primeira réplica da mesma forma que você faria em uma configuração padrão de dois nós executando
ghe-repl-setup
na primeira réplica.(replica1)$ ghe-repl-setup PRIMARY IP (replica1)$ ghe-repl-start
-
Crie a segunda réplica e use o comando
ghe-repl-setup --add
. O sinalizador--add
impede a substituição da configuração de replicação atual 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 datacenter. Configure as réplicas para datacenters diferentes definindo outros valores na opção do datacenter. Você pode especificar os valores que preferir, desde que sejam diferentes uns dos outros. Execute o comando
ghe-repl-node
em 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
--datacenter
e--active
simultaneamente. -
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 as solicitações do usuário final do serviço. Habilite o modo ativo usando o sinalizador
--active
ou use o sinalizador--inactive
para o modo inativo.Na primeira réplica:
(replica1)$ ghe-repl-node --active
Na segunda réplica:
(replica2)$ ghe-repl-node --active
-
Para aplicar a configuração, use o comando
ghe-config-apply
no primário.(primary)$ ghe-config-apply
Configurar DNS de localização geográfica
Configure o Geo DNS usando os endereços IP dos nós primário e das réplicas. Você também pode criar um DNS CNAME para o nó primário (por exemplo, primary.github.example.com
) para acessar o nó primário via SSH ou fazer backup usando backup-utils
.
Para fins de teste, é possível adicionar entradas ao arquivo hosts
da estação de trabalho local (por exemplo, /etc/hosts
). Essas entradas de exemplo resolverão as solicitações de HOSTNAME
para replica2
. É possível segmentar hosts específicos comentando linhas diferentes.
# <primary IP> <em>HOSTNAME</em>
# <replica1 IP> <em>HOSTNAME</em>
<replica2 IP> <em>HOSTNAME</em>