👋 We've unified all of GitHub's product documentation in one place! Check out the content for REST API, GraphQL API, and Developers. Learn more on the GitHub blog.


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.19

Reemplazar un nodo de agrupación

Para reemplazar un nodo GitHub Enterprise Server, debes marcar los nodos fuera de línea afectados en el archivo de configuración de la agrupación (cluster.conf) y agregar los nodos de reemplazo. Esto puede ser necesario en caso de que un nodo falle, o para agregar un nodo con más recursos a fin de aumentar el rendimiento.

En este artículo

Advertencia El nodo de reemplazo debe usar un nodo de nombre de host que no haya sido usado anteriormente en la agrupación para evitar conflictos.

Reemplazar un nodo funcional

  1. Aprovisiona e instala el GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo.

  2. Usando el shell administrativo o DHCP, configura solo la dirección IP del nodo de reemplazo. No configures los otros parámetros.

  3. Para agregar el nodo de reemplazo proporcionado recientemente, en cualquier nodo, modifica el archivo cluster.conf para eliminar el nodo fallido y agregar el nodo de reemplazo. Por ejemplo, este archivo cluster.conf modificado reemplaza el ghe-data-node-3 con el nodo proporcionado recientemente, ghe-replacement-data-node-3:

    [cluster "ghe-replacement-data-node-3"]
    hostname = ghe-replacement-data-node-3
    ipv4 = 192.168.0.7

    ipv6 = fd12:3456:789a:1::7

    git-server = true pages-server = true mysql-server = true elasticsearch-server = true redis-server = true memcache-server = true metrics-server = true storage-server = true

  4. Desde el shell administrativo del nodo con el archivo cluster.conf modificado, ejecuta ghe-cluster-config-init . Esto iniciará el nodo recién agregado en la agrupación.

  5. Desde el mismo nodo, ejecuta ghe-cluster-config-apply. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y configurará cada nodo según el archivo cluster.conf modificado.

  6. Si vas a tomar un nodo fuera de línea que tiene git-server = true establecido en cluster.conf, evacua el nodo. Para obtener más información, consulta "Evacuar un nodo de la agrupación".

  7. Para marcar el nodo que falló fuera de línea, en cualquier nodo, modifica el archivo de configuración de agrupación (cluster.conf) en la sección de nodo correspondiente para incluir el texto offline = true.

    Por ejemplo, este archivo cluster.conf modificado marcará el nodo ghe-data-node-3 como fuera de línea:

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  8. Desde el shell administrativo del nodo en el que modificaste el archivo cluster.conf, ejecuta ghe-cluster-config-init. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y marcará el nodo fuera de línea.

  9. Si vas a reemplazar el nodo principal de MySQL o el nodo principal de Redis, en cluster.conf, cambia el valor de mysql-master o redis-master por el nombre del nodo de reemplazo.

    Por ejemplo, este archivo cluster.conf modificado especifica un nodo de la agrupación recién aprovisionado, ghe-replacement-data-node-1, como nodo principal de MySQL y Redis:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1

Reemplazar un nodo en una emergencia

  1. Aprovisiona e instala el GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo.

  2. Usando el shell administrativo o DHCP, configura solo la dirección IP del nodo de reemplazo. No configures los otros parámetros.

  3. Para marcar el nodo que falló fuera de línea, en cualquier nodo, modifica el archivo de configuración de agrupación (cluster.conf) en la sección de nodo correspondiente para incluir el texto offline = true.

    Por ejemplo, este archivo cluster.conf modificado marcará el nodo ghe-data-node-3 como fuera de línea:

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  4. Desde el shell administrativo del nodo en el que modificaste el archivo cluster.conf, ejecuta ghe-cluster-config-init. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y marcará el nodo fuera de línea.

  5. Para agregar el nodo de reemplazo proporcionado recientemente, en cualquier nodo, modifica el archivo cluster.conf para eliminar el nodo fallido y agregar el nodo de reemplazo. Por ejemplo, este archivo cluster.conf modificado reemplaza el ghe-data-node-3 con el nodo proporcionado recientemente, ghe-replacement-data-node-3:

    [cluster "ghe-replacement-data-node-3"]
    hostname = ghe-replacement-data-node-3
    ipv4 = 192.168.0.7

    ipv6 = fd12:3456:789a:1::7

    git-server = true pages-server = true mysql-server = true elasticsearch-server = true redis-server = true memcache-server = true metrics-server = true storage-server = true

  6. Si vas a reemplazar el nodo principal de MySQL o el nodo principal de Redis, en cluster.conf, cambia el valor de mysql-master o redis-master por el nombre del nodo de reemplazo.

    Por ejemplo, este archivo cluster.conf modificado especifica un nodo de la agrupación recién aprovisionado, ghe-replacement-data-node-1, como nodo principal de MySQL y Redis:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1

  7. Desde el shell administrativo del nodo con el archivo cluster.conf modificado, ejecuta ghe-cluster-config-init . Esto iniciará el nodo recién agregado en la agrupación.

  8. Desde el mismo nodo, ejecuta ghe-cluster-config-apply. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y configurará cada nodo según el archivo cluster.conf modificado.

  9. Si vas a tomar un nodo fuera de línea que tiene git-server = true establecido en cluster.conf, evacua el nodo. Para obtener más información, consulta "Evacuar un nodo de la agrupación".

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos