Initiating a failover to your replica appliance

You can failover to a GitHub Enterprise Server replica appliance using the command line for maintenance and testing, or if the primary appliance fails.

The time required to failover depends on how long it takes to manually promote the replica and redirect traffic. The average time ranges between 2-10 minutes.

Promover una réplica no configura la replicación para aplicativos existentes automáticamente. Despues de promoverla, si así lo quieres, puedes configurar la replicacion desde el nuevo aplicativo principal hacia uno existente y hacia el aplicativo primario previo.

  1. To allow replication to finish before you switch appliances, put the primary appliance into maintenance mode:

  2. When the number of active Git operations, MySQL queries, and Resque jobs reaches zero, wait 30 seconds.

    Note: Nomad will always have jobs running, even in maintenance mode, so you can safely ignore these jobs.

  3. To verify all replication channels report OK, use the ghe-repl-status -vv command.

    $ ghe-repl-status -vv
  4. To stop replication and promote the replica appliance to primary status, use the ghe-repl-promote command. This will also automatically put the primary node in maintenance node if it’s reachable.

    $ ghe-repl-promote
  5. Update the DNS record to point to the IP address of the replica. Traffic is directed to the replica after the TTL period elapses. If you are using a load balancer, ensure it is configured to send traffic to the replica.

  6. Notify users that they can resume normal operations.

  7. If desired, set up replication from the new primary to existing appliances and the previous primary. For more information, see "About high availability configuration."

  8. Appliances you do not intend to setup replication to that were part of the high availability configuration prior the failover, need to be removed from the high availability configuration by UUID.

    • On the former appliances, get their UUID via cat /data/user/common/uuid.
      $ cat /data/user/common/uuid
    • On the new primary, remove the UUIDs using ghe-repl-teardown. Please replace UUID with a UUID you retrieved in the previous step.
      $ ghe-repl-teardown -u UUID

Further reading

¿Te ayudó este documento?

Política de privacidad

¡Ayúdanos a hacer geniales estos documentos!

Todos los documentos de GitHub son de código abierto. ¿Notas algo que esté mal o que no sea claro? Emite una solicitud de cambios.

Haz una contribución

O, aprende cómo contribuir.