Informationen zu GitHub Enterprise Server Backup-Dienstprogramme
GitHub Enterprise Server Backup-Dienstprogramme ist ein Backup-System, das Sie auf einem separaten Host installieren, der in regelmäßigen Intervallen über eine sichere SSH-Netzwerkverbindung Backup-Snapshots von your GitHub Enterprise Server instance erstellt. Mit einem Snapshot können Sie eine vorhandene GitHub Enterprise Server-Instanz in einem vorherigen Zustand auf dem Backup-Host wiederherstellen.
Nur die seit dem letzten Snapshot hinzugefügten Daten werden über das Netzwerk übertragen und belegen zusätzlichen physischen Speicherplatz. Zum Minimieren der Auswirkung auf die Leistung werden Backups online unter der niedrigsten CPU-/E/A-Priorität durchgeführt. Zum Durchführen eines Backups muss kein Wartungsfenster geplant werden.
Ausführlichere Informationen zu Features, Anforderungen und zur erweiterten Nutzung finden Sie in der GitHub Enterprise Server Backup-Dienstprogramme README.
Vorrausetzungen
Sie müssen über ein von your GitHub Enterprise Server instance getrenntes Linux- oder Unix-Hostsystem verfügen, um GitHub Enterprise Server Backup-Dienstprogramme verwenden zu können.
Sie können GitHub Enterprise Server Backup-Dienstprogramme auch zur langfristigen dauerhaften Speicherung von kritischen Daten in eine vorhandene Umgebung integrieren.
Es wird empfohlen, dass der Backup-Host und your GitHub Enterprise Server instance geografisch voneinander getrennt sind. Dadurch wird gewährleistet, dass Backups wiederhergestellt werden können, falls am Hauptstandort eine schwere Katastrophe oder ein Netzwerkausfall auftritt.
Die Anforderungen an den physischen Speicher variieren basierend auf der Git-Repository-Festplattennutzung und den erwarteten Wachstumsmustern:
Hardware | Empfehlung |
---|---|
vCPUs | 2 |
Arbeitsspeicher | 2 GB |
Speicher | Das Fünffache des zugeordneten Speichers der primären Instanz |
Entsprechend Ihrer Nutzung, beispielsweise in Bezug auf die Benutzeraktivität und die ausgewählten Integrationen, sind möglicherweise mehr Ressourcen erforderlich.
GitHub Enterprise Server Backup-Dienstprogramme installieren
Hinweis: Um sicherzustellen, dass eine wiederhergestellte Appliance sofort verfügbar ist, sollten Sie Backups durchführen, die selbst in einer Geo-Replikationskonfiguration auf die primäre Instanz abzielen.
-
Laden Sie die neueste GitHub Enterprise Server Backup-Dienstprogramme-Version herunter, und extrahieren Sie die Datei mit dem Befehl
tar
.$ tar -xzvf /path/to/github-backup-utils-vMAJOR.MINOR.PATCH.tar.gz
-
Kopieren Sie die enthaltene Datei
backup.config-example
nachbackup.config
, und öffnen Sie sie in einem Editor. -
Legen Sie den Wert
GHE_HOSTNAME
auf den Hostnamen oder die IP-Adresse Ihrer primären GitHub Enterprise Server-Instanz fest.Note: If your your GitHub Enterprise Server instance is deployed as a cluster or in a high availability configuration using a load balancer, the
GHE_HOSTNAME
can be the load balancer hostname, as long as it allows SSH access (on port 122) to your GitHub Enterprise Server instance. -
Legen Sie den Wert
GHE_DATA_DIR
auf den Dateisystempfad fest, unter dem Sie Backup-Snapshots speichern möchten. -
Öffnen Sie unter
https://HOSTNAME/setup/settings
die Seite mit den Einstellungen Ihrer primären Instanz, und fügen Sie der Liste der autorisierten SSH-Schlüssel den SSH-Schlüssel des Backup-Hosts hinzu. Weitere Informationen finden Sie unter „Auf die Verwaltungsshell (SSH) zugreifen“. -
Führen Sie den Befehl
ghe-host-check
aus, um die SSH-Konnektivität mit your GitHub Enterprise Server instance zu verifizieren.$ bin/ghe-host-check
-
Führen Sie den Befehl
ghe-backup
aus, um ein anfängliches vollständiges Backup zu erstellen.$ bin/ghe-backup
Weitere Informationen zur erweiterten Nutzung finden Sie in der GitHub Enterprise Server Backup-Dienstprogramme-Datei 'README.md'.
Backup planen
Mithilfe des Befehls cron(8)
oder eines ähnlichen Diensts zum Planen von Befehlen können Sie regelmäßige Backups auf dem Backup-Host planen. Die konfigurierte Backup-Häufigkeit schreibt das Worst Case Recovery Point Objective (RPO) in Ihrem Wiederherstellungsplan vor. Angenommen, Sie haben das Backup so geplant, dass es täglich um Mitternacht ausgeführt wird. In diesem Fall könnten Sie in einem Notfallszenario bis zu 24 Stunden an Daten verlieren. Es wird empfohlen, mit einem stündlichen Backup-Plan zu beginnen. Dadurch wird garantiert, dass schlimmstenfalls maximal eine Stunde an Daten am Hauptstandort vernichtet wird.
Wenn sich Backup-Versuche überschneiden, wird der Befehl ghe-backup
mit einer Fehlermeldung abgebrochen. Diese gibt an, dass ein gleichzeitiges Backup vorhanden ist. In diesem Fall wird empfohlen, die Häufigkeit Ihrer geplanten Backups zu verringern. Weitere Informationen finden Sie im Abschnitt „Backups planen“ der GitHub Enterprise Server Backup-Dienstprogramme README.
Backup wiederherstellen
Im Falle eines längeren Ausfalls oder einer Katastrophe am Hauptstandort können Sie your GitHub Enterprise Server instance wiederherstellen. Stellen Sie dazu eine andere GitHub Enterprise-Appliance bereit, und führen Sie auf dem Backup-Host eine Wiederherstellung aus. Sie müssen der Ziel-GitHub Enterprise-Appliance den SSH-Schlüssel des Backup-Hosts als einen autorisierten SSH-Schlüssel hinzufügen, bevor Sie eine Appliance wiederherstellen.
Note: When performing backup restores to your GitHub Enterprise Server instance, the same version supportability rules apply. You can only restore data from at most two feature releases behind.
For example, if you take a backup from GHES 3.0.x, you can restore it into a GHES 3.2.x instance. But, you cannot restore data from a backup of GHES 2.22.x onto 3.2.x, because that would be three jumps between versions (2.22 > 3.0 > 3.1 > 3.2). You would first need to restore onto a 3.1.x instance, and then upgrade to 3.2.x.
Führen Sie den Befehl ghe-restore
aus, um den letzten erfolgreichen your GitHub Enterprise Server instance-Snapshot wiederherzustellen. Es sollte in etwa folgende Ausgabe angezeigt werden:
$ ghe-restore -c 169.154.1.1
> Checking for leaked keys in the backup snapshot that is being restored ...
> * No leaked keys found
> Connect 169.154.1.1:122 OK (v2.9.0)
> WARNING: All data on GitHub Enterprise appliance 169.154.1.1 (v2.9.0)
> will be overwritten with data from snapshot 20170329T150710.
> Please verify that this is the correct restore host before continuing.
> Type 'yes' to continue: yes
> Starting restore of 169.154.1.1:122 from snapshot 20170329T150710
# ...Ausgabe gekürzt
> Completed restore of 169.154.1.1:122 from snapshot 20170329T150710
> Visit https://169.154.1.1/setup/settings to review appliance configuration.
Hinweis: Die Netzwerkeinstellungen sind aus dem Backup-Snapshot ausgeschlossen. Sie müssen das Netzwerk auf der Ziel-GitHub Enterprise Server-Appliance manuell konfigurieren, wie dies für Ihre Umgebung erforderlich ist.
Sie können diese zusätzlichen Optionen mit dem Befehl ghe-restore
verwenden:
- Das Flag
-c
überschreibt die Einstellungen, Zertifikate und Lizenzdaten auf dem Ziel-Host, selbst wenn es bereits konfiguriert ist. Lassen Sie dieses Flag weg, wenn Sie eine Testinstanz für Testzwecke einrichten und Sie die vorhandene Konfiguration auf dem Ziel beibehalten möchten. Weitere Informationen finden Sie unter „Backup- und Wiederherstellungsbefehle verwenden“ der GitHub Enterprise Server Backup-Dienstprogramme README. - Mit dem Flag
-s
können Sie einen anderen Backup-Snapshot auswählen.