Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Hochverfügbarkeitsreplikat erstellen

Bei einer Aktiv/Passiv-Konfiguration ist die Replikatappliance eine redundante Kopie der primären Appliance. Wenn die primäre Appliance ausfällt, ermöglicht der Hochverfügbarkeitsmodus dem Replikat, als primäre Appliance zu fungieren, was eine nur kurzzeitige Dienstunterbrechung ermöglicht.

Hinweis: Maximal acht Replikate mit hoher Verfügbarkeit (sowohl passive als auch aktive/Georeplikate) sind für GitHub Enterprise Server zulässig.

Hochverfügbarkeitsreplikat erstellen

  1. Richte eine neue GitHub Enterprise Server-Appliance auf deiner gewünschten Plattform ein. Die Replikat-Appliance sollte die CPU-, RAM- und Speichereinstellungen der primären Appliance spiegeln. Du solltest die Replikat-Appliance in einer unabhängigen Umgebung installieren. Die zugrunde liegenden Hardware-, Software und Netzwerkkomponenten sollten von denen der primären Appliance isoliert sein. Wenn du einen Cloud-Anbieter verwendest, solltest du eine separate Region oder Zone verwendest. Weitere Informationen findest du unter Einrichten einer GitHub Enterprise Server-Instanz.

  2. Stelle sicher, dass die neue Appliance mit allen übrigen Appliances in dieser Hochverfügbarkeitsumgebung über die Ports 122/TCP und 1194/UDP kommunizieren kann. Weitere Informationen findest du unter Netzwerkports.

  3. Navigiere in einem Browser zur IP-Adresse der neuen Replikat-Appliance, und lade deine GitHub Enterprise-Lizenz hoch.

  4. Lege ein Administratorpasswort fest, das dem Passwort auf der primären Appliance entspricht, und setze den Vorgang fort.

  5. Klicke auf Als Replikat konfigurieren. Installationsoptionen mit einem Link zum Konfigurieren deiner neuen Instanz als Replikat

  6. Gib unter „Add new SSH key“ (Neuen SSH-Schlüssel hinzufügen) deinen SSH-Schlüssel ein. SSH-Schlüssel hinzufügen

  7. Klicke auf Schlüssel hinzufügen.

  8. Stelle mittels SSH eine Verbindung zur IP-Adresse der Replikat-Appliance her.

    $ ssh -p 122 admin@REPLICA_IP
  9. Führe zum Generieren eines Schlüsselpaars zur Replikation den Befehl ghe-repl-setup mit der IP-Adresse der primären Appliance aus, und kopiere den zurückgegebenen öffentlichen Schlüssel.

    $ ghe-repl-setup PRIMARY_IP
    1. Um den öffentlichen Schlüssel der Liste autorisierter Schlüssel auf der primären Appliance hinzuzufügen, navigiere zu `https://PRIMARY-HOSTNAME/setup/settings`, und füge der Liste den Schlüssel hinzu, den du vom Replikat kopiert hast.
  10. Führe erneut ghe-repl-setup aus, um die Verbindung mit dem primären Replikat zu überprüfen und den Replikatmodus für das neue Replikat zu aktivieren.

    $ ghe-repl-setup PRIMARY_IP
  11. Um die Replikation der Datenspeicher zu starten, verwende den Befehl ghe-repl-start.

    $ ghe-repl-start

    Warnung: ghe-repl-start verursacht einen kurzen Ausfall des primären Servers. Währenddessen wird Benutzern möglicherweise ein interner Serverfehler angezeigt. Um eine benutzerfreundlichere Meldung bereitzustellen, führe ghe-maintenance -s auf dem primären Knoten aus, bevor du ghe-repl-start auf dem Replikatknoten ausführest, um die Appliance in den Wartungsmodus zu versetzen. Nachdem die Replikation gestartet wurde, deaktiviere den Wartungsmodus mit ghe-maintenance -u. Die Git-Replikation wird nicht fortgesetzt, während sich der primäre Knoten im Wartungsmodus befindet.

    11. Führe den Befehl `ghe-repl-status` aus, um den Status des Replikationskanals jedes Datenspeichers zu überprüfen.
    $ ghe-repl-status

Replikate der Geo-Replikation erstellen

Diese Beispielkonfiguration verwendet eine primäre Instanz und zwei Replikate, die sich in drei unterschiedlichen geografischen Regionen befinden. Obwohl sich die drei Knoten in unterschiedlichen Netzwerken befinden können, müssen alle Knoten über alle anderen Knoten zugänglich sein. Die erforderlichen Verwaltungsports sollten mindestens für alle anderen Knoten geöffnet sein. Weitere Informationen zu den Portanforderungen findest du unter Netzwerkports.

Die Latenz zwischen dem Netzwerk mit den aktiven Knoten und dem Netzwerk mit den passiven Knoten muss kleiner als 70 Millisekunden sein, um Hochverfügbarkeit zu gewährleisten. Es wird nicht empfohlen, eine Firewall zwischen den beiden Netzwerken zu konfigurieren. Wenn die Latenz mehr als 70 Millisekunden beträgt, empfehlen wir stattdessen Cachereplikatknoten. Weitere Informationen findest Du unter Konfigurieren eines Repositorycaches.

  1. Erstelle das erste Replikat genauso wie bei einer Standardkonfiguration mit zwei Knoten, indem du ghe-repl-setup für das erste Replikat ausführst.

    (replica1)$ ghe-repl-setup PRIMARY_IP
    (replica1)$ ghe-repl-start
  2. Erstelle ein zweites Replikat, und verwende den Befehl ghe-repl-setup --add. Das --add Flag verhindert, dass die vorhandene Replikationskonfiguration überschrieben wird, und fügt der Konfiguration das neue Replikat hinzu.

    (replica2)$ ghe-repl-setup --add PRIMARY_IP
    (replica2)$ ghe-repl-start
  3. Standardmäßig sind die Replikate für dasselbe Rechenzentrum konfiguriert und versuchen nun, ein Seeding von einem vorhandenen Knoten im selben Rechenzentrum durchzuführen. Konfiguriere die Replikate für unterschiedliche Rechenzentren, indem du für die Rechenzentrumsoption einen anderen Wert festlegst. Die entsprechenden Werte sind beliebig, sie müssen sich nur voneinander unterscheiden. Führe den Befehl ghe-repl-node für jeden Knoten aus, und gib das Rechenzentrum an.

    Auf der primären Instanz:

    (primary)$ ghe-repl-node --datacenter [PRIMARY DC NAME]

    Auf dem ersten Replikat:

    (replica1)$ ghe-repl-node --datacenter [FIRST REPLICA DC NAME]

    Auf dem zweiten Replikat:

    (replica2)$ ghe-repl-node --datacenter [SECOND REPLICA DC NAME]

    Tipp: Du kannst die Optionen --datacenter und --active gleichzeitig festlegen.

  4. Ein aktiver Replikatknoten speichert Kopien der Appliance-Daten und verarbeitet Anforderungen von Endbenutzern. Ein inaktiver Knoten speichert Kopien der Appliance-Daten, kann die Anforderungen von Endbenutzern jedoch nicht verarbeiten. Aktiviere mit dem Flag --active den aktiven Modus oder mit dem Flag --inactive den inaktiven Modus.

    Auf dem ersten Replikat:

    (replica1)$ ghe-repl-node --active

    Auf dem zweiten Replikat:

    (replica2)$ ghe-repl-node --active
  5. Verwende zum Anwenden der Konfiguration den Befehl ghe-config-apply für das primäre Replikat.

    (primary)$ ghe-config-apply

DNS für Geo-Replikation konfigurieren

Konfiguriere Geo DNS mit den IP-Adressen auf der primären Instanz und auf den Replikatknoten. Du kannst auch einen DNS CNAME für den primären Knoten erstellen (z. B. primary.github.example.com), um über SSH auf den primären Knoten zuzugreifen oder um ihn über backup-utils zu sichern.

Zu Testzwecken kannst du der Datei hosts der lokalen Arbeitsstation Einträge hinzufügen (zum Beispiel /etc/hosts). Diese Beispieleinträge lösen Anforderungen für HOSTNAME in replica2 auf. Du kannst auf spezifische Hosts abzielen, indem du unterschiedliche Zeilen auskommentierst.

# <primary IP>      HOSTNAME 
# <replica1 IP>     HOSTNAME 
<replica2 IP>     HOSTNAME 

Weiterführende Themen