Versión del artículo: Enterprise Server 2.17
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 nodo de nombre de host que no haya sido usado anteriormente en la agrupación para evitar conflictos.
Reemplazar un nodo funcional
-
Aprovisiona e instala el GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo.
-
Usando el shell administrativo o DHCP, configura solo la dirección IP del nodo de reemplazo. No configures los otros parámetros.
-
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 archivocluster.conf
modificado reemplaza elghe-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
-
Desde el shell administrativo del nodo con el archivo
cluster.conf
modificado, ejecutaghe-cluster-config-init
. Esto iniciará el nodo recién agregado en la agrupación. -
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 archivocluster.conf
modificado. -
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". -
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 textooffline = true
.Por ejemplo, este archivo
cluster.conf
modificado marcará el nodoghe-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
-
Desde el shell administrativo del nodo en el que modificaste el archivo
cluster.conf
, ejecutaghe-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. -
Si vas a reemplazar el nodo principal de MySQL o el nodo principal de Redis, en
cluster.conf
, cambia el valor demysql-master
oredis-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
-
Aprovisiona e instala el GitHub Enterprise Server con un nombre de host único en el nodo de reemplazo.
-
Usando el shell administrativo o DHCP, configura solo la dirección IP del nodo de reemplazo. No configures los otros parámetros.
-
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 textooffline = true
.Por ejemplo, este archivo
cluster.conf
modificado marcará el nodoghe-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
-
Desde el shell administrativo del nodo en el que modificaste el archivo
cluster.conf
, ejecutaghe-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. -
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 archivocluster.conf
modificado reemplaza elghe-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
-
Si vas a reemplazar el nodo principal de MySQL o el nodo principal de Redis, en
cluster.conf
, cambia el valor demysql-master
oredis-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
-
Desde el shell administrativo del nodo con el archivo
cluster.conf
modificado, ejecutaghe-cluster-config-init
. Esto iniciará el nodo recién agregado en la agrupación. -
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 archivocluster.conf
modificado. -
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".