Skip to main content

Diese Version von GitHub Enterprise Server wurde eingestellt am 2023-09-25. Es wird keine Patch-Freigabe vorgenommen, auch nicht für kritische Sicherheitsprobleme. Für bessere Leistung, verbesserte Sicherheit und neue Features aktualisiere auf die neueste Version von GitHub Enterprise Server. Wende dich an den GitHub Enterprise-Support, um Hilfe zum Upgrade zu erhalten.

Clusterknoten ersetzen

Wenn ein Knoten in einem GitHub Enterprise Server-Cluster fehlschlägt, oder wenn du einen neuen Knoten mit mehr Ressourcen hinzufügen möchtest, markiere alle zu ersetzenden Knoten als offline, und füge dann den neuen Knoten hinzu.

GitHub bestimmt die Berechtigung zum Clustering und muss die Konfiguration für die Lizenz deiner Instanz aktivieren. Das Clustering erfordert eine sorgfältige Planung und zusätzlichen Verwaltungsaufwand. Weitere Informationen findest du unter Informationen zu Clustering.

Informationen zum Ersetzen von GitHub Enterprise Server-Clusterknoten

Du kannst in einem GitHub Enterprise Server-Cluster sowohl einen funktionierenden Knoten als auch einen Knoten ersetzen, der unerwartet ausgefallen ist.

Warnung: Um Konflikte zu vermeiden, verwende keinen Hostnamen wieder, der zuvor einem Knoten im Cluster zugewiesen wurde.

Funktionierenden Knoten ersetzen

Du kannst einen vorhandenen funktionalen Knoten in deinem Cluster ersetzen. Beispielsweise solltest du einen virtuellen Computer (VM) mit zusätzlichen CPU-, Arbeitsspeicher- oder Speicherressourcen bereitstellen.

Um einen funktionalen Knoten zu ersetzen, installiere die GitHub Enterprise Server-Anwendung auf einem neuen virtuellen Computer, konfiguriere eine IP-Adresse, füge den neuen Knoten der Clusterkonfigurationsdatei hinzu, initialisiere den Cluster, und wende die Konfiguration an. Schalte anschließend den ersetzten Knoten offline.

  1. Bereitstellen und Installieren von GitHub Enterprise Server mit einem eindeutigen Hostnamen auf dem Ersetzungsknoten.

  2. Konfiguriere mithilfe der Verwaltungsshell oder DHCP nur die IP-Adresse des Ersatzknotens. Konfiguriere 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. 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
    
  4. 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.

  5. 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.

  6. 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 Evakuieren eines Clusterknotens, auf dem Datendienste ausgeführt werden.

  7. Um den fehlgeschlagenen Knoten offline auf einem beliebigen Knoten zu markieren, ändere die Clusterkonfigurationsdatei (cluster.conf) im relevanten Knotenabschnitt, sodass der Text offline = true enthalten ist.

    Diese geänderte Datei cluster.conf markiert beispielsweise den ghe-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
    
  8. 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.

  9. 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 Clusterknoten ghe-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

Du kannst einen fehlerhaften Knoten in deinem Cluster ersetzen. Beispielsweise kann sich ein Software- oder Hardwareproblem auf die Verfügbarkeit eines Knotens auswirken.

Um einen Knoten im Notfall zu ersetzen, installiere die GitHub Enterprise Server-Anwendung auf einer neuen VM, konfiguriere eine IP-Adresse, schalte den fehlerhaften Knoten offline, wende die Konfiguration an, füge den neuen Knoten der Clusterkonfigurationsdatei hinzu, initialisiere den Cluster, und wende die Konfiguration an. Evakuiere dann den fehlerhaften Knoten.

  1. Bereitstellen und Installieren von GitHub Enterprise Server mit einem eindeutigen Hostnamen auf dem Ersetzungsknoten.

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

  3. Um den fehlgeschlagenen Knoten offline auf einem beliebigen Knoten zu markieren, ändere die Clusterkonfigurationsdatei (cluster.conf) im relevanten Knotenabschnitt, sodass der Text offline = true enthalten ist.

    Diese geänderte Datei cluster.conf markiert beispielsweise den ghe-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
    
  4. 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.

  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. 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
    
  6. 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 Clusterknoten ghe-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
    
  7. 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.

  8. 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.

  9. 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 Evakuieren eines Clusterknotens, auf dem Datendienste ausgeführt werden.