Skip to main content

Wie werden Backups erstellt und was ist für mich dabei zu beachten?

← All Topics

Ihre Daten sind wichtig. Wir erstellen daher regelmäßig Backups. Sollten Daten einmal verloren gehen, können diese sogar nach Monaten wieder hergestellt werden. Damit dies jedoch funktioniert ist es wichtig, dass Sie verstehen, wie unsere Backups durchgeführt werden und welche Besonderheiten dabei zu beachten sind.

Wann und wie erstellen wir Backups?

Datensicherungen werden von uns jede Nacht durchgeführt. Alle Server werden hierbei nacheinander abgearbeitet. Der genau Zeitpunkt des Backups variiert, abhängig davon, wie viele Daten in dieser Nacht zu sichern sind. Typischerweise finden Backups zwischen Mitternacht und 8 Uhr morgens statt.

Unsere Backups arbeiten dateibasiert. Das System überprüft bei jeder Datei, ob sich seit der letzten Sicherung die Dateigröße oder das Zugriffsdatum geändert hat oder ob es sich um eine komplett neue Datei handelt. Falls ja, wird die Datei neu vom Server auf das Backup-System übertragen. Dies geschieht mit allen Dateien auf Ihrem Server. Auf dem Server gelöschte Dateien werden auch im aktuellen Backup entfernt. Am Ende des täglichen Sicherungslaufs wird auf dem Backup-System ein Snapshot erstellt. Dieser enthält alle Dateien in dem Zustand, in dem sie sich während des nächtlichen Sicherungslaufs befanden. Durch die Verwendung von Snapshots ist es möglich, auf regelmäßige speicherplatzintensive Vollbackups zu verzichten, was uns Speicherplatz und Ihnen dadurch Kosten spart.

Für technisch Interessierte: Zur automatischen Synchronisation von Dateien verwendet unser System rsync. Der Abgleich von S3 Daten in Kubernetes findet mit einem speziellen S3 Client statt. Die Daten werden auf den Backup-Systemen in einem BTRFS Dateisystem gespeichert, welches inhärent das Erstellen von Snapshots unterstützt.

Wie lange werden Backups aufbewahrt?

Snapshots der nächtlichen Sicherungsstände werden eine Woche aufbewahrt. Zusätzlich bewahren wir eine wöchentliche Sicherung für einen Zeitraum von 3 Monaten auf. Dies ist ein guter Kompromiss zwischen Aufbewahrungsdauer und Speicherplatzverbrauch. Typischerweise erkennt man den Verlust wichtiger Daten innerhalb weniger Tage. Bei einem Datenverlust, welcher erst nach mehreren Wochen bemerkt wird ist es dagegen meist egal, ob eine Sicherung vom Montag oder vom Donnerstag der betreffenden Woche zurückgespielt wird.

Hinweis: bei den angegebenen Aufbewahrungsintervallen handelt es sich um unsere Standard-Einstellungen. Individuelle Aufbewahrungszeiträume können mit uns individuell vereinbart werden.

Wie funktioniert die Datensicherung in Kubernetes?

Das Backup von Daten in Kubernetes-Installation funktioniert im wesentlichen genauso wie die Datensicherung von normalen Servern, also zu den selben Zeitpunkten, dateibasiert und mit den selben Aufbewahrungsintervallen.
Im Unterschied zu normalen Servern erstellt unser Backupsystem hierbei jedoch eine Liste aller PVCs und sichert diese nacheinander und getrennt voneinander. Hierbei ist es unerheblich, ob es sich beim Original-Speicher um ein lokales PVC handelt oder um ein PVC, welches auf einem verteilten Ceph Speicher liegt. Es ist auch irrelevant, ob ein PVC zum Zeitpunkt des Backups genutzt wird, also gemountet ist, oder nicht. Alle PVCs werden gesichert.

Wie werden MySQL/MariaDB Datenbanken gesichert?

Datenbanken haben typischerweise das Problem, dass sie ihre Daten in sehr großen Dateien verwalten. Diese werden von der Datenbanksoftware ständig offen gehalten und darin enthaltene Daten geändert. Ein dateibasiertes Backup kann dadurch sehr schnell Inkonsistenzen aufweisen.

Um sicherzustellen, dass auch Datenbanken nach einem Datenverlust zuverlässig zurückgespielt werden können, speichern wir Datenbanken nicht dateibasiert, sondern machen hier eine Ausnahme. Von Datenbanken werden Dumps erzeugt und auf das Backup-System übertragen. Diese Dumps enthalten MySQL-Kommandos, welche es ermöglichen, den genauen Inhalt der Datenbanken nach einem Verlust wiederherzustellen. Ein Recovery ist dabei bis auf die Ebene einzelner Tabellen möglich.

Alle vertraglich durch uns verwalteten Datenbanken werden auf diese Art gesichert. Dies betrifft insbesondere alle Datenbanken unserer Webserver, sowie MariaDB- und Galera-Instanzen in Kubernetes, sofern diese Datenbanken durch uns bereitgestellt werden.

Datenbanken, von deren Existenz wir nicht wissen bzw. die nicht durch uns verwaltet werden, werden wie normale Dateien behandelt und daher auch nur dateibasiert gesichert. Dies betrifft insbesondere interne Datenbanken von Anwendungssoftware sowie MySQL/MariaDB/PostgreSQL-Instanzen, welche von unseren Kunden selbst in Kubernetes deployed werden. Es empfiehlt sich in solchen Fällen dafür zu sorgen, dass von Ihrer Software eine zusätzliche Sicherung bzw. ein regelmäßiger Dump erzeugt wird. Sofern diese Dateien auf dem Server bei uns gespeichert werden, werden diese von der nächtlichen Sicherung erfasst und mitgesichert. Falls dies nicht beachtet wird kann es zu Datenverlust kommen!

Was ist zu beachten?

Wichtige Punkte ergeben sich aus der Art und Weise, wie unser Backup erstellt wird und deren konzeptbedingten Einschränkungen:

  • Falls Sie Datenbanken selbst verwalten oder große Dateien verwenden, welche in sich selbst inkonsistent sein können, erstellen Sie zusätzliche Sicherungen bzw. Dumps.
  • Falls Sie S3 in Kubernetes nutzen, legen Sie Ihre Dateien immer in relativen Pfaden ab, d.h. ohne / am Beginn des Pfad/Dateinamens. Dateien, welche mit einem / beginnen können von unser Backup-Software leider nicht erfasst und somit nicht gesichert werden.
  • Änderungen in Dateien können vom Backupsystem nur erfasst werden, wenn sich die Größe oder der Zeitstempel einer Datei geändert haben. Die Änderung des Zeitstempels geschieht automatisch. Vermeiden Sie jedoch eine manuelle Manipulation des Dateidatums
  • Legen Sie nicht zu viele Dateien (>10.000) in einzelnen Verzeichnissen ab. Dies betrifft insbesondere die Verwaltung von Dateien in CephFS unter Kubernetes. Dies verzögert die Erstellung von Backups erheblich. Nutzen Sie Unterordner.
  • Der Zeitpunkt des Backups variiert. Es findet jede Nacht ein Backup-Lauf statt. Durch Verzögerungen, z.B. durch große Datenmengen auf einem Server, welcher unmittelbar vorher gesichert wird, kann es jedoch zu Verzögerungen kommen. Backups sind daher nicht immer maximal 24 Stunden alt sondern können z.B. auch 30 Stunden alt sein. Falls Sie darauf angewiesen sind, dass Ihre Sicherungen aktueller sind, sprechen Sie uns bitte auf die Möglichkeiten anderer Sicherungs-Konzepte an.
  • Bitte beachten Sie, dass das Zurückspielen großer Datenmengen erhebliche Zeit in Anspruch nehmen kann. Typische Recovery-Zeiten für einen kompletten Server liegen bei mehreren Stunden. Falls Sie darauf angewiesen sind, dass Ihre Daten im Fehlerfall schneller wieder nutzbar sind, sprechen Sie uns bitte auf die Möglichkeiten von Hot-Standby-Servern an.
  • Falls Sie sich nicht sicher sind, ob Ihre Daten korrekt gesichert werden, sprechen Sie uns bitte an.

Wie verhindere ich ein Backup?

In machen Fällen ist es sinnvoll, dass von bestimmten Daten kein Backup durchgeführt wird. Dies kann z.B. der Fall sein, wenn Sie wissen, dass es sich bei Ihren Daten nur um temporäre Dateien handelt, welche nur unnötig Speicherplatz auf unseren Backup-Servern benötigen würden. Wir haben daher die Möglichkeit, bestimmte Verzeichnisse vom nächtlichen Sicherungslauf auszuschließen. Bitte schreiben Sie uns eine kurze Nachricht an den Support mit Angabe des Servers und Verzeichnisnamens, falls wir ein Verzeichnis in die Backup Exclude Liste aufnehmen sollen. Unter Kubernetes können Sie selbst definieren, dass ein PVC nicht gesichert wird. Setzen Sie hierfür das folgende Label an das PVC: backup.tralios.de/exclude: "true".

Wie erhalte ich Daten aus dem Backup?

Sie benötigen Daten aus unserem Backup? Bitte senden Sie hiezu eine Nachricht an unseren Support. Geben Sie dabei bitte möglichst detailliert an, um welche Daten es sich handelt (Server, Dateiname, Verzeichnisname o.ä.) sowie auf welches Backup zurückgegriffen werden soll (Beispielangabe: „Die Datei index.html aus dem Verzeichnis www.example.com wurde wahrscheinlich vorgestern gelöscht. Bitte ein mindestens 3 Tage altes Backup zurückspielen.“).