Skip to main content
Publicamos atualizações frequentes em nossa documentação, e a tradução desta página ainda pode estar em andamento. Para obter as informações mais recentes, acesse a documentação em inglês. Se houver problemas com a tradução desta página, entre em contato conosco.

Esta versão do GitHub Enterprise foi descontinuada em 2022-06-03. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Configurar backups no appliance

Como parte de um plano de recuperação de desastre, é possível proteger os dados de produção na your GitHub Enterprise Server instance configurando backups automatizados.

Sobre o GitHub Enterprise Server Backup Utilities

O GitHub Enterprise Server Backup Utilities é um sistema de backup a ser instalado em um host separado, que tira instantâneos de backup da your GitHub Enterprise Server instance em intervalos regulares em uma conexão de rede SSH segura. É possível usar um instantâneo para voltar uma instância do GitHub Enterprise Server a um estado anterior do host de backup.

Somente os dados adicionados desde o último instantâneo serão transferidos pela rede e ocuparão espaço adicional de armazenamento físico. Para minimizar o impacto no desempenho, os backups são feitos online com a menor prioridade de E/S de CPU. Não é necessário programar um período de manutenção para fazer backups.

Para obter informações mais detalhadas sobre recursos, requisitos e uso avançado, consulte o README do GitHub Enterprise Server Backup Utilities.

Pré-requisitos

Para usar o GitHub Enterprise Server Backup Utilities, você deve ter um sistema host Linux ou Unix separado da your GitHub Enterprise Server instance.

Também é possível integrar o GitHub Enterprise Server Backup Utilities a um ambiente para fins de armazenamento permanente em longo prazo de dados essenciais.

É recomendável que o host de backup e a your GitHub Enterprise Server instance estejam geograficamente distantes. Essa medida garante que os backups estejam disponíveis para recuperação em casos de grandes desastres ou falhas de rede no site primário.

Os requisitos de armazenamento físico variam com base no uso do disco do repositório Git e nos padrões de crescimento esperados:

HardwareRecomendação
vCPUs2
Memória2 GB
ArmazenamentoCinco vezes o armazenamento alocado da instância primária

Podem ser necessários mais recursos dependendo do uso, como atividade do usuário e integrações selecionadas.

Instalar o GitHub Enterprise Server Backup Utilities

Observação: para garantir a disponibilidade imediata de um appliance recuperado, faça backups visando a instância principal, mesmo em uma configuração de replicação geográfica.

  1. Baixe a versão mais recente do GitHub Enterprise Server Backup Utilities e extraia o arquivo com o comando tar.

    $ tar -xzvf /path/to/github-backup-utils-vMAJOR.MINOR.PATCH.tar.gz     
  2. Copie o arquivo backup.config-example para backup.config e abra em um editor.

  3. Defina o valor GHE_HOSTNAME para o nome de host ou endereço IP da instância primária do GitHub Enterprise Server.

    Observação: Se o seu your GitHub Enterprise Server instance for implantado como um cluster ou em uma configuração de alta disponibilidade usando um balanceador de carga, o GHE_HOSTNAME poderá ser o nome de host do balanceador da carga, desde que permita o acesso SSH (na porta 122) a your GitHub Enterprise Server instance.

  4. Defina o valor GHE_DATA_DIR no local do arquivo do sistema onde você deseja arquivar os instantâneos de backup.

  5. Abra a página das configurações da instância primária em https://HOSTNAME/setup/settings e adicione a chave SSH do host de backup �  lista de chaves SSH autorizadas. Para obter mais informações, consulte Acessar o shell administrativo (SSH).

  6. Verifique a conectividade SSH com a your GitHub Enterprise Server instance usando o comando ghe-host-check.

    $ bin/ghe-host-check        
  7. Para criar um backup completo inicial, execute o comando ghe-backup.

    $ bin/ghe-backup        

Para obter mais informações sobre uso avançado, consulte o arquivo README do GitHub Enterprise Server Backup Utilities.

Programar um backup

É possível programar backups regulares no host de backup com o comando cron(8) ou um serviço de agendamento semelhante. A frequência configurada determinará o objetivo do ponto de recuperação (RPO) nos piores cenários do seu plano de recuperação. Por exemplo, ao programar backups diários �  meia-noite, você pode perder até 24 horas de dados em caso de desastre. É recomendável começar com backups a cada hora, garantindo a possibilidade de perdas menores (no máximo de uma hora) caso os dados primários do site sejam destruídos.

Se houver sobreposição de tentativas de backup, o comando ghe-backup será interrompido com uma mensagem de erro, informando a existência de um backup simultâneo. Nesse caso, é recomendável diminuir a frequência dos backups programados. Para obter mais informações, consulte a seção "Agendar backups" do arquivo README do GitHub Enterprise Server Backup Utilities.

Restaurar um backup

Em caso de interrupção prolongada ou evento catastrófico no site primário, é possível restaurar a your GitHub Enterprise Server instance provisionando outro appliance do GitHub Enterprise e executando uma restauração no host de backup. Antes de restaurar um appliance, você deve adicionar a chave SSH do host de backup ao appliance de destino do GitHub Enterprise como chave SSH autorizada.

Nota: Se your GitHub Enterprise Server instance tiver GitHub Actions habilitado, você deverá primeiro configurar o provedor de armazenamento externo de GitHub Actions no aplicativo de substituição antes de executar o comando ghe-restore. Para obter mais informações, consulte "Backup e restauração de GitHub Enterprise Server com GitHub Actions ativado."

Observação: Ao executar backup para your GitHub Enterprise Server instance, aplicam-se as mesmas regras de suporte de versão. Você só pode restaurar dados de no máximo duas versões do recursos para trás.

Por exemplo, se você receber um backup do GHES 3.0.x, você poderá restaurá-lo em uma instância GHES 3.2.x. No entanto, você não poderá restaurar dados de um backup do GHES 2.22.x para 3.2., porque seriam três saltos entre as versões (2.22 > 3.0 > 3.1 > 3.2). Primeiro, você deverá restaurar em uma instância de 3.1.x e, em seguida, atualizar para 3.2.x.

Para restaurar a your GitHub Enterprise Server instance do instantâneo mais recente bem-sucedido, use o comando ghe-restore. Você verá um conteúdo semelhante a este:

$ ghe-restore -c 169.154.1.1
> Verificando chaves vazadas no instantâneo do backup em restauração...
> * Sem chavez vazadas
> Conexão 169.154.1.1:122 OK (v2.9.0)

> AVISO: todos os dados no appliance GitHub Enterprise 169.154.1.1 (v2.9.0)
>          serão substituídos por dados do instantâneo 20170329T150710.
> Antes de prosseguir, confirme se o host de restauração está correto.
> Digite 'sim' para continuar: sim

> Iniciando restauração de 169.154.1.1:122 a partir do instantâneo 20170329T150710
# ...saída truncada
> Restauração concluída de 169.154.1.1:122 a partir do instantâneo 20170329T150710
> Acesse https://169.154.1.1/setup/settings para revisar a configuração do appliance.

Observação: as configurações de rede são excluídas do instantâneo de backup. Você deve configurar manualmente a rede no appliance de destino do GitHub Enterprise Server conforme o seu ambiente.

Você pode usar estas opções adicionais com o comando ghe-restore:

  • O sinalizador -c substitui as configurações, os certificados e os dados de licença no host de destino, mesmo que já configurado. Omita esse sinalizador se você estiver configurando uma instância de preparo para fins de teste e se quiser manter a configuração no destino. Para obter mais informações, consulte a seção "Usando comandos de backup e restauração" do LEIAME do GitHub Enterprise Server Backup Utilities.
  • O sinalizador -s permite selecionar outro instantâneo de backup.