Disaster Recovery

Diese Anleitung beschreibt das Backup- und Sicherungskonzept für einen Relution Server, der eine Datenbank (PostgreSQL oder MariaDB) verwendet und optional ein On-Premises betriebenes S3-kompatibles Storage-System (wie z. B. MinIO) einbindet.

Das Ziel ist es, die Datenintegrität sicherzustellen, Ausfallzeiten zu minimieren (RTO) und eine zuverlässige Wiederherstellbarkeit im Notfall zu gewährleisten.


Zu sichernde Komponenten

Die Relution-Infrastruktur besteht typischerweise aus folgenden Komponenten, die gesichert werden müssen:

  • Applikationsserver: Hostet die Relution Anwendung und Dienste.
  • Datenbank (On-Premises): MariaDB oder PostgreSQL.
  • S3 Storage (On-Premises): Objektbasiertes Speichersystem (optional) zur Ablage von Dateien, Backups und persistenten Daten.

Backup-Ziele

  • Minimierung des Datenverlusts (RPO – Recovery Point Objective)
  • Schnelle Wiederherstellung der Dienste (RTO – Recovery Time Objective)
  • Schutz vor Hardwareausfall, Softwarefehlern und menschlichen Fehlern
  • Schutz vor Datenmanipulation sowie Ransomware

Backup-Komponenten und -Strategien

1. Datenbank-Backup

StrategieDetails
HäufigkeitTägliche vollständige Dumps (z. B. via mariadb-dump oder pg_dump)
InkrementellStündliche inkrementelle Backups (je nach Notwendigkeit)
VerwaltungAutomatisierte Rotation und Aufbewahrungsregeln
SicherheitVerschlüsselung der Backupdateien (AES256 oder GPG) je nach Notwendigkeit
KonsistenzWährend des Backups sollte der Relution-Dienst vorübergehend gestoppt werden, um Inkonsistenzen zu vermeiden!

2. S3-Storage-Backup (Optional)

StrategieDetails
MethodeReplikation auf zweites S3-Ziel oder regelmäßiges Syncing (s3cmd sync, rclone sync)
UmfangSicherung kritischer Buckets in definierten Intervallen
KonsistenzWährend des Backups sollte der Relution-Dienst vorübergehend gestoppt werden, um Inkonsistenzen zu vermeiden!

3. Server-Konfigurationsbackup

Es müssen alle relevanten Konfigurationsdateien gesichert werden:

  • /opt/relution (Verzeichnis des Relution Servers)
  • compose.yml (oder vergleichbare Startskripte)
  • application.yml (Relution Konfiguration)
  • Ggf. die NginX Konfigurationsdatei
  • SSL Zertifikat und Schlüssel

Backup-Speicherorte

Es wird die Einhaltung des 3-2-1-Backup-Prinzips empfohlen:

  • 3 Kopien der Daten
  • 2 unterschiedliche Systeme/Medien
  • 1 Kopie extern/offsite

Backup-Prozesse

Zeitplanung

IntervallSicherung
TäglichVoll-Backup der Datenbank
StündlichInkrementelles DB-Backup (je nach Notwendigkeit)
TäglichS3-Sync kritischer Buckets
WöchentlichVollständiges Server-Konfigurationsbackup

Weitere Aspekte

BereichDetails
AutomatisierungCronjobs oder systemd Timer; Logging aller Prozesse; Benachrichtigungen bei Fehlern
VerschlüsselungVerschlüsselung aller Backups; TLS/HTTPS/SSH für Transport
IntegritätsprüfungMonatliche Test-Wiederherstellung

Wiederherstellungsverfahren

1. Datenbank-Wiederherstellung

  1. Auswahl der korrekten Backupdatei
  2. Zielsystem vorbereiten (Datenbankdienst stoppen)
  3. Import der Daten durchführen (z. B. via psql oder mysql)
  4. Funktionstest der Relution-Anwendung

2. S3 Storage-Wiederherstellung

  1. Auswahl der Objekte/Buckets
  2. Wiederherstellung via rclone, s3cmd oder API
  3. Integritätscheck (Prüfen, ob Dateien in Relution vorhanden sind)

3. Gesamtsystem-Wiederherstellung

  • Wiederherstellung der Konfigurationen (aus den Server-Konfigurationsbackups)
  • Neustart aller Dienste
  • Funktionstest der kompletten Anwendung

Monitoring & Alarmierung

  • Überwachung aller Backupprozesse (z. B. mit Tools wie Grafana + Prometheus)
  • Alarmierung bei:
    • Fehlern bei der Sicherung
    • Niedrigem Speicherplatz
    • Integritätsfehlern
    • Fehlern beim Test-Restore

Sicherheit und Dokumentation

Sicherheit

  • Zugriffsbeschränkungen (Least Privilege-Prinzip)
  • Sichere Speicherung von Schlüsseln und Zugangsdaten
  • Regelmäßige Updates der verwendeten Software

Dokumentation

  • Dokumentation aller Prozessänderungen (Konfiguration, Zeitpläne)
  • Klare Zuständigkeiten für Backup und Restore
  • Aufbewahrung der Logdaten mindestens 90 Tage

Abschluss

Dieses Sicherungskonzept stellt sicher, dass sowohl die Datenbank als auch das On-Premises S3 Storage-System zuverlässig geschützt und im Ernstfall schnell wiederherstellbar sind. Durch Automatisierung und regelmäßige Prüfungen wird die Betriebssicherheit langfristig gewährleistet.

Top