Skip to main content

Esta versão do GitHub Enterprise Server será descontinuada em 2026-08-25. Não há suporte para versões descontinuadas. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, segurança aprimorada e novos recursos no GitHub Enterprise Server, consulte Overview do processo de atualização. Para obter ajuda com a atualização, entre em contato com o GitHub Enterprise Support.

Configurando o serviço de backup

Ative e configure o serviço de backup integrado no Console de Gerenciamento e, opcionalmente, migre as configurações herdadas.

Antes de configurar o serviço de backup, verifique se você tem:

  • Uma GitHub Enterprise Server instância que executa a versão 3.17 ou posterior.
  • Um volume de armazenamento dedicado provisionado e gerenciado para uso como destino de backup.

Requisitos de armazenamento

Para garantir backups confiáveis e com bom desempenho, seu armazenamento deve atender aos seguintes requisitos:

  • Capacidade: Aloque pelo menos cinco vezes a quantidade de armazenamento usada pelo disco de dados do dispositivo primário GitHub . Isso leva em conta os registros históricos e o crescimento futuro.

  • Suporte ao sistema de arquivos: O serviço de backup usa links rígidos para armazenamento eficiente e sua GitHub instância usa links simbólicos. O destino de backup deve dar suporte a links simbólicos e rígidos e deve usar um sistema de arquivos que diferencia maiúsculas de minúsculas para evitar conflitos.

    Você pode testar se o sistema de arquivos dá suporte à vinculação de links simbólicos executando:

    cd /data/backup
    sudo touch file
    sudo ln -s file symlink
    sudo ln symlink hardlink
    ls -la
    

    Se o comando ln symlink hardlink for concluído com êxito, o sistema de arquivos é suportado.

  • Desempenho: use o armazenamento de alto desempenho com baixa latência e IOPS alta para evitar backups e restaurações lentos.

  • NFS: evite usar uma montagem NFS para o diretório de backup (normalmente /data/backup), pois isso pode levar a tempos limite e desempenho degradado.

Configurando o serviço de backup

Você pode configurar GitHub Enterprise Server Backup Service por meio do Console de Gerenciamento.

Configurando o destino de backup

Antes de configurar o serviço, prepare o volume de armazenamento em que os backups serão armazenados.

Usando um novo dispositivo de bloco

Se você estiver usando um dispositivo de bloco dedicado como destino de backup, precisará inicializá-lo por meio do SSH antes de continuar no Console de Gerenciamento. Esse processo formatará o dispositivo e apagará todos os dados existentes.

  1. Conecte-se à sua instância por SSH como o usuário admin. Confira Acessar o shell administrativo (SSH).

  2. Anexe o dispositivo de bloco de backup à instância.

  3. Identifique o nome do dispositivo usando lsblk para listar os dispositivos de bloco disponíveis. Selecione o dispositivo correto para evitar a perda de dados.

    lsblk
    
  4. Execute o comando de inicialização, substituindo YOUR_DEVICE_NAME pelo nome real do dispositivo identificado na etapa anterior.

    Aviso

    Esse comando apagará permanentemente todos os dados no dispositivo especificado. Verifique novamente o nome do dispositivo e faça backup dos dados importantes antes de prosseguir.

    /usr/local/share/enterprise/ghe-storage-init-backup /dev/YOUR_DEVICE_NAME
    

    Esse comando:

    • Formata o dispositivo (apaga todos os dados).

    • Prepara para uso pelo serviço de backup.

    • Define para montar automaticamente em /data/backup na inicialização.

    A partir da GitHub Enterprise Server 3.17.4 em diante, o script é instalado no PATH para que você possa executá-lo diretamente usando: ghe-storage-init-backup /dev/YOUR_DEVICE_NAME.

Desanexar um disco de backup

Aviso

Antes de desanexar um disco de backup, verifique se nenhum backup ou restauração está em andamento no momento. Desanexar um disco enquanto ele estiver em uso pode resultar em perda de dados ou interrupção do serviço.

Caso seja necessário desconectar o disco de backup de GitHub Enterprise Server, siga as etapas a seguir

  1. Listar dispositivos de bloco e desmontar /data/backup.

    sudo lsblk
    sudo umount /data/backup
    
  2. Liste os volumes lógicos e desative-os.

    sudo lvs
    sudo lvchange -an <backup_VG>/<backup_LV>
    
  3. Desanexe o disco usando o console ou a CLI fornecida pelo provedor de nuvem ou hipervisor.

  4. Remova o ponto de montagem.

    sudo rmdir /data/backup
    

Reutilizando um disco inicializado anteriormente

Se o dispositivo já foi inicializado usando ghe-storage-init-backup, você pode reutilizá-lo sem reformatação:

  1. Conecte-se à sua instância por SSH como o usuário admin.

  2. Anexe o disco à instância.

  3. Crie o ponto de montagem se não houver um.

    sudo mkdir -p /data/backup
    
  4. Habilite e inicie o serviço de montagem.

    sudo systemctl enable ghe-backup-disk.service
    sudo systemctl start ghe-backup-disk.service
    

    Isso montará o dispositivo em /data/backup e garantirá que ele seja montado automaticamente no futuro.

Definindo as configurações de backup

Depois que o destino de backup for montado, a página Serviço de Backup ficará disponível na Console de Gerenciamento seção "Backup".

Observação

A página de configurações não será exibida até que o armazenamento de backup seja montado em /data/backup ao concluir as etapas de inicialização ou montagem mencionadas acima.

Se você estiver migrando de GitHub Enterprise Server Backup Utilities, poderá transferir sua configuração de uma de duas maneiras:

  1. Configuração manual: recrie suas configurações diretamente na Console de Gerenciamento.

  2. Migração da linha de comando: acesse sua instância por SSH, copie seu arquivo backup.config de backup-utils e execute:

    ghe-migrate-backup-config /path/to/your/backup.config
    

    Use o sinalizador --dry-run para visualizar as alterações sem aplicá-las.

Agendando backups automatizados

Depois que o serviço estiver configurado, você poderá definir um agendamento de backup.

  1. No Console de Gerenciamento, abra a guia "Backups" no menu superior.
  2. Na seção "Backup Schedule", escolha um agendamento predefinido (por exemplo, Diário) ou insira uma expressão cron personalizada.
  3. Clique em Salvar para aplicar as alterações.

A primeira execução será um backup completo. As execuções futuras serão incrementais. Se uma nova tentativa de backup for iniciada enquanto uma anterior estiver em execução, ela poderá ser ignorada ou falhar. Nesse caso, ajuste o agendamento para evitar sobreposição.