Snapshot-Only-Jobs
Snapshots != Backups
Wenn über die Speicherintegration in Veeam gesprochen wird, denken die meisten Leute lediglich an BfSS. Wie wir gesehen haben, ist dies in der Tat eine großartige Funktion, um die Auswirkungen Ihrer aktuellen Backup-Jobs auf Ihre Produktionsumgebung zu verringern.
Ein oft übersehenes Feature der Storage-Integration bei Veeam ist ein völlig neues Konzept, das zusätzlich genutzt werden kann: Snapshots auf dem Speichersystem können direkt für Wiederherstellungen verwendet werden – ohne dass die Daten zuvor in ein Veeam-Repository gesichert werden müssen.
Das Veeam-Storage-Plugin für DataCore ermöglicht sowohl die Wiederherstellung ganzer VMs über Instant-Recovery als auch die Wiederherstellung von Gastdateien oder sogar von Anwendungselementen wie E-Mails oder SharePoint-Elementen.
Ein Speicher-Snapshot sollte keinesfalls als Backup angesehen werden. Dies steht im Gegensatz zu dem, was einige (nicht DataCore) Speicheranbieter versuchen, ihren Kunden einzureden. Das hieße, sich nur auf eine Kaskade von Snapshots und Kopien dieser Snapshots auf andere physische Boxen desselben Herstellers in anderen Brandzonen zu verlassen. Solange die gesicherten Daten niemals dieses kleine Universum verlassen, das durch die proprietäre Speicher-Firmware aufgespannt wird, würde ich niemals zulassen, dass sich eine Sicherungsstrategie nur auf diese Speicherdatenträger-Snapshots verlässt.
Größe zählt… Minimieren Sie Ihren RPO!
Diese Schnappschüsse können Ihre Sicherungsstrategie jedoch sehr gut ergänzen, da sie im Handumdrehen erstellt werden können. Je nach Speichersystem können wir eine bestimmte Anzahl dieser Snapshots gleichzeitig halten, ohne die Leistung des Speicherarrays allzu negativ zu beeinflussen. Für DataCore sollte dies im Moment nicht zu viel sein. Mit einem produktiven DataCore-Cluster würde ich im Moment nicht mehr als 200 Snapshots speichern. Aber ein klug dimensionierter DataCore-Cluster sollte in der Lage sein, z.B. einen Snapshot, der zu jeder vollen Stunde des Arbeitstages erstellt wird, aufzunehmen. Während der nächtlichen Backup-Fenster würden wir weiterhin ein “echtes” Backup über Veeam erstellen – vielleicht unter Verwendung von BfSS – aber auf ein Repository, das völlig unabhängig von Ihrem primären Speichersystem ist.
Mit diesem Konzept könnten vielleicht 12 gleichzeitige Snapshots ausreichen, um eine zusätzliche Wiederherstellung zu jeder vollen Stunde zwischen z.B. 8 Uhr morgens und 20 Uhr abends, wenn das vollständige Backup erstellt wird, durchzuführen. Auf diese Weise würden wir ein viel niedrigeres RPO erzielen als zuvor (1h während der Bürozeiten im Vergleich zu bis zu 24h mit nur einem nächtlichen Backup).
Achten Sie beim “Snappen” von DataCore LUNs auf die Leistung und den freien Speicherplatz!
Wie immer, testen Sie es mit Ihrem eigenen DataCore-Cluster. Achten Sie auf Performance-Probleme für Ihre Produktions-Workloads, wenn diese Snapshots offen sind. Das Copy-on-First-Write hat einen Einfluss auf Ihre Speicher-IO.
Achten Sie auch auf die zusätzliche Datenmenge, die Sie für die Speicherung der Snapshot-Daten benötigen werden (umgekehrte Deltas, da wir ein Copy-on-first-write durchführen, siehe oben). Ich würde empfehlen, einen unabhängigen Plattenpool in DataCore bereitzuhalten, der als Ihr Snapshot-Pool verwendet wird. Dorthin gelangen alle Deltas und die Snapshot-Metadaten. Standardmäßig legt DataCore alle diese Daten in den gleichen Plattenpool. So können Sie sowohl Snapshot-bezogenes IO als auch zusätzlichen Volume-Verbrauch auf ein unabhängiges Plattenarray leiten.
Viele Wege nach Rom … drei zu LUN Snapshots
Es gibt mindestens drei Möglichkeiten, diese Datenträger-Snapshots in Ihrem DataCore-Cluster zu erstellen, um sie aus Veeam heraus nutzen zu können:
1. Erstellen Sie den Snapshot manuell oder per Skript über DataCore, unabhängig von Veeam, wobei Sie diesen aber trotzdem aus VBR heraus verwenden können.
Der Name kann wie im Beispiel geändert werden und wird auch in der Veeam-Konsole angezeigt. Wählen Sie den Typ “Differential”, der weniger Platz als ein vollständiger Snapshot verbraucht – das wäre ein Klon des Volumes – und lassen Sie auch die anderen Optionen auf ihren Standardwerten. Veeam kann mit einer alternativen ID für das Snapshot-Volume umgehen.
2. Erstellen Sie den Snapshot manuell innerhalb von VBR über das Menü “Storage Integration”.
Auch hier kann ein aussagekräftiger Name verwendet werden.
Der Schnappschuss und sein Name werden über die Speicher-API zu DataCore übertragen. In der Zwischenzeit können Sie den Prozess in einem Prozessfenster verfolgen.
Methode 1 und 2 führen zu exakt dem gleichen Ergebnis. Eine Momentaufnahme auf einer DataCore LUN, die mit dem gleichen Namen in der Veeam-GUI wiedergegeben wird. Nachdem er von Veeam gescannt wurde, zeigt die Konsole alle VMs an, die die Snapshot-LUN trägt. Alle VMs werden als ” crash-consistent” angezeigt, da keine Anwendungsintegration stattgefunden hat. Auf der anderen Seite werden alle VMs zum exakt gleichen Zeitpunkt enthalten sein. Etwas, was man mit anwendungskonsistenten Snapshots nicht erreichen kann, da diese über unabhängige VMWARE-Snapshots erzeugt werden.
3. Erstellen Sie den Schnappschuss automatisch durch einen Backup-Auftrag, bei dem anstelle des Verweises auf ein Repository “DataCore Snapshot” als Repository festgelegt ist.
Verweisen Sie in einem regulären Backup-Auftrag einfach auf “DataCore Snapshot” als Repository und fügen Sie wie gewohnt VMs oder andere Objektcontainer mit VMs hinzu.
Die Aufbewahrungsrichtlinie spiegelt die Gesamtzahl der Snapshots wider, die gleichzeitig gespeichert werden, bevor der älteste Snapshot gelöscht wird. Um unserem Beispiel von oben zu folgen, müssten wir den Wert auf 12 setzen.
Mit dieser Methode können wir sogar, im Gegensatz zu den beiden obigen Optionen, die bekannten Anwendungsintegrationsprozesse auslösen, um die Konsistenz der Anwendung für Ihre Arbeitslasten zu erreichen.
Beachten Sie, dass die Anwendungsintegration vor der Veeam Version 10 immer zusätzliche Zeit in Anspruch genommen hat, da diese hier auch einen VMWARE-Snapshot benötigt. Daher könnten wir für die Low-RPO-Snapshots während des Tages beispielsweise ausschließlich absturzkonsistente Snapshots verwenden. Wir könnten immer noch Daten aus diesen Snapshots wiederherstellen. Es besteht jedoch das Risiko von Inkonsistenzen. Es ist möglich, beides zu kombinieren und z.B. mittags eine einzige Applikation konsistent zu machen und den Rest schnell und nur absturzkonsistent zu halten.
Ab VBR V10 wird die Anwendungskonsitenz speziell bei Snapshot-Only-Jobs ohne VMWARE-Snapshot erreicht. Dazu wird lediglich der Guest-Helper in die VM injiziert und aufgerufen.
Mit dem gezeigten Zeitplan würde die angesprochene stündliche Snapshotfolge an Wochentagen zwischen 8:00 und 20:00 Uhr erzeugt.
LUN-Snapshots werden nach VMs gescannt
Snapshots werden immer unmittelbar erstellt, aber bevor wir Daten aus ihnen wiederherstellen können, müssen sie von Veeam auf VMs gescannt werden. Mit dem aktuellen Veeam-Plugin für DataCore dauert dieser Scan manchmal eine Weile. In meiner Umgebung dauert es bis zu 15 Minuten, bevor der Inhalt des Snapshots angezeigt wird. Vor allem dann, wenn Sie gleichzeitig mehrere Snapshot-Prozesse aus VBR auslösen.
Sobald der Scan abgeschlossen ist, werden die VMs in Veeam angezeigt und bieten verschiedene Möglichkeiten, Daten aus ihnen wiederherzustellen. Darauf gehen wir im nächsten Kapitel ein.