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
-
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".
-
Asegúrate de que tanto el aplicativo primario como el de la réplica nueva puedan comunicarse el uno con el otro a través de los puertos 122/TCP y 1194/UDP. Para más información, vea "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-setup
con la dirección IP del dispositivo principal y copie la clave pública que devuelve.
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.$ ghe-repl-setup PRIMARY IP
-
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-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, ejecuteghe-maintenance -s
en el nodo principal antes de ejecutarghe-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 conghe-maintenance -u
. La replicación de Git no progresará mientras el nodo primario esté en modo de mantenimiento.$ 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".
-
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
-
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
-
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. -
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
-
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> <em>HOSTNAME</em>
# <replica1 IP> <em>HOSTNAME</em>
<replica2 IP> <em>HOSTNAME</em>