Skip to main content

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.

Advertencia: El nodo de reemplazo debe usar un nombre de host que no se haya usado antes en el clúster para evitar conflictos.

Reemplazar un nodo funcional

  1. Aprovisione e instale GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo. 1. Mediante el shell administrativo o DHCP, configure solo la dirección IP del nodo de reemplazo. No configures los otros parámetros. 1. Para agregar el nodo de reemplazo recién aprovisionado, en cualquier nodo, cluster.conf para quitar el nodo con error y agregar el de reemplazo. Por ejemplo, este archivo cluster.conf modificado reemplaza ghe-data-node-3 por el nodo recién aprovisionado, 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
    
    1. Desde el shell administrativo del nodo con el valor `cluster.conf` modificado, ejecute `ghe-cluster-config-init`. Esto iniciará el nodo recién agregado en la agrupación. 1. En el mismo nodo, ejecute `ghe-cluster-config-apply`. Esto validará el archivo de configuración, lo copiará en cada nodo del clúster y configurará cada nodo según el archivo `cluster.conf` modificado. 1. Si va a dejar sin conexión un nodo que tiene `git-server = true` establecido en cluster.conf, debe evacuar el nodo. Para más información, vea "[Evacuación de un nodo de clúster](/enterprise/admin/clustering/evacuating-a-cluster-node)". 1. Para marcar el nodo con errores sin conexión, en cualquier nodo, modifique el [archivo de configuración del clúster](/enterprise/admin/guides/clustering/initializing-the-cluster/#about-the-cluster-configuration-file) (`cluster.conf`) en la sección del nodo correspondiente para incluir el texto `offline = true`.

    Por ejemplo, este valor cluster.conf modificado marcará el nodo ghe-data-node-3 como sin conexión:

      [cluster "ghe-data-node-3"]
      hostname = ghe-data-node-3
      offline = true
      ipv4 = 192.168.0.6
      # ipv6 = fd12:3456:789a:1::6
      
    1. Desde el shell administrativo del nodo donde ha modificado `cluster.conf`, ejecute `ghe-cluster-config-apply`. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y marcará el nodo fuera de línea. 1. Si va a reemplazar el nodo principal de MySQL o Redis, en `cluster.conf`, modifique el valor `mysql-master` o `redis-master` por el nombre del nodo de reemplazo.

    Por ejemplo, en este archivo cluster.conf modificado se especifica un nodo de clúster 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. Aprovisione e instale GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo. 1. Mediante el shell administrativo o DHCP, configure solo la dirección IP del nodo de reemplazo. No configures los otros parámetros. 1. Para marcar el nodo con errores sin conexión, en cualquier nodo, modifique el archivo de configuración del clúster (cluster.conf) en la sección del nodo correspondiente para incluir el texto offline = true.

    Por ejemplo, este valor cluster.conf modificado marcará el nodo ghe-data-node-3 como sin conexión:

      [cluster "ghe-data-node-3"]
      hostname = ghe-data-node-3
      offline = true
      ipv4 = 192.168.0.6
      # ipv6 = fd12:3456:789a:1::6
      
    1. Desde el shell administrativo del nodo donde ha modificado `cluster.conf`, ejecute `ghe-cluster-config-apply`. Esto validará el archivo de configuración, lo copiará en cada nodo de la agrupación y marcará el nodo fuera de línea. 1. Para agregar el nodo de reemplazo recién aprovisionado, en cualquier nodo, `cluster.conf` para quitar el nodo con error y agregar el de reemplazo. Por ejemplo, este archivo `cluster.conf` modificado reemplaza `ghe-data-node-3` por el nodo recién aprovisionado, `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
    
    1. Si va a reemplazar el nodo principal de MySQL o Redis, en `cluster.conf`, modifique el valor `mysql-master` o `redis-master` por el nombre del nodo de reemplazo.

    Por ejemplo, en este archivo cluster.conf modificado se especifica un nodo de clúster 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
    
    1. Desde el shell administrativo del nodo con el valor `cluster.conf` modificado, ejecute `ghe-cluster-config-init`. Esto iniciará el nodo recién agregado en la agrupación. 1. En el mismo nodo, ejecute `ghe-cluster-config-apply`. Esto validará el archivo de configuración, lo copiará en cada nodo del clúster y configurará cada nodo según el archivo `cluster.conf` modificado. 1. Si va a dejar sin conexión un nodo que tiene `git-server = true` establecido en cluster.conf, debe evacuar el nodo. Para más información, vea "[Evacuación de un nodo de clúster](/enterprise/admin/clustering/evacuating-a-cluster-node)".