Die Zuverlässigkeit von Backups und Datensicherungsstrategien im Allgemeinen hängt davon ab, ob die Backup-Daten gültig und sofort verwendbar sind, wenn sie benötigt werden. Restore-Fehler im Jahr 2021 wurden von einigen Organisationen mit 34% der Aufträge gemeldet.
Das Problem schneller und erfolgreicher Wiederherstellungen ist besonders besorgniserregend für Live-Datenbank-Workloads wie Microsoft SQL Server und Exchange Server. Diese sind normalerweise kritisch und können während des Backups der virtuellen oder physischen Maschine nicht angehalten werden, was je nach Größe der Maschine manchmal Stunden dauern kann. Um dieses Problem anzugehen, bieten moderne Lösungen verschiedene Arten von Backups an, einschließlich crash-konsistenter und anwendungskonsistenter Backups.
Lesen Sie diesen Beitrag, um die Hauptunterschiede zwischen diesen Backup-Typen zu entdecken und zu verstehen, wie sich jeder auf die Sicherung und Wiederherstellung von Anwendungsdaten auswirkt.
Crash-konsistentes Backup Wie nehmen Backup-Software einen Snapshot eines gesamten Datensatzes zum gleichen Zeitpunkt? Dies wird durch die Nutzung des Microsoft Volume Shadow Copy Service (VSS) erreicht, der seit Microsoft Server 2003 Bestandteil von Windows OS ist. Der VSS-Service erleichtert die Kommunikation zwischen den verschiedenen Komponenten in einer Umgebung: Backup-Software, Produktionsanwendungen, die nicht heruntergefahren werden können (mit während des Backup-Vorgangs auf sie geschriebenen Änderungen) und Speicher. Damit Microsoft VSS funktioniert , sollten all diese Komponenten diese Funktionalität unterstützen.
A crash-consistent backup takes a snapshot of all the data found on a disk at the exact same time, while preserving the write order. This means that files that rely on each other are backed up at the same point in time, and thus they are consistent. The term “crash-consistent” describes the capturing of the data for backup, as it is similar to a restore point being captured at the instant leading up to a server crashing or being powered off.
Wie erstellt Backup-Software einen Schnappschuss eines gesamten Datensatzes zum gleichen Zeitpunkt? Dies wird durch die Nutzung des Volume Shadow Copy Service (VSS) von Microsoft erreicht, der ab Microsoft Server 2003 ein Teil des Windows-Betriebssystems ist. Der VSS-Service erleichtert die Kommunikation zwischen den verschiedenen Komponenten in einer Umgebung: Backup-Software, Produktionsanwendungen, die nicht heruntergefahren werden können (mit Änderungen, die während des Backup-Vorgangs an sie geschrieben werden), und Speicher. Damit Microsoft VSS funktioniert, sollten all diese Komponenten diese Funktionalität unterstützen.
Der „VSS-Anforderer“, also die Backup-Software, fordert die Erstellung eines Schattenkopie an. VSS friert schnell die Ein-/Ausgabe-Operationen auf einem Volume ein, die dann in einer Warteschlange stehen. Anschließend werden die aktuell verwendeten Blöcke des Volumes erfasst. Die Backup-Software kopiert dann alle Daten von der Festplatte, auch nachdem sich die Blöcke geändert haben, da sie weiß, welche Blöcke für den Schnappschuss verwendet wurden.
Es ist zu beachten, dass das konsistente Backup im Vergleich zum alten inkonsistenten Backup deutlich überlegen ist, da es im Grunde genommen einer Kopie der Dateien auf der Festplatte entspricht. Das bedeutete, dass, wenn Dateien während des Backup-Vorgangs geändert wurden, Dateien, die voneinander abhängig sind, in einem inkonsistenten Zustand zurückgelassen würden, da eine Datei, von der eine andere abhängt, sich während des Backup-Zeitfensters geändert haben könnte.
Auch bei den Vorteilen gegenüber inkonsistenten Backups haben absturzkonsistente Backups ihre Grenzen. Am wichtigsten ist, dass Informationen im Speicher oder in ausstehenden I/O-Transaktionen ignoriert werden. Dies ist besonders kritisch im Fall von Datenbankanwendungen wie Microsoft SQL Server und Microsoft Exchange Server. Mit absturzkonsistenten Backups dieser Art von Anwendungen sind nach der Wiederherstellung der Daten Verfahren erforderlich, um die Backup-Daten in einen konsistenten Zustand zu bringen, was zu längeren Wiederherstellungszeiten und einem erhöhten Risiko von Datenverlust führt.
Anwendungskonsistentes Backup
Anwendungskonsistente Backups, auch als anwendungsbezogene Backups bekannt, können Anwendungsinformationen sowohl im Speicher als auch in ausstehenden I/O-Operationen erfassen. Dies ist möglich durch die Verwendung von anwendungsspezifischen Komponenten für den Dienst von Microsoft namens VSS-Schreiber. Diese Schreiber gewährleisten die Konsistenz der Anwendungsdaten beim Erstellen eines Schattenkopie. Wenn die Backup-Software die Erstellung einer Schattenkopie anfordert, ermöglichen Microsoft VSS-Schreiber oder Schreiber von Drittanbietern, dass VSS die Kontrolle über bestimmte Anwendungsdaten hat, nicht nur über Dateien auf der Festplatte, und ermöglichen es, diese Anwendungen mit transaktionsbasierter Konsistenz zu sichern.
Beispielsweise können Daten von Microsoft SQL Server im Speicher und bei ausstehenden Ein- und Ausgabeoperationen vorliegen. Ein regelmäßiges absturzkonsistentes Backup von Dateien auf der Festplatte, obwohl auf Dateiebene konsistent, wird die Daten in diesen Speicherorten verpassen. Mit anwendungs-konsistenten Backups jedoch ermöglicht der VSS-Writer für Microsoft SQL Server, dass die Informationen im Speicher gelöscht und die ausstehenden Ein- und Ausgabeoperationen in der richtigen Transaktionsreihenfolge auf die Festplatte geschrieben werden, damit das Backup der Festplatte mit den Anwendungsdaten konsistente transaktionale Daten enthält.
Anwendungs-konsistente Backups für Linux-Maschinen
Für Linux-basierte Maschinen, für die VSS-Dienste nicht verfügbar sind, können Sie die Linux-Pre-Script- und Post-Script-Befehle verwenden.
- Vor-Gefrieren-Skripte können kurz vor der Aufnahme des VM-Snapshots ausgeführt werden, um die Ein- und Ausgabeoperationen zu beruhigen und Informationen im Speicher auf die Festplatte zu schreiben.
- Nach-Auftauen-Skripte werden dann sofort nach der Aufnahme des VM-Snapshots ausgeführt, um die Ein- und Ausgabeoperationen zu reaktivieren, damit die Anwendung den regulären Betrieb wieder aufnehmen kann.
Wiederherstellung aus anwendungs-konsistenten Backups
Ein weiterer wesentlicher Unterschied zwischen anwendungs-konsistenten und absturzkonsistenten Backups besteht in der Menge an Arbeit, die Sie beim Wiederherstellen von Daten durchführen müssen, insbesondere nachdem die Wiederherstellung stattgefunden hat.
- Bei absturzkonsistenten Backups müssen Sie, da die Anwendungsdaten möglicherweise nicht konsistent sind, ein spezifisches Verfahren befolgen, um Anwendungen in einen konsistenten Zustand zu versetzen. Dieser Prozess variiert zwischen Produkten wie Microsoft Exchange Server oder Microsoft SQL Server.
- Mit anwendungskonsistenten Sicherungen ist die Anwendungsdaten bereits konsistent. In einem Notfallwiederherstellungsszenario von Anwendungsdaten ist es enorm von Vorteil, anwendungsbewusste Sicherungen statt absturzkonsistente Sicherungen zu haben, da der Wiederherstellungsprozess viel schneller und zuverlässiger ist.
VSS Writers Befehle
Das vssadmin ist ein leistungsstarkes Tools zur Problembehandlung für VSS-Schreiber, und viele Optionen stehen von der Kommandozeile aus zur Verfügung. Sie können den Zustand der VSS-Schreiber in Windows mithilfe des vssadmin list writers Befehls anzeigen. Das folgende Bild zeigt den speziellen VSS SqlServerWriter sowie für Exchange Microsoft Exchange Writer.
Der Microsoft Exchange Writer ist unten gezeigt.
Unten sind die von der vssadmin-Utility unterstützten Befehle aufgeführt.
Absturzkonsistent vs. Anwendungskonsistente Sicherung
Hier ist eine kurze Übersicht über die Unterschiede zwischen absturzkonsistenten und anwendungskonsistenten Sicherungen:
Betrieb | Absturzkonsistent | Anwendungskonsistent |
Konsistente Sicherung von Dateien zu einem bestimmten Zeitpunkt | Ja | Ja |
Volume Shadow Copy für blockweise Sicherung verwendet | Ja | Ja |
Anwendungskonsistenz | Nein | Ja |
Informiert über Speicherinformationen und ausstehende E/A-Transaktionen | Nein | Ja |
VSS-Schreiber verwendet | Nein | Ja |
Benötigt keine speziellen Schritte für die Wiederherstellung von Anwendungsdaten | Nein | Ja |
Schlussfolgerung
Es gibt klare Unterschiede darin, wie crash-konsistente und anwendungs-konsistente Backups Daten in Live-Anwendungen wie Microsoft SQL Server oder Microsoft Exchange Server verarbeiten. Crash-konsistente Backups kopieren keine Daten im Arbeitsspeicher und ausstehende E/A-Vorgänge. Anwendungsbezogene Backups sind sich dieser Art von transienten Daten bewusst und erfassen sie, indem sie VSS-Schreiber als Komponenten des VSS-Dienstes in Windows nutzen, um die Anwendung korrekt zu beruhigen, indem sie den Arbeitsspeicher und ausstehende E/A-Vorgänge auf die Festplatte schreiben, was es ermöglicht, sie ordnungsgemäß mit transaktionaler Konsistenz zu sichern.
Moderne vSphere-Backup-Lösungen wie NAKIVO Backup & Replication bieten mehrere Backup-Optionen für verschiedene Workloads, um Ihnen zu helfen, Ihre Daten zu schützen und eine Wiederherstellung nach einem Desaster sicherzustellen. Laden Sie die kostenlose Edition herunter, um alle fortschrittlichen Tools und Funktionen zu überprüfen.
Source:
https://www.nakivo.com/blog/crash-consistent-vs-application-consistent-backup/