Clusterknoten ersetzen
Zum Ersetzen eines GitHub Enterprise Server-Knotens müssen Sie die betroffenen Knoten in der Clusterkonfigurationsdatei („cluster.conf“) als offline markieren und die Ersatzknoten hinzufügen. Dies ist ggf. erforderlich, wenn ein Knoten fehlschlägt oder um einen Knoten mit mehr Ressourcen hinzuzufügen, um die Leistung zu erhöhen.
Warnung: Zum Vermeiden von Konflikten muss der Ersatzknoten einen Hostnamen verwenden, der noch nicht im Cluster verwendet wurde.
In diesem Artikel:
Knoten in einem Notfall ersetzen
-
Provision and install GitHub Enterprise Server with a unique hostname on the replacement node.
-
Using the administrative shell or DHCP, only configure the IP address of the replacement node. Konfigurieren Sie keine anderen Einstellungen.
-
Um den ausgefallenen Knoten als offline zu markieren, fügen Sie auf einem beliebigen Knoten in der Clusterkonfigurationsdatei (
cluster.conf
) im Abschnitt mit dem entsprechenden Knoten den Textoffline = true
hinzu.Beispielsweise wird in der folgenden geänderten Datei
cluster.conf
der Knotenghe-data-node-3
als offline markiert:[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. -
Um den neu verteilten Ersatzknoten hinzuzufügen, entfernen Sie auf einem beliebigen Knoten in der Datei
cluster.conf
den ausgefallenen Knoten, und fügen Sie den neuen Ersatzknoten hinzu. So ersetzt beispielsweise diese geänderte Dateicluster.conf
den Wertghe-data-node-3
durch den neu verteilten Knotenghe-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.