Was ist ein anwendungskonsistentes Backup?
Ein anwendungskonsistentes Backup (Application-Aware Backup) ist ein Backup-Verfahren, das sich vor dem Erstellen der Kopie mit den Anwendungen im System abstimmt. Die Anwendung schreibt ausstehende Änderungen weg und bringt ihre Dateien in einen konsistenten Zustand, sodass der Wiederherstellungspunkt ohne Reparatur oder Datenverlust gestartet und genutzt werden kann.
Warum ist Konsistenz ein Thema?
Datenbanken und Mailserver halten aktuelle Änderungen im Arbeitsspeicher und in Transaktionsprotokollen, bevor sie sie in ihre Hauptdatendateien schreiben. Eine Kopie der Disk zu einem beliebigen Zeitpunkt erfasst diese Dateien mitten in der Aktualisierung. Die Anwendung kann sich aus diesem Zustand erholen, wie nach einem Stromausfall, oder auch nicht.
| Stufe | Was erfasst wird | Ergebnis bei der Wiederherstellung |
|---|---|---|
| Absturzkonsistent | Disk-Inhalt zu einem Zeitpunkt | Wie ein Neustart nach Stromausfall |
| Dateisystemkonsistent | Disk mit geleerten Dateisystempuffern | Dateien intakt, Anwendung benötigt eventuell eine Recovery |
| Anwendungskonsistent | Disk, nachdem die Anwendung stillgelegt wurde | Anwendung startet sauber |
Wie funktioniert ein anwendungskonsistentes Backup?
Vor dem Snapshot signalisiert die Backup-Software dem Betriebssystem und der Anwendung den bevorstehenden Vorgang. Unter Windows geschieht das über den Volumeschattenkopie-Dienst (VSS), dessen Writer SQL Server, Exchange, Active Directory und andere zur Vorbereitung auffordern. Unter Linux laufen vor und nach dem Snapshot Skripte, die die Anwendung einfrieren und wieder freigeben. Sobald der Snapshot besteht, arbeitet die Anwendung weiter und das Backup liest aus dem eingefrorenen Abbild.
Was ermöglicht Anwendungskonsistenz darüber hinaus?
Die Abstimmung mit der Anwendung ermöglicht mehr als eine saubere Kopie. Transaktionsprotokolle können nach einem erfolgreichen Backup gekürzt werden, damit sie die Disk nicht füllen. Protokolle lassen sich auch zwischen vollständigen Läufen sichern, was eine Point-in-Time-Recovery auf einen bestimmten Zeitpunkt erlaubt. Und die Backup-Software kann die Struktur der Anwendung lesen, wodurch die Wiederherstellung einzelner Elemente wie einer Datenbank, eines Postfachs oder eines Verzeichnisobjekts möglich wird.
Wann ist ein anwendungskonsistentes Backup nicht erforderlich?
Zustandslose Server, etwa Web-Frontends ohne eigene Daten, lassen sich gut aus einer absturzkonsistenten Kopie wiederherstellen. Systeme, deren Datenbanken separat durch native Dumps oder Log Shipping geschützt sind, benötigen es auf Image-Ebene eventuell ebenfalls nicht. Für alles, was Transaktionsdaten speichert und aus seinem Image wiederhergestellt wird, ist Anwendungskonsistenz die sicherere Voreinstellung, und ein Wiederherstellungstest zeigt, ob sie funktioniert.
Häufig gestellte Fragen
Bremst ein anwendungskonsistentes Backup die Anwendung?
Während der Snapshot erstellt wird, pausieren die Schreibvorgänge kurz, meist für einige Sekunden. Bei sehr stark belasteten Datenbanken sollte es in ruhigere Zeiten gelegt werden.
Brauchen virtuelle Maschinen ein anwendungskonsistentes Backup?
Es wird für die Anwendungen darin benötigt. Ein Hypervisor-Snapshot allein liefert eine absturzkonsistente Kopie.
Was passiert, wenn das Stilllegen fehlschlägt?
Backup-Software lässt sich so einstellen, dass der Job fehlschlägt oder mit einer absturzkonsistenten Kopie fortfährt. Die Wahl sollte bewusst getroffen werden, und die Warnung sollte sichtbar sein.
