Diese Version von GitHub Enterprise wurde eingestellt am 2021-06-09. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für eine bessere Leistung, verbesserte Sicherheit und neue Features nimm ein Upgrade auf die neueste Version von GitHub Enterprise vor. Wende Dich an den GitHub Enterprise-Support, um Hilfe beim Upgrade zu erhalten.

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.

Funktionierenden Knoten ersetzen

  1. Verteilen und installieren Sie GitHub Enterprise Server mit einem eindeutigen Hostnamen auf dem Ersatzknoten.

  2. Konfiguriere mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse des Ersatzknotens. Konfigurieren Sie keine anderen Einstellungen.

  3. 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. So ersetzt beispielsweise diese geänderte Datei cluster.conf den Wert ghe-data-node-3 durch den neu verteilten 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

  4. Führe in der Verwaltungsshell des Knotens mit der geänderten Datei cluster.conf den Befehl ghe-cluster-config-init aus. Dadurch wird der neu hinzugefügte Knoten im Cluster initialisiert.

  5. Führe auf demselben Knoten den Befehl ghe-cluster-config-apply aus. Dadurch wird die Konfigurationsdatei validiert, auf jeden Knoten im Cluster kopiert und jeder Knoten entsprechend der geänderten Datei cluster.conf konfiguriert.

  6. Wenn Du einen Knoten offline nimmst, für den in der Datei „cluster.conf“ der Wert git-server = true festgelegt ist, evakuiere den Knoten. Weitere Informationen findest Du unter „Clusterknoten evakuieren“.

  7. Um den ausgefallenen Knoten als offline zu markieren, füge auf einem beliebigen Knoten in der Clusterkonfigurationsdatei (cluster.conf) im Abschnitt mit dem entsprechenden Knoten den Text offline = true hinzu.

    Beispielsweise wird in der folgenden geänderten Datei cluster.conf der Knoten ghe-data-node-3 als offline markiert:

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  8. Führe in der Verwaltungsshell des Knotens mit der geänderten Datei cluster.conf den Befehl ghe-cluster-config-apply aus. Dadurch wird die Konfigurationsdatei validiert, auf jeden Knoten im Cluster kopiert und der Knoten als offline markiert.

  9. If you're replacing the primary MySQL or Redis node, in cluster.conf, modify the mysql-master or redis-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 primary MySQL and Redis node:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1

Knoten in einem Notfall ersetzen

  1. Verteilen und installieren Sie GitHub Enterprise Server mit einem eindeutigen Hostnamen auf dem Ersatzknoten.

  2. Konfiguriere mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse des Ersatzknotens. Konfigurieren Sie keine anderen Einstellungen.

  3. Um den ausgefallenen Knoten als offline zu markieren, füge auf einem beliebigen Knoten in der Clusterkonfigurationsdatei (cluster.conf) im Abschnitt mit dem entsprechenden Knoten den Text offline = true hinzu.

    Beispielsweise wird in der folgenden geänderten Datei cluster.conf der Knoten ghe-data-node-3 als offline markiert:

    [cluster "ghe-data-node-3"]
    hostname = ghe-data-node-3
    offline = true
    ipv4 = 192.168.0.6
    # ipv6 = fd12:3456:789a:1::6
    
  4. Führe in der Verwaltungsshell des Knotens mit der geänderten Datei cluster.conf den Befehl ghe-cluster-config-apply aus. Dadurch wird die Konfigurationsdatei validiert, auf jeden Knoten im Cluster kopiert und der Knoten als offline markiert.

  5. 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. So ersetzt beispielsweise diese geänderte Datei cluster.conf den Wert ghe-data-node-3 durch den neu verteilten 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

  6. If you're replacing the primary MySQL or Redis node, in cluster.conf, modify the mysql-master or redis-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 primary MySQL and Redis node:

    mysql-master = ghe-replacement-data-node-1
    redis-master = ghe-replacement-data-node-1

  7. Führe in der Verwaltungsshell des Knotens mit der geänderten Datei cluster.conf den Befehl ghe-cluster-config-init aus. Dadurch wird der neu hinzugefügte Knoten im Cluster initialisiert.

  8. Führe auf demselben Knoten den Befehl ghe-cluster-config-apply aus. Dadurch wird die Konfigurationsdatei validiert, auf jeden Knoten im Cluster kopiert und jeder Knoten entsprechend der geänderten Datei cluster.conf konfiguriert.

  9. Wenn Du einen Knoten offline nimmst, für den in der Datei „cluster.conf“ der Wert git-server = true festgelegt ist, evakuiere den Knoten. Weitere Informationen findest Du unter „Clusterknoten evakuieren“.