Reemplazar un nodo de agrupación
Para reemplazar un nodo Servidor de GitHub Enterprise, 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.
En este artículo:
Reemplazar un nodo en una emergencia
-
Provision and install Servidor de GitHub Enterprise with a unique hostname on the replacement node.
-
Using the administrative shell or DHCP, only configure the IP address of the replacement node. 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-3offline = trueipv4 = 192.168.0.6 # ipv6 = fd12:3456:789a:1::6
-
From the administrative shell of the node where you modified
cluster.conf
, runghe-cluster-config-apply
. This will validate the configuration file, copy it to each node in the cluster, and mark the node offline. -
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-3ipv4 = 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
-
If you're replacing the MySQL master node or Redis master node, in
cluster.conf
, modify themysql-master
orredis-master
value with the replacement node name.For example, this modified
cluster.conf
file specifies a newly provisioned cluster node,ghe-replacement-data-node-1
as the MySQL and Redis master node:mysql-master = ghe-replacement-data-node-1redis-master = ghe-replacement-data-node-1
-
From the administrative shell of the node with the modified
cluster.conf
, runghe-cluster-config-init
. This will initialize the newly added node in the cluster. -
From the same node, run
ghe-cluster-config-apply
. This will validate the configuration file, copy it to each node in the cluster, and configure each node according to the modifiedcluster.conf
file.