Hochverfügbarkeitsreplikat erstellen
In einer aktiven/passiven Konfiguration ist die Replikat-Appliance 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 minimale Dienstunterbrechung ermöglicht.
In diesem Handbuch
- Hochverfügbarkeitsreplikat erstellen
- Replikate der Geo-Replikation erstellen
- DNS für Geo-Replikation konfigurieren
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
-
To generate a key pair for replication, use the
ghe-repl-setup
command with the primary appliance's IP address and copy the public key that it returns.$ ghe-repl-setup PRIMARY IP
-
To add the public key to the list of authorized keys on the primary appliance, browse to
https://PRIMARY-HOSTNAME/setup/settings
and add the key you copied from the replica to the list. -
To verify the connection to the primary and enable replica mode for the new replica, run
ghe-repl-setup
again.$ ghe-repl-setup PRIMARY IP
-
Führen Sie 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. In diesem Zeitraum werden Benutzern möglicherweise interne Serverfehler angezeigt. Um eine benutzerfreundlichere Meldung bereitzustellen, führen Sie den Befehl „ghe-maintenance -s“ auf dem primären Knoten aus, bevor Sie den Befehl „ghe-repl-start“ auf dem Replikatknoten ausführen, um die Appliance in den Wartungsmodus zu versetzen. Sobald die Replikation gestartet wird, deaktivieren Sie den Wartungsmodus mithilfe des Befehls „ghe-maintenance -u“. -
To verify the status of each datastore's replication channel, use the
ghe-repl-status
command.$ ghe-repl-status
Replikate der Geo-Replikation erstellen
This example configuration uses a primary and two replicas, which are located in three different geographic regions. 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. For more information about the port requirements, see "Network Ports."
-
Create the first replica the same way you would for a standard two node configuration by running
ghe-repl-setup
on the first replica.(replica1)$ ghe-repl-setup PRIMARY IP(replica1)$ ghe-repl-start
-
Create a second replica and use the
ghe-repl-setup --add
command. The--add
flag prevents it from overwriting the existing replication configuration and adds the new replica to the configuration.(replica2)$ ghe-repl-setup --add PRIMARY IP(replica2)$ ghe-repl-start
-
Standardmäßig sind Replikate für das gleiche Rechenzentrum konfiguriert. 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. Run the
ghe-repl-node
command on each node and specify the datacenter.On the primary:
(primary)$ ghe-repl-node --datacenter [PRIMARY DC NAME]
On the first replica:
(replica1)$ ghe-repl-node --datacenter [FIRST REPLICA DC NAME]
On the second replica:
(replica2)$ ghe-repl-node --datacenter [SECOND REPLICA DC NAME]
Tip: You can set the
--datacenter
and--active
options at the same time. -
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. Enable active mode using the
--active
flag or inactive mode using the--inactive
flag.On the first replica:
(replica1)$ ghe-repl-node --active
On the second replica:
(replica2)$ ghe-repl-node --active
-
To apply the configuration, use the
ghe-config-apply
command on the primary.(primary)$ ghe-config-apply
DNS für Geo-Replikation konfigurieren
Configure Geo DNS using the IP addresses of the primary and replica nodes. You can also create a DNS CNAME for the primary node (e.g. primary.github.example.com
) to access the primary node via SSH or to back it up via backup-utils
.
For testing, you can add entries to the local workstation's hosts
file (for example, /etc/hosts
). These example entries will resolve requests for HOSTNAME
to replica2
. 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>