Note
Se permite un máximo de ocho réplicas de alta disponibilidad (tanto pasivas como activas o de replicación geográfica, así como instancias almacenadas en caché de repositorio) para GitHub Enterprise Server.
Crear una réplica de alta disponibilidad
-
Configurar un aparato GitHub Enterprise Server nuevo en la plataforma que desees. El aparato réplica debe espejar la CPU, la RAM y los ajustes de almacenamiento del aparato principal. Recomendamos que instales el aparato réplica en un entorno separado. El hardward subyacente, el software y los componentes de red deben estar aislados de los del aparato principal. Si estás usando un proveedor de nube, utiliza una región o zona separada. Para más información, consulta Configurar una instancia del servidor de GitHub Enterprise.
-
Asegúrate de que el nuevo dispositivo puede comunicarse con todos los demás dispositivos de este entorno de alta disponibilidad a través de los puertos 122/TCP y 1194/UDP. Para más información, consulta Puertos de red.
-
Desde un navegador, dirígete a la nueva dirección IP del aparato réplica y carga tu licencia GitHub Enterprise.
-
Establece una contraseña de administrador que coincida con la contraseña del aparato principal y continúa.
-
Haga clic en Configurar como réplica.
-
En "Agregar nueva clave SSH", escribe tu clave SSH.
-
Haga clic en Add key.
-
Conectarse a la dirección IP del aparato réplica usando SSH.
ssh -p 122 admin@REPLICA_IP -
A fin de generar un par de claves para la replicación, use el comando
ghe-repl-setupcon la dirección IP del dispositivo principal y copie la clave pública que devuelve.ghe-repl-setup PRIMARY_IP -
Para agregar la clave pública a la lista de claves autorizadas en el dispositivo principal, vaya a
https://PRIMARY-HOSTNAME/setup/settingsy agregue a la lista la clave que ha copiado de la réplica. -
Para comprobar la conexión al dispositivo principal y habilitar el modo de réplica para la réplica nueva, vuelva a ejecutar
ghe-repl-setup.ghe-repl-setup PRIMARY_IP -
Para iniciar la replicación de los almacenes de datos, use el comando
ghe-repl-start.ghe-repl-startWarning
ghe-repl-startproduce una breve interrupción en el servidor principal, durante la cual los usuarios pueden experimentar errores internos del servidor. Para proporcionar un mensaje más descriptivo, ejecuteghe-maintenance -sen el nodo principal antes de ejecutarghe-repl-starten el nodo de réplica para poner el dispositivo en modo de mantenimiento. Una vez que la comience la replicación, inhabilite el modo de mantenimiento conghe-maintenance -u. La replicación de Git no progresará mientras el nodo primario esté en modo de mantenimiento. -
Para comprobar el estado del canal de replicación de cada almacén de datos, use el comando
ghe-repl-status.ghe-repl-status
Crear réplicas de replicación geográfica
Esta configuración de ejemplo utiliza una réplica primaria y dos réplicas, que se encuentran en tres regiones geográficas diferentes. Aunque los tres nodos pueden estar en redes diferentes, se necesitan todos los nodos para que sean accesibles desde todos los demás nodos. Como mínimo, los puertos administrativos requeridos deben estar abiertos para todos los demás nodos. Para más información sobre los requisitos de puerto, consulta Puertos de red.
La latencia entre los nodos principal y de réplica debe ser inferior a 70 milisegundos. No recomendamos configurar un firewall entre las redes de los nodos. Si la latencia es superior a 70 milisegundos, se recomienda en su lugar almacenar en caché los nodos de réplica. Para más información, consulta Configurar el caché de un repositorio.
-
Crea la primera réplica de la misma manera que una configuración de dos nodos estándar, mediante la ejecución de
ghe-repl-setupen la primera réplica.(replica1)$ ghe-repl-setup PRIMARY_IP (replica1)$ ghe-repl-start -
Cree una segunda réplica y use el comando
ghe-repl-setup --add. La marca--addevita que sobrescriba la configuración de replicación existente y agrega la nueva réplica a la configuración.(replica2)$ ghe-repl-setup --add PRIMARY_IP (replica2)$ ghe-repl-start -
Predeterminadamente, las replicas se configuran en el mismo centro de datos, y ahora intentarán poblar los datos desde un nodo existente en el mismo centro de datos. Configura las réplicas para diferentes centros de datos estableciendo un valor diferente para la opción de centro de datos. Los valores específicos pueden ser los que tú quieras, siempre que sean diferentes entre sí. Ejecute el comando
ghe-repl-nodeen cada nodo y especifique el centro de datos.En la primaria:
(primary)$ ghe-repl-node --datacenter [PRIMARY DC NAME]En la primera réplica:
(replica1)$ ghe-repl-node --datacenter [FIRST REPLICA DC NAME]En la segunda réplica:
(replica2)$ ghe-repl-node --datacenter [SECOND REPLICA DC NAME]Tip
Puedes establecer las opciones
--datacentery--activeal mismo tiempo. -
Un nodo de réplica activo almacenará copias de los datos del aparato y responderá las solicitudes de usuario final. Un nodo inactivo almacenará copias de los datos del aparato, pero no podrá atender las solicitudes de usuario final. Habilite el modo activo mediante la marca
--active, o bien el modo inactivo con la marca--inactive.En la primera réplica:
(replica1)$ ghe-repl-node --activeEn la segunda réplica:
(replica2)$ ghe-repl-node --active -
Para aplicar la configuración, use el comando
ghe-config-applyen la réplica principal.(primary)$ ghe-config-apply
Configurar el DNS para replicación geográfica
Configurar Geo DNS usando las direcciones IP de los nodos primarios y réplica. También puede crear un CNAME DNS para el nodo principal (por ejemplo, primary.github.example.com) para acceder al nodo principal mediante SSH o para realizar una copia de seguridad con backup-utils.
Para las pruebas, puede agregar entradas al archivo hosts de la estación de trabajo local (por ejemplo, /etc/hosts). Estas entradas de ejemplo resolverán las solicitudes de HOSTNAME en replica2. Puedes apuntar a hosts específicos comentando en diferentes líneas.
# <primary IP> HOSTNAME
# <replica1 IP> HOSTNAME
<replica2 IP> HOSTNAME