Antes de configurar el servicio de copia de seguridad, asegúrate de que tienes:
- Una instancia de GitHub Enterprise Server que ejecute la versión 3.17 o posterior.
- Un volumen de almacenamiento dedicado aprovisionado y administrado para su uso como destino de copia de seguridad.
Requisitos de almacenamiento
Para garantizar copias de seguridad confiables y eficaces, el almacenamiento debe cumplir los siguientes requisitos:
-
Capacidad: asigna al menos cinco veces la cantidad de almacenamiento que usa el disco del dispositivo GitHub. Esto tiene en cuenta las instantáneas históricas y el crecimiento futuro.
-
Compatibilidad con el sistema de archivos: el servicio de copia de seguridad usa vínculos físicos para un almacenamiento eficaz y la instancia de GitHub usa vínculos simbólicos. El destino de copia de seguridad debe admitir vínculos simbólicos y físicos, y debe usar un sistema de archivos que distingue mayúsculas de minúsculas para evitar conflictos.
Puedes probar si el sistema de archivos admite vínculos físicos de vínculos simbólicos mediante la ejecución de:
touch file ln -s file symlink ln symlink hardlink ls -la
Si el comando
ln symlink hardlink
se completa correctamente, se admite el sistema de archivos. -
Rendimiento: usa el almacenamiento de alto rendimiento con baja latencia e IOPS elevadas para evitar copias de seguridad y restauraciones lentas.
-
NFS: evita usar un montaje NFS para el directorio de copia de seguridad (normalmente
/data/backup
), ya que esto puede provocar tiempos de espera y un rendimiento degradado.
Configuración del servicio de copia de seguridad
Puedes configurar GitHub Enterprise Server Backup Service a través de Consola de administración.
Configuración del destino de copia de seguridad
Antes de configurar el servicio, debes preparar el volumen de almacenamiento donde se almacenarán las copias de seguridad.
Uso de un nuevo dispositivo de bloque
Si usas un dispositivo de bloque dedicado como destino de copia de seguridad, debes inicializarlo a través de SSH antes de continuar en Consola de administración. Este proceso formateará el dispositivo y borrará todos los datos existentes.
-
Conéctate a la instancia a través de SSH como usuario
admin
. Consulta Acceder al shell administrativo (SSH). -
Adjunta el dispositivo de bloque de copia de seguridad a la instancia.
-
Identifica el nombre del dispositivo mediante
lsblk
para enumerar los dispositivos de bloque disponibles. Asegúrate de seleccionar el dispositivo correcto para evitar la pérdida de datos.lsblk
-
Ejecuta el comando de inicialización y reemplaza
YOUR_DEVICE_NAME
por el nombre de dispositivo real identificado en el paso anterior.Advertencia
Este comando borrará permanentemente todos los datos del dispositivo especificado. Comprueba el nombre del dispositivo y realiza una copia de seguridad de los datos importantes antes de continuar.
ghe-storage-init-backup /dev/YOUR_DEVICE_NAME
Este comando:
- Formatea al dispositivo (borra todos los datos).
- Lo prepara para que lo use el servicio de copia de seguridad.
- Establece que se monte automáticamente en
/data/backup
durante el arranque.
Reutilización de un disco inicializado anteriormente
Si el dispositivo ya se inicializó mediante ghe-storage-init-backup
, puedes reutilizarlo sin volver a formatear:
-
Conéctate a la instancia a través de SSH como usuario
admin
. -
Conecta el disco a la instancia.
-
Crea el punto de montaje, si no existe.
sudo mkdir -p /data/backup
-
Habilita e inicia el servicio de montaje.
sudo systemctl enable ghe-backup-disk.service sudo systemctl start ghe-backup-disk.service
Esto montará el dispositivo en
/data/backup
y garantiza que se monta automáticamente en el futuro.
Configuración de las opciones de copia de seguridad
Una vez montado el destino de copia de seguridad, la página Servicio de copia de seguridad estará disponible en Consola de administración. Si usas un dispositivo de bloque, esto requiere completar los pasos de inicialización o montaje anteriores.
Nota:
La página de configuración no aparecerá hasta que el almacenamiento de copia de seguridad se monte en /data/backup
.
Si vas a migrar desde GitHub Enterprise Server Backup Utilities, puedes transferir la configuración de una de estas dos maneras:
-
Configuración manual: vuelve a crear la configuración directamente en Consola de administración.
-
Migración de la línea de comandos: SSH en la instancia, copia el archivo
backup.config
desde backup-utils y ejecuta:ghe-migrate-backup-config /path/to/your/backup.config
Usa la marca
--dry-run
para obtener una vista previa de los cambios sin aplicarlos.
Programación de copias de seguridad automatizadas
Una vez configurado el servicio, puedes definir una programación de copia de seguridad.
- En Consola de administración, abre la página "Servicio de copia de seguridad".
- En la sección "Programación de copia de seguridad", elige una programación predefinida (por ejemplo, Diaria) o escribe una expresión cron personalizada.
- Haga clic en Guardar para aplicar los cambios.
La primera ejecución será una copia de seguridad completa. Las ejecuciones futuras serán incrementales. Si se inicia un nuevo intento de copia de seguridad mientras se está ejecutando uno anterior, se puede omitir o producir un error. En ese caso, ajusta la programación para evitar superposición.