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 das Fünffache des von deinem primären GitHub-Appliance-Datenträger verwendeten Speicherplatzes zu. Dies berücksichtigt historische Momentaufnahmen und zukünftiges Wachstum. -
**Dateisystemunterstützung:** Der Sicherungsdienst verwendet Hardlinks für effizienten Speicher, und deine GitHub-Instanz verwendet symbolische Links. Das Sicherungsziel muss sowohl symbolische als auch feste Links unterstützen und ein Dateisystem mit Berücksichtigung der 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:
cd /data/backup sudo touch file sudo ln -s file symlink sudo ln symlink hardlink ls -laWenn der Befehl
ln symlink hardlinkerfolgreich 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 eines NFS-Einhängepunkts 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.
Backup-Ziel einrichten
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. -
Verbinden Sie Ihr Sicherungsblockgerät mit der Instanz.
-
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_NAMEdurch 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.
ghe-storage-init-backup /dev/YOUR_DEVICE_NAMEDieser Befehl:
-
formatiert das Gerät (löscht alle Daten)
-
Bereitet es für die Verwendung durch den Sicherungsdienst vor.
-
Legt fest, dass es beim Start automatisch unter
/data/backupeingebunden wird. -
Falls in einer Clusterumgebung, konfiguriert er den Knoten in
cluster.confmit der Rollebackup-server.
-
Trennen eines Sicherungsdatenträgers
Warnung
Stellen Sie vor dem Trennen eines Sicherungsdatenträgers sicher, dass derzeit keine Sicherungen oder Wiederherstellungen ausgeführt werden. Das Trennen eines Datenträgers während der Verwendung kann zu Datenverlusten oder Dienstunterbrechungen führen.
Falls Sie den Sicherungsdatenträger von GitHub Enterprise Server trennen müssen, befolgen Sie die folgenden Schritte.
-
Listen Sie Blockgeräte auf, und heben Sie die Einbindung von
/data/backupauf.sudo lsblk sudo umount /data/backup -
Listen Sie logische Volumes auf, und deaktivieren Sie das logische Volume.
sudo lvs sudo lvchange -an <backup_VG>/<backup_LV> -
Trennen Sie den Datenträger mithilfe der Konsole oder CLI, die vom Cloudanbieter oder Hypervisor bereitgestellt wird.
-
Entfernen Sie den Bereitstellungspunkt.
sudo rmdir /data/backup
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 -
Aktivieren und starten Sie den Mountdienst.
sudo systemctl enable ghe-backup-disk.service sudo systemctl start ghe-backup-disk.serviceDadurch wird das Gerät in
/data/backupeingebunden, und es wird sichergestellt, dass es in Zukunft automatisch eingebunden wird.
Konfigurieren von Sicherungseinstellungen
Nachdem das Sicherungsziel eingebunden wurde, wird die Seite des Sicherungsdiensts in der Verwaltungskonsole im Abschnitt „Sicherung“ verfügbar sein. Wenn Ihre Instanz Teil einer gruppierten Umgebung ist, ist die Seite „Backup-Dienst“ nach ghe-config-apply verfügbar.
Hinweis
Die Einstellungsseite wird erst angezeigt, nachdem der Sicherungsspeicher bei /data/backup eingehängt wird, indem die oben aufgeführten Initialisierungs- oder Einhängeschritte ausgeführt werden.
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.configVerwende das
--dry-run-Flag, um Änderungen in der Vorschau anzuzeigen, ohne sie anzuwenden.
Sicherung übernehmen
Nachdem der Dienst konfiguriert wurde, können Sie eine Sicherung manuell ausführen, indem Sie die folgenden Schritte ausführen:
- Öffne in der Verwaltungskonsole im oberen Menü die Registerkarte „Backups“.
- Klicken Sie auf "Jetzt sichern".
Eine GitHub Enterprise Server-Sicherung wird erstellt und in einer Liste angezeigt.
Planen automatisierter Sicherungen
Nachdem der Dienst konfiguriert wurde, kannst du einen Sicherungszeitplan definieren.
- Öffnen Sie in der Verwaltungskonsole die Registerkarte „Einstellungen“ im oberen Menü.
- Wählen Sie im Abschnitt "Sicherung" einen vordefinierten Zeitplan (z. B. "Täglich") aus, oder geben Sie einen benutzerdefinierten Cron-Ausdruck ein.
- Klicken Sie auf " Einstellungen speichern" , um die Änderungen anzuwenden.
Die erste Ausführung ist eine vollständige Sicherung. Zukünftige Durchläufe werden inkrementell sein. 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.