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 de dados do dispositivo primário do GitHub. Isso leva em conta os registros 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:
cd /data/backup sudo touch file sudo ln -s file symlink sudo ln symlink hardlink ls -laSe o comando
ln symlink hardlinkfor 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 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.
-
Conecte-se à sua instância por SSH como o usuário
admin. Confira Acessar o shell administrativo (SSH). -
Anexe o dispositivo de bloco de backup à instância.
-
Identifique o nome do dispositivo usando
lsblkpara listar os dispositivos de bloco disponíveis. Selecione o dispositivo correto para evitar a perda de dados.lsblk -
Execute o comando de inicialização, substituindo
YOUR_DEVICE_NAMEpelo 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_NAMEEsse comando:
-
Formata o dispositivo (apaga todos os dados).
-
Prepara para uso pelo serviço de backup.
-
Configura para montar automaticamente em
/data/backupna inicialização do sistema. -
Se estiver em um ambiente em cluster, configure o nó em
cluster.confcom o papelbackup-server.
-
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 precise desconectar o disco de backup de GitHub Enterprise Server, siga as etapas abaixo.
-
Listar dispositivos de bloco e desmontar
/data/backup.sudo lsblk sudo umount /data/backup -
Liste os volumes lógicos e desative-os.
sudo lvs sudo lvchange -an <backup_VG>/<backup_LV> -
Desanexe o disco usando o console ou a CLI fornecida pelo provedor de nuvem ou hipervisor.
-
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:
-
Conecte-se à sua instância por SSH como o usuário
admin. -
Anexe o disco à instância.
-
Crie o ponto de montagem se não houver um.
sudo mkdir -p /data/backup -
Habilite e inicie o serviço de montagem.
sudo systemctl enable ghe-backup-disk.service sudo systemctl start ghe-backup-disk.serviceIsso montará o dispositivo em
/data/backupe garantirá que ele seja montado automaticamente no futuro.
Definindo as configurações de backup
Após a montagem do destino do backup, a página do Serviço de Backup ficará disponível em Console de Gerenciamento na seção "Backup". Se sua instância fizer parte de um ambiente em cluster, a página Serviço de Backup estará disponível após ghe-config-apply.
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 do GitHub Enterprise Server Backup Utilities, poderá transferir sua configuração de duas maneiras:
-
**Configuração manual**: recrie as configurações diretamente no Console de Gerenciamento. -
**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.configUse o sinalizador
--dry-runpara visualizar as alterações sem aplicá-las.
Fazer um backup
Depois que o serviço estiver configurado, você poderá fazer um backup manualmente usando as seguintes etapas:
- No Console de Gerenciamento, abra a guia "Backups" no menu superior.
- Clique em Backup Agora.
Um backup de GitHub Enterprise Server será realizado e exibido em uma lista.
Agendando backups automatizados
Depois que o serviço estiver configurado, você poderá definir um agendamento de backup.
- Em Console de Gerenciamento, abra a guia "Configurações" no menu superior.
- Na seção "Backup", escolha um agendamento predefinido (por exemplo, Diário) ou insira uma expressão cron personalizada.
- Clique em Salvar configurações 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.