Skip to main content

Crear una réplica de alta disponibilidad

En una configuración activa/pasiva, el aparato réplica es una copia redundante del aparato principal. Si el aparato principal falla, el modo de alta disponibilidad permite que la réplica actúe como aparato principal, lo que posibilita que la interrupción del servicio sea mínima.

Nota: Se permite un máximo de ocho réplicas de alta disponibilidad (tanto pasivas como activas o de replicación geográfica) para GitHub Enterprise Server.

Crear una réplica de alta disponibilidad

  1. 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, vea "Configuración de una instancia de GitHub Enterprise Server".

  2. 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, vea "Puertos de red".

  3. Desde un navegador, dirígete a la nueva dirección IP del aparato réplica y carga tu licencia GitHub Enterprise.

  4. Establece una contraseña de administrador que coincida con la contraseña del aparato principal y continúa.

  5. Haga clic en Configurar como réplica. Opciones de instalación con vínculo para configurar la nueva instancia como una réplica

  6. En "Agregar nueva clave SSH", escribe tu clave SSH. Adición de la clave SSH

  7. Haga clic en Add key.

  8. Conectarse a la dirección IP del aparato réplica usando SSH.

    $ ssh -p 122 admin@REPLICA_IP
  9. A fin de generar un par de claves para la replicación, use el comando ghe-repl-setup con la dirección IP del dispositivo principal y copie la clave pública que devuelve.

    $ ghe-repl-setup PRIMARY IP
    1. Para agregar la clave pública a la lista de claves autorizadas en el dispositivo principal, vaya a `https://PRIMARY-HOSTNAME/setup/settings` y agregue a la lista la clave que ha copiado de la réplica.
  10. 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
  11. Para iniciar la replicación de los almacenes de datos, use el comando ghe-repl-start.

    $ ghe-repl-start

    Advertencia: ghe-repl-start produce 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, ejecute ghe-maintenance -s en el nodo principal antes de ejecutar ghe-repl-start en 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 con ghe-maintenance -u. La replicación de Git no progresará mientras el nodo primario esté en modo de mantenimiento.

    11. 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, vea "Puertos de red".

Para obtener alta disponibilidad, la latencia entre la red con los nodos activos y la red con los nodos pasivos debe ser inferior a 70 milisegundos. No te recomendamos configurar una firewall entre las dos redes. Si la latencia es superior a 70 milisegundos, se recomienda en su lugar almacenar en caché los nodos de réplica. Para obtener más información, consulta "Configuración de una caché de repositorio".

  1. 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-setup en la primera réplica.

    (replica1)$ ghe-repl-setup PRIMARY_IP
    (replica1)$ ghe-repl-start
  2. Cree una segunda réplica y use el comando ghe-repl-setup --add. La marca --add evita 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
  3. 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-node en 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]

    Sugerencia: Puede establecer las opciones --datacenter y --active al mismo tiempo.

  4. 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 --active

    En la segunda réplica:

    (replica2)$ ghe-repl-node --active
  5. Para aplicar la configuración, use el comando ghe-config-apply en 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 

Información adicional