Informationen zum Ersetzen von Clusterknoten
Die Clustertopologie für GitHub Enterprise Server ermöglicht eine horizontale Skalierung für Unternehmen mit Zehntausenden von Entwickler*innen. GitHub empfiehlt Clustering, wenn bei Verwendung eines einzelnen primären Knotens regelmäßig eine Ressourcenüberlastung auftreten würde. Das Clustering erfordert eine sorgfältige Planung und zusätzlichen Verwaltungsaufwand. Weitere Informationen findest du unter Informationen zu Clustering.
Du kannst in einem Cluster sowohl einen funktionierenden Knoten als auch einen Knoten ersetzen, der unerwartet ausgefallen ist.
Warnung: Um Konflikte zu vermeiden, muss der Ersatzknoten einen neuen Hostnamen verwenden, der im Cluster noch nicht verwendet wurde.
Funktionierenden Knoten ersetzen
-
Bereitstellen und Installieren von GitHub Enterprise Server mit einem eindeutigen Hostnamen auf dem Ersetzungsknoten. 1. Konfiguriere mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse des Ersatzknotens. Konfiguriere keine anderen Einstellungen. 1. Um den neu verteilten Ersatzknoten hinzuzufügen, entferne auf einem beliebigen Knoten in der Datei
cluster.conf
den ausgefallenen Knoten, und füge den neuen Ersatzknoten hinzu. Diese geändertecluster.conf
-Datei ersetzt z. B.ghe-data-node-3
durch den neu bereitgestellten Knotenghe-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. Führe aus der administrativen Shell des Knotens mit der geänderten `cluster.conf` `ghe-cluster-config-init` aus. Dadurch wird der neu hinzugefügte Knoten im Cluster initialisiert. 1. Führe auf demselben Knoten `ghe-cluster-config-apply` aus. Dadurch wird die Konfigurationsdatei validiert und auf jeden Knoten im Cluster kopiert. Außerdem wird jeder Knoten entsprechend der geänderten Datei `cluster.conf` konfiguriert. 1. Wenn du einen Knoten offline nimmst, der Datendienste wie `git-server`, `pages-server` oder `storage-server` bereitstellt, evakuiere den Knoten. Weitere Informationen findest du unter [AUTOTITLE](/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node-running-data-services). 1. Um den fehlgeschlagenen Knoten offline auf einem beliebigen Knoten zu markieren, ändere die [Clusterkonfigurationsdatei](/admin/enterprise-management/configuring-clustering/initializing-the-cluster#about-the-cluster-configuration-file) (`cluster.conf`) im relevanten Knotenabschnitt, sodass der Text `offline = true` enthalten ist.Diese geänderte Datei
cluster.conf
markiert beispielsweise denghe-data-node-3
-Knoten als offline:[cluster "ghe-data-node-3"] hostname = ghe-data-node-3 offline = true ipv4 = 192.168.0.6 # ipv6 = fd12:3456:789a:1::6
1. Führe aus der administrativen Shell des Knotens, wo du `cluster.conf` geändert hast, `ghe-cluster-config-apply` aus. Dadurch wird die Konfigurationsdatei validiert, auf jeden Knoten im Cluster kopiert und der Knoten als offline markiert. 1. Wenn du den primären MySQL- oder Redis-Knoten ersetzt, ändere in `cluster.conf` den `mysql-master`- oder `redis-master`-Wert in den Namen des Ersatzknotens.In dieser geänderten
cluster.conf
-Datei wird beispielsweise ein neu bereitgestellter Clusterknotenghe-replacement-data-node-1
als primärer MySQL- und Redis-Knoten angegeben:mysql-master = ghe-replacement-data-node-1 redis-master = ghe-replacement-data-node-1
Knoten in einem Notfall ersetzen
-
Bereitstellen und Installieren von GitHub Enterprise Server mit einem eindeutigen Hostnamen auf dem Ersetzungsknoten. 1. Konfiguriere mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse des Ersatzknotens. Konfiguriere keine anderen Einstellungen. 1. Um den fehlgeschlagenen Knoten offline auf einem beliebigen Knoten zu markieren, ändere die Clusterkonfigurationsdatei (
cluster.conf
) im relevanten Knotenabschnitt, sodass der Textoffline = true
enthalten ist.Diese geänderte Datei
cluster.conf
markiert beispielsweise denghe-data-node-3
-Knoten als offline:[cluster "ghe-data-node-3"] hostname = ghe-data-node-3 offline = true ipv4 = 192.168.0.6 # ipv6 = fd12:3456:789a:1::6
1. Führe aus der administrativen Shell des Knotens, wo du `cluster.conf` geändert hast, `ghe-cluster-config-apply` aus. Dadurch wird die Konfigurationsdatei validiert, auf jeden Knoten im Cluster kopiert und der Knoten als offline markiert. 1. Um den neu verteilten Ersatzknoten hinzuzufügen, entferne auf einem beliebigen Knoten in der Datei `cluster.conf` den ausgefallenen Knoten, und füge den neuen Ersatzknoten hinzu. Diese geänderte `cluster.conf`-Datei ersetzt z. B. `ghe-data-node-3` durch den neu bereitgestellten Knoten `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. Wenn du den primären MySQL- oder Redis-Knoten ersetzt, ändere in `cluster.conf` den `mysql-master`- oder `redis-master`-Wert in den Namen des Ersatzknotens.In dieser geänderten
cluster.conf
-Datei wird beispielsweise ein neu bereitgestellter Clusterknotenghe-replacement-data-node-1
als primärer MySQL- und Redis-Knoten angegeben:mysql-master = ghe-replacement-data-node-1 redis-master = ghe-replacement-data-node-1
1. Führe aus der administrativen Shell des Knotens mit der geänderten `cluster.conf` `ghe-cluster-config-init` aus. Dadurch wird der neu hinzugefügte Knoten im Cluster initialisiert. 1. Führe auf demselben Knoten `ghe-cluster-config-apply` aus. Dadurch wird die Konfigurationsdatei validiert und auf jeden Knoten im Cluster kopiert. Außerdem wird jeder Knoten entsprechend der geänderten Datei `cluster.conf` konfiguriert. 1. Wenn du einen Knoten offline nimmst, der Datendienste wie `git-server`, `pages-server` oder `storage-server` bereitstellt, evakuiere den Knoten. Weitere Informationen findest du unter [AUTOTITLE](/admin/enterprise-management/configuring-clustering/evacuating-a-cluster-node-running-data-services).