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
| Strategie | Details |
|---|---|
| Häufigkeit | Tägliche vollständige Dumps (z. B. via mariadb-dump oder pg_dump) |
| Inkrementell | Stündliche inkrementelle Backups (je nach Notwendigkeit) |
| Verwaltung | Automatisierte Rotation und Aufbewahrungsregeln |
| Sicherheit | Verschlüsselung der Backupdateien (AES256 oder GPG) je nach Notwendigkeit |
| Konsistenz | Während des Backups sollte der Relution-Dienst vorübergehend gestoppt werden, um Inkonsistenzen zu vermeiden! |
2. S3-Storage-Backup (Optional)
| Strategie | Details |
|---|---|
| Methode | Replikation auf zweites S3-Ziel oder regelmäßiges Syncing (s3cmd sync, rclone sync) |
| Umfang | Sicherung kritischer Buckets in definierten Intervallen |
| Konsistenz | Wä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
| Intervall | Sicherung |
|---|---|
| Täglich | Voll-Backup der Datenbank |
| Stündlich | Inkrementelles DB-Backup (je nach Notwendigkeit) |
| Täglich | S3-Sync kritischer Buckets |
| Wöchentlich | Vollständiges Server-Konfigurationsbackup |
Weitere Aspekte
| Bereich | Details |
|---|---|
| Automatisierung | Cronjobs oder systemd Timer; Logging aller Prozesse; Benachrichtigungen bei Fehlern |
| Verschlüsselung | Verschlüsselung aller Backups; TLS/HTTPS/SSH für Transport |
| Integritätsprüfung | Monatliche Test-Wiederherstellung |
Wiederherstellungsverfahren
1. Datenbank-Wiederherstellung
- Auswahl der korrekten Backupdatei
- Zielsystem vorbereiten (Datenbankdienst stoppen)
- Import der Daten durchführen (z. B. via
psqlodermysql) - Funktionstest der Relution-Anwendung
2. S3 Storage-Wiederherstellung
- Auswahl der Objekte/Buckets
- Wiederherstellung via
rclone,s3cmdoder API - 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.