Skip to main content

Configurando o serviço de backup

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

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

  • Uma instância do GitHub Enterprise Server 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 do dispositivo primário do GitHub. Isso engloba os instantâneos históricos e o crescimento futuro.

  • Suporte para o sistema de arquivos: o serviço de backup usa links rígidos para armazenamento eficiente, e sua instância do GitHub 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:

    touch file
    ln -s file symlink
    ln symlink hardlink
    ls -la
    

    Se o comando ln symlink hardlink for concluído com êxito, o sistema de arquivos terá suporte.

  • 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 o 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 SSH antes de prosseguir 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 Acesar 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.

    ghe-storage-init-backup /dev/YOUR_DEVICE_NAME
    

    Esse comando:

    • Formata o dispositivo (apaga todos os dados).
    • Prepara-o para uso pelo serviço de backup.
    • Configura-o para montagem automaticamente em /data/backup na inicialização.

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 do Serviço de Backup ficará disponível no Console de Gerenciamento. Se você estiver usando um dispositivo de bloco, isso exigirá a conclusão das etapas de inicialização ou montagem acima.

Observação

A página de configurações não será exibida até que o armazenamento de backup seja montado em /data/backup.

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

  1. Configuração manual: recrie as configurações diretamente no 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 página "Backup Service".
  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.