Disaster Recovery
Einleitung
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.
Hinweis: Die Konfiguration der Backupautomatisierung, das Monitoring sowie die Sicherstellung der Durchführung der Sicherungen obliegt dem Kunden.
Systemübersicht
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.
Wichtig: Alle Applikationen können auch auf einer einzigen Maschine gemeinsam betrieben werden. Die Verwendung des S3 Storage ist optional, aber im Verwendungsfall ist ohne die Inhalte des S3 Buckets ein Betrieb des Relution Servers nicht möglich.
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.