Backups auf Ihrer Appliance konfigurieren
Im Rahmen eines Disaster Recovery-Plans können Sie die Produktionsdaten auf Ihre GitHub Enterprise Server-Instanz schützen, indem Sie automatisierte Backups konfigurieren.
In diesem Handbuch
- Informationen zu GitHub Enterprise Server-Backup-Dienstprogramme
- Voraussetzungen
- GitHub Enterprise Server-Backup-Dienstprogramme installieren
- Backup planen
- Backup wiederherstellen
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 Ihre GitHub Enterprise Server-Instanz 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.
Voraussetzungen
Sie müssen über ein von Ihre GitHub Enterprise Server-Instanz 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 Ihre GitHub Enterprise Server-Instanz 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
- Copy the included
backup.config-example
file tobackup.config
and open in an editor. - Set the
GHE_HOSTNAME
value to your primary GitHub Enterprise Server instance's hostname or IP address. - Set the
GHE_DATA_DIR
value to the filesystem location where you want to store backup snapshots. - Open your primary instance's settings page at
https://HOSTNAME/setup/settings
and add the backup host's SSH key to the list of authorized SSH keys. For more information, see Accessing the administrative shell (SSH). -
Verify SSH connectivity with Ihre GitHub Enterprise Server-Instanz with the
ghe-host-check
command.$ bin/ghe-host-check
-
To create an initial full backup, run the
ghe-backup
command.$ bin/ghe-backup
For more information on advanced usage, see the GitHub Enterprise Server-Backup-Dienstprogramme README.
Backup planen
You can schedule regular backups on the backup host using the cron(8)
command or a similar command scheduling service. 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.
If backup attempts overlap, the ghe-backup
command will abort with an error message, indicating the existence of a simultaneous backup. In diesem Fall wird empfohlen, die Häufigkeit Ihrer geplanten Backups zu verringern. For more information, see the "Scheduling backups" section of the GitHub Enterprise Server-Backup-Dienstprogramme README.
Backup wiederherstellen
In the event of prolonged outage or catastrophic event at the primary site, you can restore Ihre GitHub Enterprise Server-Instanz by provisioning another GitHub Enterprise appliance and performing a restore from the backup host. 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.
To restore Ihre GitHub Enterprise Server-Instanz from the last successful snapshot, use the ghe-restore
command. 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.