Stelle vor dem Konfigurieren des Sicherungsdiensts sicher, dass Folgendes vorhanden ist:
- Eine GitHub Enterprise Server-Instanz mit Version 3.17 oder höher
- Ein dediziertes Speichervolume, das für die Verwendung als Sicherungsziel bereitgestellt wurde und verwaltet wird
Speicheranforderungen
Um zuverlässige und leistungsfähige Sicherungen sicherzustellen, muss dein Speicher die folgenden Anforderungen erfüllen:
-
Kapazität: Weise mindestens fünfmal so viel Speicherplatz zu wie der von deinem primären GitHub-Appliancedatenträger verbrauchte. Dadurch ist für Verlaufsmomentaufnahmen und zukünftiges Wachstum vorgesorgt.
-
Dateisystemunterstützung: Der Sicherungsdienst verwendet Hardlinks für effizienten Speicher, und deine GitHub-Instanz verwendet symbolische Links. Das Sicherungsziel muss sowohl symbolische Links als auch Hardlinks unterstützen, und es muss ein Dateisystem mit Berücksichtigung von Groß-/Kleinschreibung verwenden, um Konflikte zu vermeiden.
Du kannst testen, ob dein Dateisystem die Generierung von Hardlinks aus symbolischen Links unterstützt, indem du Folgendes ausführst:
touch file ln -s file symlink ln symlink hardlink ls -la
Wenn der Befehl
ln symlink hardlink
erfolgreich abgeschlossen ist, wird das Dateisystem unterstützt. -
Leistung: Verwende leistungsstarken Speicher mit geringer Latenz und hohen IOPS, um langsame Sicherungen und Wiederherstellungen zu vermeiden.
-
NFS: Vermeide die Verwendung einer NFS-Bereitstellung für das Sicherungsverzeichnis (in der Regel
/data/backup
), da dies zu Timeouts und beeinträchtigter Leistung führen kann.
Konfigurieren des Sicherungsdiensts
Du kannst GitHub Enterprise Server Backup Service über Verwaltungskonsole konfigurieren.
Einrichten des Sicherungsziels
Bevor du den Dienst konfigurierst, musst du das Speichervolume vorbereiten, in dem Sicherungen gespeichert werden.
Verwenden eines neuen Blockgeräts
Wenn du ein dediziertes Blockgerät als Sicherungsziel verwendest, musst du es über SSH initialisieren, bevor du mit Verwaltungskonsole fortfährst. Dieser Vorgang formatiert das Gerät und löscht alle vorhandenen Daten.
-
Stelle eine Verbindung mit deiner Instanz über SSH als
admin
-Benutzer her. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen. -
Füge das Sicherungsblockgerät an die Instanz an.
-
Ermittle den Gerätenamen mithilfe von
lsblk
, um verfügbare Blockgeräte aufzulisten. Stelle sicher, dass du das richtige Gerät auswählst, um Datenverlust zu vermeiden.lsblk
-
Führe den Initialisierungsbefehl aus, und ersetze
YOUR_DEVICE_NAME
durch den tatsächlichen Gerätenamen, der im vorherigen Schritt ermittelt wurde.Warnung
Mit diesem Befehl werden alle Daten auf dem angegebenen Gerät endgültig gelöscht. Überprüfe den Gerätenamen, und sichere alle wichtigen Daten, bevor du fortfährst.
/usr/local/share/enterprise/ghe-storage-init-backup /dev/YOUR_DEVICE_NAME
Dieser Befehl:
- formatiert das Gerät (löscht alle Daten)
- bereitet es auf die Verwendung durch den Sicherungsdienst vor
- legt fest, dass es beim Start automatisch in
/data/backup
eingebunden wird
Wiederverwenden eines zuvor initialisierten Datenträgers
Wenn das Gerät bereits mit ghe-storage-init-backup
initialisiert wurde, kannst du es ohne Neuformatierung wiederverwenden:
-
Stelle eine Verbindung mit deiner Instanz über SSH als
admin
-Benutzer her. -
Füge den Datenträger an die Instanz an.
-
Erstelle den Bereitstellungspunkt, falls keiner vorhanden ist.
sudo mkdir -p /data/backup
-
Aktiviere und starte den Bereitstellungsdienst.
sudo systemctl enable ghe-backup-disk.service sudo systemctl start ghe-backup-disk.service
Dadurch wird das Gerät in
/data/backup
eingebunden, und es wird sichergestellt, dass es in Zukunft automatisch eingebunden wird.
Konfigurieren von Sicherungseinstellungen
Nachdem das Sicherungsziel eingebunden wurde, wird die Seite „Backup Service“ in Verwaltungskonsole verfügbar. Wenn du ein Blockgerät verwendest, müssen die oben beschriebenen Initialisierungs- oder Bereitstellungsschritte abgeschlossen werden.
Hinweis
Die Einstellungsseite wird erst angezeigt, wenn der Sicherungsspeicher in /data/backup
eingebunden ist.
Wenn du von GitHub Enterprise Server Backup Utilities migrierst, kannst du deine Konfiguration auf eine von zwei Arten übertragen:
-
Manuelle Konfiguration: Erstelle deine Einstellungen direkt in Verwaltungskonsole neu.
-
Migration über die Befehlszeile: Stelle eine SSH-Verbindung mit deiner Instanz her, kopiere deine
backup.config
-Datei aus den Sicherungshilfsprogrammen, und führe Folgendes aus:ghe-migrate-backup-config /path/to/your/backup.config
Verwende das
--dry-run
-Flag, um Änderungen in der Vorschau anzuzeigen, ohne sie anzuwenden.
Planen automatisierter Sicherungen
Nachdem der Dienst konfiguriert wurde, kannst du einen Sicherungszeitplan definieren.
- Öffne in Verwaltungskonsole die Seite „Backup Service“.
- Wähle im Abschnitt „Backup Schedule“ einen vordefinierten Zeitplan aus (z. B. „Daily“), oder gib einen benutzerdefinierten Cron-Ausdruck ein.
- Klicken Sie auf Speichern, um die Änderungen zu übernehmen.
Die erste Ausführung ist eine vollständige Sicherung. Zukünftige Ausführungen sind inkrementell. Wenn ein neuer Sicherungsversuch gestartet wird, während noch ein vorheriger ausgeführt wird, wird er ggf. übersprungen oder schlägt fehl. Passe in diesem Fall den Zeitplan an, um Überlappungen zu vermeiden.