Hochverfügbarkeitsreplikat erstellen
-
Richten Sie eine neue GitHub Enterprise Server-Appliance auf Ihrer gewünschten Plattform ein. Die Replikat-Appliance sollte die CPU-, RAM- und Speichereinstellungen der primären Appliance spiegeln. Sie sollten 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 Sie einen Cloud-Anbieter verwenden, sollten Sie eine separate Region oder Zone verwenden. Weitere Informationen finden Sie unter „GitHub Enterprise Server-Instanz einrichten“.
-
Navigieren Sie in einem Browser zur IP-Adresse der neuen Replikat-Appliance, und laden Sie Ihre GitHub Enterprise-Lizenz hoch.
-
Legen Sie ein Administratorpasswort fest, das dem Passwort auf der primären Appliance entspricht, und setzen Sie den Vorgang fort.
-
Klicken Sie auf Configure as Replica (Als Replikat konfigurieren).
-
Geben Sie unter „Add new SSH key“ (Neuen SSH-Schlüssel hinzufügen) Ihren SSH-Schlüssel ein.
-
Klicken Sie auf Add key (Schlüssel hinzufügen) und anschließend auf Continue (Fortsetzen).
-
Stellen Sie mittels SSH eine Verbindung zur IP-Adresse der Replikat-Appliance her.
$ ssh -p 122 admin@REPLICA IP
-
Führen Sie zum Generieren eines Schlüsselpaars zur Replikation den Befehl
ghe-repl-setup
mit der IP-Adresse der primären Appliance aus, und kopieren Sie den zurückgegebenen öffentlichen Schlüssel.$ ghe-repl-setup PRIMARY IP
-
Um der Liste der autorisierten Schlüssel auf der primären Appliance den öffentlichen Schlüssel hinzuzufügen, navigiere zu
https://PRIMARY-HOSTNAME/setup/settings
, und füge den Schlüssel, den Du vom Replikat kopiert hast, zur Liste hinzu. -
Führen Sie den Befehl
ghe-repl-setup
erneut aus, um die Verbindung zur primären Instanz zu verifizieren und um den Replikatmodus für das neue Replikat zu aktivieren.$ ghe-repl-setup PRIMARY IP
-
Führe den Befehl
ghe-repl-start
aus, um mit der Replikation der Datenspeicher zu beginnen.$ ghe-repl-start
Warnung:
ghe-repl-start
verursacht einen kurzen Ausfall auf dem primären Server, während dessen Benutzer interne Serverfehler sehen können. Um eine freundlichere Nachricht bereitzustellen, führeghe-maintenance -s
auf dem primären Knoten aus, bevor Dughe-repl-start
auf dem Replikatknoten ausführst, um die Appliance in den Wartungsmodus zu versetzen. Sobald die Replikation gestartet ist, deaktiviere den Wartungsmodus mitghe-maintenance -u
. -
Führen Sie den Befehl
ghe-repl-status
aus, um den Status des Replikationskanals jedes Datenspeichers zu verifizieren.$ 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 finden Sie unter „Netzwerkports“.
-
Erstellen Sie das erste Replikat so, wie Sie eine Standardkonfiguration aus zwei Knoten erstellen würden. Führen Sie dazu den Befehl
ghe-repl-setup
auf dem ersten Replikat aus.(replica1)$ ghe-repl-setup PRIMARY IP (replica1)$ ghe-repl-start
-
Erstellen Sie ein zweites Replikat, und führen Sie den Befehl
ghe-repl-setup --add
aus. Das Flag--add
verhindert, dass es die vorhandene Replikationskonfiguration überschreibt, und fügt der Konfiguration das neue Replikat hinzu.(replica2)$ ghe-repl-setup --add PRIMARY IP (replica2)$ ghe-repl-start
-
By default, replicas are configured to the same datacenter, and will now attempt to seed from an existing node in the same datacenter. Konfigurieren Sie die Replikate für unterschiedliche Rechenzentren, indem Sie für die Rechenzentrumsoption einen anderen Wert festlegen. Die entsprechenden Werte sind beliebig, sie müssen sich nur voneinander unterscheiden. Führen Sie den Befehl
ghe-repl-node
auf jedem Knoten aus, und geben Sie 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: Sie können die Optionen
--datacenter
und--active
gleichzeitig festlegen. -
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. Aktivieren Sie den aktiven Modus mit dem Flag
--active
oder den inaktiven Modus mit dem Flag--inactive
.Auf dem ersten Replikat:
(replica1)$ ghe-repl-node --active
Auf dem zweiten Replikat:
(replica2)$ ghe-repl-node --active
-
Führen Sie zum Anwenden der Konfiguration auf der primären Instanz den Befehl
ghe-config-apply
aus.(primary)$ ghe-config-apply
DNS für Geo-Replikation konfigurieren
Konfigurieren Sie Geo DNS mit den IP-Adressen auf der primären Instanz und auf den Replikatknoten. Sie können auch einen DNS CNAME für den primären Knoten (z. B. primary.github.example.com
) erstellen, um über SSH auf den primären Knoten zuzugreifen oder ihn mit backup-utils
zu sichern.
Zu Testzwecken können Sie der Datei hosts
(z. B. /etc/hosts
) der lokalen Workstation Einträge hinzufügen. Diese Beispieleinträge lösen Anforderungen für HOSTNAME
in replica2
auf. Sie können auf spezifische Hosts abzielen, indem Sie unterschiedliche Zeilen auskommentieren.
# <primary IP> <em>HOSTNAME</em>
# <replica1 IP> <em>HOSTNAME</em>
<replica2 IP> <em>HOSTNAME</em>