Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.
Versión del artículo: Enterprise Server 2.15

Esta versión de GitHub Enterprise se discontinuará el Esta versión de GitHub Enterprise se discontinuó el 2019-10-16. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. For better performance, improved security, and new features, upgrade to the latest version of GitHub Enterprise. For help with the upgrade, contact GitHub Enterprise support.

Acerca de la configuración de alta disponibilidad

En una configuración de alta disponibilidad, un aparato secundario Servidor de GitHub Enterprise totalmente redundante se mantiene en sincronización con el aparato principal mediante la replicación de todos los almacenes de datos importantes.

Cuando configuras la alta disponibilidad, hay una configuración automática unidireccional, una replicación asincrónica de todos los almacenes de datos (repositorios de Git, MySQL, Redis y Elasticsearch) desde el aparato principal hacia la réplica.

Servidor de GitHub Enterprise admite una configuración activa/pasiva, en la que el aparato réplica se ejecuta como en un modo de espera con los servicios de base de datos ejecutándose en modo de replicación, pero con los servicios de aplicación detenidos.

En este artículo

Escenarios de fallas específicas

Utiliza la configuración de alta disponibilidad para la protección contra lo siguiente:

Una configuración de alta disponibilidad no es una buena solución para lo siguiente:

Estrategias de conmutación por error del tráfico de red

Durante la conmutación por error, debes configurar por separado y administrar el tráfico de red de redireccionamiento desde el aparato principal hacia la réplica.

Conmutación por error de DNS

Con la conmutación por error de DNS, utiliza valores TTL cortos en los registros DNS que se dirijan al aparato principal Servidor de GitHub Enterprise. Recomendamos un TTL de entre 60 segundos y cinco minutos.

Durante la conmutación por error, debes colocar el aparato principal en modo de mantenimiento y redirigir sus registros DNS hacia la dirección IP del aparato réplica. El tiempo necesario para redirigir el tráfico desde el aparato principal hacia la réplica dependerá de la configuración TTL y del tiempo necesario para actualizar los registros DNS.

Si estás utilizando la replicación geográfica, debes configurar Geo DNS en tráfico directo hacia la réplica más cercana. Para obtener más informació, consulta "Acerca de la replicación geográfica."

Balanceador de carga

A load balancer design uses a network device to direct Git and HTTP traffic to individual Servidor de GitHub Enterprise appliances. You can use a load balancer to restrict direct traffic to the appliance for security purposes or to redirect traffic if needed without DNS record changes. We strongly recommend using a TCP-based load balancer that supports the PROXY protocol. DNS lookups for the Servidor de GitHub Enterprise hostname should resolve to the load balancer. We recommend that you enable subdomain isolation. If subdomain isolation is enabled, an additional wildcard record (*.HOSTNAME) should also resolve to the load balancer. Para obtener más información, consulta "Habilitar el aislamiento de subdominio."

Durante la conmutación por error, debes colocar el aparato principal en el modo de mantenimiento. Puedes configurar el balanceador de carga para que detecte automáticamente cuando la réplica se haya promovido a principal, o puede que se requiera un cambio de configuración manual. Debes promover manualmente la réplica a principal antes de que responda al tráfico de usuarios. Para obtener más información, consulta "Utilizar Servidor de GitHub Enterprise con un balanceador de carga."

Puedes verificar la disponibilidad del Servidor de GitHub Enterprise al controlar el código de estado que devuelve la URL https://HOSTNAME/status. Un aparato que puede servir el tráfico de usuario devolverá un código de estado de 200 (OK). Un aparato puede devolver un 503 (Servicio no disponible) por distintas razones:

También puedes utilizar el Tablero de resumen de replicación disponible en:

https://HOSTNAME/setup/replication

Utilidades para la administración de la replicación

Para administrar la replicación en Servidor de GitHub Enterprise, haz uso de estas utilidades de la línea de comando conectándote al aparato réplica con SSH.

ghe-repl-setup

El comando ghe-repl-setup coloca un aparato Servidor de GitHub Enterprise en modo de espera de réplica.

admin@169-254-1-2:~$ ghe-repl-setup 169.254.1.1
Verificar la conectividad ssh con 169.254.1.1 ...
Comprobación de conexión exitosa.
Configurando la replicación de base de datos en oposición al principal...
Exitoso: El modo réplica está configurado para 169.254.1.1.
Para inhabilitar el modo réplica y deshacer estos cambios, ejecuta `ghe-repl-teardown'.
Ejecuta `ghe-repl-start' para comenzar la replicación en oposición al principal recientemente configurado.

ghe-repl-start

El comando ghe-repl-start inicia la replicación activa de todos los almacenes de datos.

admin@169-254-1-2:~$ ghe-repl-start
Starting OpenVPN tunnel ... 
Iniciando la replicación de MySQL...
Iniciando la replicación de Redis...
Iniciando la replicación de ElasticSearch...
Iniciando la replicación de Páginas...
Iniciando la replicación de Git...
Exitoso: La replicación se está ejecutando para todos los servicios.
Utiliza `ghe-repl-status' para monitorear el estado y el progreso de la replicación.

ghe-repl-status

El comando ghe-repl-status muestra un estado de OK, ADVERTENCIA o CRÍTICO para cada corriente de replicación de almacén de datos. Cuando cualquiera de los canales de replicación está en estado ADVERTENCIA, el comando se cerrará con el código 1. Del mismo modo, cuando cualquiera de los canales esté en un estado CRÍTICO, el comando se cerrará con el código 2.

admin@169-254-1-2:~$ ghe-repl-status
OK: replicación de mysql en sinc
OK: la replicación de redis está en sinc
OK: la agrupación de elasticsearch está en sinc
OK: los datos de git están en sinc (10 repos, 2 wikis, 5 gists)
OK: los datos de páginas están en sinc

Las opciones -v y -vv dan detalles sobre cada uno de los estados de replicación de almacén de datos:

$ ghe-repl-status -v
OK: replicación de mysql en sinc
  | IO en ejecución: Sí, SQL en ejecución: Sí, Demora: 0

OK: la replicación de redis está en sinc
  | master_host:169.254.1.1
  | master_port:6379
  | master_link_status:up
  | master_last_io_seconds_ago:3
  | master_sync_in_progress:0

OK: la agrupación de elasticsearch está en sinc
  | {
  |   "cluster_name" : "github-enterprise",
  |   "status" : "green",
  |   "timed_out" : falso,
  |   "number_of_nodes" : 2,
  |   "number_of_data_nodes" : 2,
  |   "active_primary_shards" : 12,
  |   "active_shards" : 24,
  |   "relocating_shards" : 0,
  |   "initializing_shards" : 0,
  |   "unassigned_shards" : 0
  | }

OK: los datos de git están en sinc (366 repos, 31 wikis, 851 gists)
  |                   TOTAL         OK      FALLA    PENDIENTE      CON DEMORA
  | repositorios        366        366          0          0        0.0
  |        wikis         31         31          0          0        0.0
  |        gists        851        851          0          0        0.0
  |        total       1248       1248          0          0        0.0

OK: los datos de páginas están en sinc
  | Las páginas están en sinc

ghe-repl-stop

El comando ghe-repl-stop inhabilita temporalmente la replicación de todos los almacenes de datos y detiene los servicios de replicación. Para reanudar la replicación, utiliza el comando ghe-repl-start.

admin@168-254-1-2:~$ ghe-repl-stop
Deteniendo la replicación de Páginas...
Deteniendo la replicación de Git...
Deteniendo la replicación de MySQL...
Deteniendo la replicación de Redis...
Deteniendo la replicación de Elasticsearch ...
Deteniendo el túnel OpenVPN ...
Exitoso: se detuvo la replicación para todos los servicios.

ghe-repl-promote

El comando ghe-repl-promote inhabilita la replicación y convierte el aparato réplica en principal. El aparato se configura con los mismos ajustes que el principal original y se habilitan todos los servicios.

Promoting a replica does not automatically set up replication for existing appliances. After promoting a replica, if desired, you can set up replication from the new primary to existing appliances and the previous primary.

admin@168-254-1-2:~$ ghe-repl-promote
Habilitando el modo de mantenimiento en el aparato principal para evitar escrituras...
Deteniendo la replicación...
  | Deteniendo la replicación de Páginas...
  | Deteniendo la replicación de Git...
  | Deteniendo la replicación de MySQL...
  | Deteniendo la replicación de Redis...
  | Deteniendo la replicación de Elasticsearch ...
  | Deteniendo el túnel OpenVPN ...
  | Exitoso: se detuvo la replicación para todos los servicios.
Cambiando del modo réplica...
  | Exitoso: se eliminó la configuración de la replicación.
  | Ejecuta `ghe-repl-setup' para volver a habilitar el modo réplica.
Aplicando la configuración e iniciando los servicios...
Exitoso: la réplica se promovió a principal y ahora está aceptando solicitudes.

ghe-repl-teardown

El comando ghe-repl-teardown inhabilita el modo de replicación por completo, eliminando la configuración de la réplica.

Leer más

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos