Benutzer-Werkzeuge

Webseiten-Werkzeuge


tachtler:gitlab_archlinux_-_restore

Dies ist eine alte Version des Dokuments!


GitLab ArchLinux - Restore

GitLab ist ein, in der Community Edition unter einer MIT-Lizenz zur Verfügung gestelltes System, zur Verwaltung von Git-Repositorys im Browser, was den unentgeltlichen Betrieb auf einem eigenen Server ermöglicht.

Ab hier werden root-Rechte zur Ausführung der nachfolgenden Befehle benötigt. Um der Benutzer root zu werden, geben Sie bitte nachfolgenden Befehl ein:

$ su -
Password: 

Vorwort

Als grobe Richtlinie gilt:

Wenn eine Architektur mit weniger als 100 GB Daten Verwendung findet, sind die nachfolgenden drei Schritte für ein erfolgreiches Restore ausreichend:

  1. Restore-Befehl ausführen.
  2. Objektspeicher wiederherstellen, falls zutreffend.
  3. Manuelles einspielen der gesicherten Konfigurationsdateien.

Welche Daten müssen wiederhergestellt werden?

  1. PostgreSQL-Datenbanken
  2. Git-Repositories
  3. Blobs
  4. Container-Registrierung
  5. Konfigurationsdateien
    1. Es sollten Sicherungskopien des Konfigurationsverzeichnisses wiederhergestellt werden. Zumindest muss ein Backup von nachfolgenden Dateien manuell wiederhergestellt werden:
      1. /etc/webapps/gitlab/gitlab.yml
      2. /etc/webapps/gitlab/secrets.yml
      3. /etc/webapps/gitlab/secret
      4. /etc/webapps/gitlab-shell/secret
    2. oder am besten von den beiden nachfolgenden Verzeichnissen:
      1. /etc/webapps/gitlab
      2. /etc/webapps/gitlab-shell
  6. Andere Daten

Voraussetzungen

Als Voraussetzung für die hier, nachfolgend durchgeführtes Backup von GitLab Version 16.x ist:

GitLab: Dienste/Daemons stoppen

Nachdem GitLab wahrscheinlich bereits lauffähig gestartet wurde, ist es erforderlich GitLab zu stoppen.

Da ein systemd-Target - hier in diesem Fall gitlab.target nicht einfach gestoppt werden kann, ist es sinnvoll sich den Inhalt von gitlab.target mit nachfolgendem Befehl anzeigen zu lassen:

# systemctl cat gitlab.target
# /usr/lib/systemd/system/gitlab.target
[Unit]
Description=GitLab - Self Hosted Git Management
Requires=gitlab-puma.service gitlab-workhorse.service
Wants=gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service

[Install]
WantedBy=multi-user.target

Hier sind alle Dienste/Daemons welche ebenfalls mittels systemd gestartet werden aus dem gitlab.target in den Bereichen

  • Requires
  • Wants

aufgelistet

Diese können dann mit nachfolgendem Befehl gestoppt werden:

# systemctl stop gitlab-puma.service gitlab-workhorse.service gitlab-sidekiq.service gitlab-backup.timer gitlab-gitaly.service gitlab-mailroom.service

GitLab: Restore-Befehl

Nachfolgende Befehle führen ein Restore aus einem Backup von GitLab durch.

Eine Auflistung mittels des Backup-Befehls erstellten Backup-Datei, kann mit nachfolgendem Befehl durchgeführt werden und sollte eine Datei in etwa wie die nachfolgende zum Vorschein bringen:

# ls -l /var/lib/gitlab/backups
total 644
-rw------- 1 gitlab gitlab 174080 Mar 23 07:59 1711175567_2024_03_23_16.9.2_gitlab_backup_manual.tar
-rw------- 1 gitlab gitlab 481280 Mar 23 07:32 1711175567_2024_03_23_16.9.2_gitlab_backup.tar

:!: ACHTUNG - Hier ist die vom Backup-Befehl erstellte Datei zu berücksichtigen!

Mit nachfolgendem Befehl muss zwingend in das Verzeichnis /usr/share/webapps/gitlab gewechselt werden:

# cd /usr/share/webapps/gitlab

Der nachfolgende Befehl, führt dann den Restore von GitLab aus:

# sudo -u gitlab $(cat environment | xargs) bundle exec rake gitlab:backup:restore RAILS_ENV=production BACKUP=/1711175567_2024_03_23_16.9.2_gitlab_backup.tar
Diese Website verwendet Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer zu. Außerdem bestätigen Sie, dass Sie unsere Datenschutzbestimmungen gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website.Weitere Information
tachtler/gitlab_archlinux_-_restore.1711210099.txt.gz · Zuletzt geändert: 2024/03/23 17:08 von klaus