Skip to main content

Konfigurieren des Sicherungsdiensts

Aktivieren und konfigurieren Sie den integrierten Sicherungsdienst im Verwaltungskonsole, und migrieren Sie optional alte Einstellungen.

In diesem Artikel

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: Weisen Sie mindestens das Fünffache des Speicherplatzes zu, der von Ihrem primären GitHub Appliance-Datenträger verwendet wird. Dies berücksichtigt historische Momentaufnahmen und zukünftiges Wachstum.

  • Dateisystemunterstützung: Der Sicherungsdienst verwendet feste Links für effizienten Speicher, und Ihre GitHub Instanz verwendet symbolische Verknüpfungen. 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 -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 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

Sie können GitHub Enterprise Server Backup Service über die Verwaltungskonsole.

Backup-Ziel einrichten

Bevor du den Dienst konfigurierst, musst du das Speichervolume vorbereiten, in dem Sicherungen gespeichert werden.

Verwenden eines neuen Blockgeräts

Wenn Sie ein dediziertes Blockgerät als Sicherungsziel verwenden, müssen Sie es über SSH initialisieren, bevor Sie mit dem VerwaltungskonsoleVorgang fortfahren. Dieser Vorgang formatiert das Gerät und löscht alle vorhandenen Daten.

  1. Stelle eine Verbindung mit deiner Instanz über SSH als admin-Benutzer her. Weitere Informationen findest du unter Auf die Verwaltungsshell (SSH) zugreifen.

  2. Verbinden Sie Ihr Sicherungsblockgerät mit der Instanz.

  3. 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
    
  4. 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.

    ghe-storage-init-backup /dev/YOUR_DEVICE_NAME
    

    Dieser Befehl:

    • formatiert das Gerät (löscht alle Daten)

    • Bereitet es für die Verwendung durch den Sicherungsdienst vor.

    • Legt fest, dass es beim Systemstart automatisch unter /data/backup eingehängt wird.

    • Wenn in einer Clusterumgebung, konfiguriert den Knoten in cluster.conf mit der Rolle backup-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.

Wenn Sie den Sicherungsdatenträger von GitHub Enterprise Server trennen müssen, führen Sie die folgenden Schritte aus.

  1. Listen Sie Blockgeräte auf, und heben Sie die Einbindung von /data/backup auf.

    sudo lsblk
    sudo umount /data/backup
    
  2. Listen Sie logische Volumes auf, und deaktivieren Sie das logische Volume.

    sudo lvs
    sudo lvchange -an <backup_VG>/<backup_LV>
    
  3. Trennen Sie den Datenträger mithilfe der Konsole oder CLI, die vom Cloudanbieter oder Hypervisor bereitgestellt wird.

  4. 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:

  1. Stelle eine Verbindung mit deiner Instanz über SSH als admin-Benutzer her.

  2. Füge den Datenträger an die Instanz an.

  3. Erstelle den Bereitstellungspunkt, falls keiner vorhanden ist.

    sudo mkdir -p /data/backup
    
  4. Aktivieren und starten Sie den Mountdienst.

    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 eingehängt wurde, ist die Seite „Backup-Dienst“ im Abschnitt „Backup“ im Verwaltungskonsole verfügbar. Wenn Ihre Instanz Teil einer Cluster-Umgebung ist, ist die Seite „Backup-Service“ 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 Sie von GitHub Enterprise Server Backup Utilities migrieren, können Sie Ihre Konfiguration auf eine von zwei Arten übertragen:

  1. Manuelle Konfiguration: Erstellen Sie Ihre Einstellungen direkt in der Verwaltungskonsole.

  2. 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.

Sicherung übernehmen

Nachdem der Dienst konfiguriert wurde, können Sie eine Sicherung manuell ausführen, indem Sie die folgenden Schritte ausführen:

  1. Im Verwaltungskonsole öffnen Sie im oberen Menü die Registerkarte „Backups“.
  2. 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.

  1. Öffnen Sie im Verwaltungskonsole im oberen Menü die Registerkarte „Einstellungen“.
  2. Wählen Sie im Abschnitt "Sicherung" einen vordefinierten Zeitplan (z. B. "Täglich") aus, oder geben Sie einen benutzerdefinierten Cron-Ausdruck ein.
  3. 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.