Configurar copias de seguridad en tu aparato
Como parte de un plan de recuperación ante desastres, puedes proteger los datos de producción en tu instancia de servidor de GitHub Enterprise configurando copias de seguridad automáticas.
En esta guía
- Acerca de Utilidades de respaldo del servidor de GitHub Enterprise
- Prerrequisitos
- Instalar Utilidades de respaldo del servidor de GitHub Enterprise
- Programar una copia de seguridad
- Recuperar una copia de seguridad
Acerca de Utilidades de respaldo del servidor de GitHub Enterprise
Utilidades de respaldo del servidor de GitHub Enterprise es un sistema de copias de seguridad que instalas en un host separado, el cual realiza instantáneas de copias de seguridad de tu instancia de servidor de GitHub Enterprise en intervalos regulares a través de una conexión de red SSH segura. Puedes utilizar una instantánea para restablecer una instancia existente del Servidor de GitHub Enterprise a su estado previo desde el host de copias de seguridad.
Solo se transferirán por la red y ocuparán espacio de almacenamiento físico adicional los datos que se hayan agregado después de esa última instantánea. Para minimizar el impacto en el rendimiento, las copias de seguridad se realizan en línea con la prioridad CPU/IO más baja. No necesitas programar una ventana de mantenimiento para realizar una copia de seguridad.
Para obtener información más detallada sobre las funciones, los requisitos y el uso avanzado, consulta Utilidades de respaldo del servidor de GitHub Enterprise README.
Prerrequisitos
Para utilizar Utilidades de respaldo del servidor de GitHub Enterprise, debes tener un sistema de host Linux o Unix separado de tu instancia de servidor de GitHub Enterprise.
También puedes incorporar Utilidades de respaldo del servidor de GitHub Enterprise en un entorno existente para almacenar los datos críticos de manera permanente y a largo plazo.
Recomendamos que exista una distancia geográfica entre el host de copias de seguridad y tu instancia de servidor de GitHub Enterprise. Esto asegura que las copias de seguridad estén disponibles para su recuperación en el caso de que ocurra un desastre significativo o una interrupción de red en el sitio principal.
Los requisitos de almacenamiento físico variarán en función del uso del disco del repositorio de Git y de los patrones de crecimiento esperados:
Hardware | Recomendación |
---|---|
vCPU | 2 |
Memoria | 2 GB |
Almacenamiento | Cinco veces el almacenamiento asignado de la instancia principal |
Es posible que se requieran más recursos según su uso, como la actividad del usuario y las integraciones seleccionadas.
Instalar Utilidades de respaldo del servidor de GitHub Enterprise
Nota: Para asegurar que un aparato recuperado esté disponible de inmediato, realiza copias de seguridad apuntando a la instancia principal, incluso en una configuración de replicación geográfica.
-
Desgarga el último lanzamiento de Utilidades de respaldo del servidor de GitHub Enterprise y extrae el archivo con el comando
tar
.$ tar -xzvf /path/to/github-backup-utils-vMAJOR.MINOR.PATCH.tar.gz
- Copy the included
backup.config-example
file tobackup.config
and open in an editor. - Set the
GHE_HOSTNAME
value to your primary Servidor de GitHub Enterprise instance's hostname or IP address. - Set the
GHE_DATA_DIR
value to the filesystem location where you want to store backup snapshots. - Open your primary instance's settings page at
https://HOSTNAME/setup/settings
and add the backup host's SSH key to the list of authorized SSH keys. For more information, see Accessing the administrative shell (SSH). -
Verify SSH connectivity with tu instancia de servidor de GitHub Enterprise with the
ghe-host-check
command.$ bin/ghe-host-check
-
To create an initial full backup, run the
ghe-backup
command.$ bin/ghe-backup
For more information on advanced usage, see the Utilidades de respaldo del servidor de GitHub Enterprise README.
Programar una copia de seguridad
You can schedule regular backups on the backup host using the cron(8)
command or a similar command scheduling service. La frecuencia de copias de seguridad configurada dictará el peor caso de Punto Objetivo de Recuperación (RPO) de tu plan de recuperación. Por ejemplo, si has programado que la copia de seguridad se ejecute todos los días a la medianoche, podrías perder hasta 24 horas de datos en un escenario de desastre. Recomendamos comenzar con un cronograma de copias de seguridad por hora, que garantice un peor caso máximo de una hora de pérdida de datos, si los datos del sitio principal se destruyen.
If backup attempts overlap, the ghe-backup
command will abort with an error message, indicating the existence of a simultaneous backup. Si esto ocurre, recomendamos que disminuyas la frecuencia de tus copias de seguridad programadas. For more information, see the "Scheduling backups" section of the Utilidades de respaldo del servidor de GitHub Enterprise README.
Recuperar una copia de seguridad
In the event of prolonged outage or catastrophic event at the primary site, you can restore tu instancia de servidor de GitHub Enterprise by provisioning another GitHub Enterprise appliance and performing a restore from the backup host. Debes agregar la clave SSH del host de copias de seguridad en el aparato objetivo GitHub Enterprise como una clave SSH autorizada antes de restablecer un aparato.
To restore tu instancia de servidor de GitHub Enterprise from the last successful snapshot, use the ghe-restore
command. Debes ver un resultado similar a este:
$ ghe-restore -c 169.154.1.1
> Checking for leaked keys in the backup snapshot that is being restored ...
> * No se encontraron claves filtradas
> Conectarse a 169.154.1.1:122 OK (v2.9.0)
> ADVERTENCIA: Todos los datos del aparato GitHub Enterprise 169.154.1.1 (v2.9.0)
> se sobrescribirán con los datos de la instantánea 20170329T150710.
> Antes de continuar, verifica que sea el host de restauración correcto.
> Escribe 'yes' (sí) para continuar: yes
> Comenzando la restauración de 169.154.1.1:122 desde la instantánea 20170329T150710
# ...resultado truncado
> Restauración completa de 169.154.1.1:122 desde la instantánea 20170329T150710
> Visita https://169.154.1.1/setup/settings para revisar la configuración del aparato.
Nota: Los ajustes de red están excluidos de la instantánea de copias de seguridad. Debes configurar manualmente la red en el aparato objetivo para el Servidor de GitHub Enterprise como obligatoria para tu entorno.
Puedes utilizar estas otras opciones con el comando ghe-restore
:
- La marca
-c
sobrescribe los ajustes, el certificado y los datos de licencia en el host objetivo, incluso si ya está configurado. Omite esta marca si estás configurando una instancia de preparación con fines de prueba y si quieres conservar la configuración existente en el objetivo. Para obtener más información, consulta la sección "Utilizar una copia de seguridad y restablecer los comandos" de Utilidades de respaldo del servidor de GitHub Enterprise README. - La marca
-s
te permite seleccionar otra instantánea de copias de seguridad.