Die drei wichtigsten Backupstrategien

In der IT ist folgende Weisheit allgemein bekannt (auch wenn sie leider nicht jeder ITler beherzigt):

"Kein Backup - kein Mitleid!"

Schauen wir uns mal drei wichtige Backup-Strategien an:

   Strategien der Datensicherung
   1) Vollbackup
   2) Inkrementelles Backup
   3) Differentielles Backup
   Interaktive Demonstration
   Nachtrag

Strategien der Datensicherung

Im Umgang mit digitalen Daten sind regelmäßige Sicherungen sehr wichtig. Das gilt nicht nur für sensible Daten von Firmen. Auch im privaten Bereich kann es sehr schmerzhaft werden, wenn ein Datenträger mal komplett den Dienst versagt und von den darauf gespeicherten Informationen, z.B. einem Fotoalbum oder wichtigen Dokumenten, keine aktuelle Kopie existiert.

Manchmal wird als Lösung der Einsatz eines RAID-Systems empfohlen, z.B. RAID 1 mit redundanter Speicherung über mehrere Festplatten hinweg. Das kann man allerdings nicht als Datensicherung bezeichnen, denn veränderte Daten werden in so einem System überall redundant geändert. Eine versehentlich geänderte Datei könnte man damit nachträglich nicht wieder herstellen. RAID-Systeme (die meisten) bezeichnet man daher als Ausfallschutz, da sie nur sicherstellen, dass die Daten bei Ausfall einer der Festplatten nicht sofort weg sind.

Hinzu kommt die Gefahr einer Infektion durch Schadsoftware. Wird ein Rechner beispielsweise von Ransomware befallen, die Daten verschlüsselt und den Besitzer damit erpresst, dann sind meist alle am System angeschlossenen Datenträger betroffen. Eine räumlich getrennt gelagerte Sicherheitskopie wäre in so einem Fall sehr hilfreich.

Dafür gibt es im Wesentlichen drei verschiedene Strategien, die am Beispiel einer täglichen Datensicherung erklärt werden sollen. In allen drei Fällen gibt es nach dem fünften Tag einen Systemcrash mit totalem Datenverlust und das jeweilige Backup muss wiederhergestellt werden.

↑ Nach oben ↑

1) Vollbackup

Ein Vollbackup bedeutet immer eine komplette Kopie aller vorhandenen Daten.

Das bedeutet, dass an jedem Tag der aktuelle Datenbestand zu den bisherigen Sicherungen hinzukommt. Nach fünf Tagen sind es schon fünf gespeicherte Vollbackups, wobei normalerweise jedes neuere größer als das vorherige ist.

Dann gibt es einen Systemcrash mit Datenverlust und das Backup muss wiederhergestellt werden.

Wiederhergestellt werden die Daten, indem man das letzte Vollbackup zurücksichert.

Vorteil:
Zur Wiederherstellung wird lediglich das letzte Vollbackup benötigt.

Nachteil:
Beim Archivieren mehrerer Backups wird sehr viel Speicherplatz belegt.

↑ Nach oben ↑

2) Inkrementelles Backup

Dazu muss zunächst einmal ein Vollbackup des aktuellen Systems gemacht werden.

An jedem weiteren Tag kommt eine bestimmte Menge Daten hinzu und nur diese Datenmenge wird am Ende des Tages gesichert.

So geht das fünf Tage lang. Immer wird nur die neu hinzugekommene Menge Daten des jeweiligen Tages gesichert.

Und nun kommt wieder der Systemcrash mit Datenverlust.

Wiederhergestellt werden die Daten, indem man das letzte Vollbackup und alle seitdem angelegten inkrementellen Backups zurücksichert.

Vorteil:
Zum Archivieren der Backups wird relativ wenig Speicher belegt.

Nachteil:
Zur Wiederherstellung werden außer dem letzten Vollbackup alle seitdem erstellten inkrementellen Backups benötigt.

↑ Nach oben ↑

3) Differentielles Backup

Dies ist eine Mischform aus Vollbackup und inkrementellem Backup, wobei einerseits die Vorteile der beiden Strategien vereint werden, andererseits aber Kompromisse eingegangen werden müssen.

Auch hier wird zunächst ein Vollbackup des aktuellen Systems benötigt.

An jedem weiteren Tag kommt wieder eine bestimmte Menge Daten hinzu. Gesichert werden jetzt täglich alle Daten, die seit dem letzten Vollbackup hinzugekommen sind. Das bedeutet, dass die zu sichernde Datenmenge jeden Tag größer wird, da man beispielsweise am vierten Tag alle Änderungen des ersten, zweiten, dritten und vierten Tages sichern muss.

Nach fünf Tagen folgt wieder ein Systemcrash mit Datenverlust.

Wiederhergestellt werden die Daten, indem man das letzte Vollbackup und das letzte differentielle Backup zurücksichert.

Vorteil:
Zum Archivieren der Backups wird relativ wenig Speicher belegt (zwar mehr als beim inkrementellen Backup, jedoch weniger als bei ständigen Vollbackups).

Nachteil:
Zur Wiederherstellung werden immer zwei Backups benötigt: Das letzte Vollbackup und das zuletzt durchgeführte differentielle Backup. Im Vergleich zu den inkrementellen Backups kann das natürlich auch als Vorteil gesehen werden.

↑ Nach oben ↑

Interaktive Demonstration

Nachfolgend eine Simulation aller drei Backup-Strategien. Dazu die Links mit dem Mauspfeil berühren:

 

Vollbackup:
  1. Datenbestand Tag 1
  2. Vollbackup Tag 1
  3. Datenbestand Tag 2
  4. Vollbackup Tag 2
  5. Datenbestand Tag 3
  6. Vollbackup Tag 3
  7. Datenbestand Tag 4
  8. Vollbackup Tag 4
  9. Datenbestand Tag 5
  10. Vollbackup Tag 5
  11. Systemcrash
  12. Wiederherstellung
Inkrementell:
  1. Datenbestand Tag 1
  2. Vollbackup Tag 1
  3. Datenbestand Tag 2
  4. Inkrementelles Backup Tag 2
  5. Datenbestand Tag 3
  6. Inkrementelles Backup Tag 3
  7. Datenbestand Tag 4
  8. Inkrementelles Backup Tag 4
  9. Datenbestand Tag 5
  10. Inkrementelles Backup Tag 5
  11. Systemcrash
  12. Wiederherstellung
Differentiell:
  1. Datenbestand Tag 1
  2. Vollbackup Tag 1
  3. Datenbestand Tag 2
  4. Differentielles Backup Tag 2
  5. Datenbestand Tag 3
  6. Differentielles Backup Tag 3
  7. Datenbestand Tag 4
  8. Differentielles Backup Tag 4
  9. Datenbestand Tag 5
  10. Differentielles Backup Tag 5
  11. Systemcrash
  12. Wiederherstellung

↑ Nach oben ↑

Nachtrag

Welche Backup-Form die beste ist, muss immer im Einzelfall entschieden und kann nicht pauschal festgelegt werden.

Aus der Praxis mal das Beispiel eines Spieleservers, konkret geht es um das Spiel Minecraft. Dieser legt natürlich auch regelmäßige Backups der Spielwelten ab.

Das Spiel Minecraft arbeitet mit sogenannten "Voxeln" (Volume pixel), das sind Pixel im dreidimensionalen Raum. Auf dem Server sind die Weltgrößen statisch. Je Voxel gibt es einen Wert, der das jeweilige Material an dem Punkt darstellt. Ist eine Position unbebaut, befindet sich dort Luft mit dem Wert 0. Baut jemand einen Steinblock dort hin, wird dieser Wert gegen eine 1 für Stein ausgetauscht.

Es ist also egal, wie viel in den Welten gebaut wird. Es ändern sich immer nur bereits vorhandene Werte, neue kommen nicht hinzu. Somit ändert sich an der Speichergröße nichts.

Weil in diesem Fall von einer statischen Speichergröße ausgegangen werden kann, fiel die Entscheidung auf eine Vollbackup-Strategie.

Auf eine separate Platte des Servers passen 60 Vollbackups aller Welten. Also wurde der Server so eingerichtet, dass er alle 12 Stunden automatisch ein Vollbackup macht. Sollte mal über 12 Stunden kein Spieler auf dem Server sein und somit keine Veränderung stattfinden, schiebt der Server das nächste Backup auf, bis wieder ein Spieler online war. So werden unnötige Backups mit identischem Inhalt vermieden.

Sind 60 Vollbackups erreicht (im Normalfall wären das die Spielstände der letzten 30 Tage), wird immer das älteste Backup gelöscht, bevor ein neues angelegt wird.

Damit ergibt sich die Möglichkeit, jede Welt aus den letzten 30 Tagen mit der Rücksicherung nur eines einzigen Vollbackups wieder herzustellen.

Zusätzlich ist auf dem Server noch eine Datenbank eingerichtet, die Änderungen mitprotokolliert. Einmal kann man damit nachvollziehen, welcher Spieler z.B. unbefugt etwas von einem anderen Spieler verändert hat. Und dann können mit Hilfe dieser Datenbank auch einzelne Änderungen rückgängig gemacht werden. Hat also jemand vor zehn Tagen etwas bei einem anderen Spieler zerstört und fällt dies erst heute auf, muss nicht das komplette Vollbackup von vor zehn Tagen wiederhergestellt werden. Das würde nämlich bedeuten, dass man damit sämtliche Aktivitäten aller Spieler der letzten zehn Tage verlieren würde. Und das wäre ärgerlich.

Wie man sieht, gibt es auch für individuelle Wünsche Lösungsmöglichkeiten. Deshalb sollte man sich im Vorfeld erst einmal Gedanken über die eigenen Ansprüche machen und erst dann eine Strategie auswählen und umsetzen.

↑ Nach oben ↑