Cybersecurity-Spezialisten erwarten in diesem Jahr einen weiteren Anstieg von Malware-Attacken. Ein Grund mehr für Unternehmen, ihre Backup- und Recovery-Strategie einer genauen Kontrolle zu unterziehen. Zu oft allerdings widmet die IT-Abteilung dabei der eingesetzten Snapshot-Technologie zu wenig Aufmerksamkeit. Dabei kann das Augenmerk auf die richtige Snapshot-Technologie Unternehmen vor viel Kummer bewahren.
Snapshot-Orthodoxie
Laut herrschender Meinung gibt es gute und schlechte Snapshots. Demnach sind schlechte Snapshots „copy-on-write“. Gute Snapshots hingegen sind „redirect-on-write“. Beim copy-on-write-Verfahren werden alle Blöcke, die geschützt werden sollen, kopiert, bevor sie mit neuen Informationen überschrieben werden. Mit anderen Worten: Wenn ein Block eines Volumes geändert werden soll, kopiert das System diesen Block in einen separaten Snapshot-Bereich, bevor er mit den neuen Informationen überschrieben wird. Dieser Ansatz erfordert drei Input/Output-Operationen für jeden Snapshot: einen Lese- und zwei Schreibvorgänge. Beim redirect-on-write-Verfahren hingegen nutzt das Storage-System „Pointer“, um Volumes zu repräsentieren. Wenn ein Block geändert werden muss, leitet das Speichersystem lediglich den Pointer für diesen Block auf einen anderen Block um und schreibt die Daten dorthin. Das Snapshot-System weiß, wo sich alle Blöcke befinden, die einen bestimmten Snapshot umfassen; mit anderen Worten, es hat eine Liste von Pointern und kennt die Position der Blöcke, auf die sich diese Zeiger beziehen. Redirect-on-write gilt als das bessere Verfahren, weil es nur ein Drittel der I/O-Operationen des copy-on-write-Verfahrens benötigt. Copy-on-Write-Prozesse haben daher einen größeren Einfluss auf die Leistung des Systems.
Tatsächlich haben beide Methoden einen negativen Einfluss auf die Performance des Speichersystems. Das liegt daran, dass Datei- und Speichersysteme ein seltsames Verhalten an den Tag legen, wenn man eine große Anzahl von Snapshots oder Snapshots in großer Geschwindigkeit erstellt. Das ist ein wichtiger Grund, warum Datenblätter für Speicherprodukte, selbst solche mit mehreren Petabyte Kapazität, strikte Grenzen für diese Kapazität angeben. Will der Anwender auch nur wenig über dieses Limit hinausgehen, muss er sich ein zusätzliches System kaufen. Das Problem ist das Lock-Management im Cache. Um einen Snapshot zu erstellen, müssen Sie bestimmte Datenstrukturen im Speicher für die Dauer des Snapshots sperren. Ohne diese Sperrung käme es zu einer Datenkorruption. Um diese zu vermeiden, verbringen moderne Speichersysteme eine signifikante Zeit unproduktiv, will sagen ohne irgendwelche I/O-Operationen auszuführen. Je größer die Datenmengen werden und/oder so schneller Snapshots erzeugt werden, desto mehr macht sich dieser Leistungsverlust bemerkbar und Unternehmen sind gezwungen, sich ein weiteres Storage-System zuzulegen.
Die Alternative
Es gilt also eine Alternative zu copy-on-write- und redirect-on-write-Verfahren zu finden, welche die Storage-Systemleistung nicht beeinträchtigt. Der Grundgedanke eines solchen Verfahrens ist recht einfach, wenn auch die technische Umsetzung alles andere als trivial ist. Erforderlich ist ein virtueller Anwender-Adress-Raum (VUA: Virtual User Address), in dem mehrere Adressen auf dieselben physischen Daten verweisen können. Einen Snapshot zu erstellen wird somit zu einer Metadaten-Operation. Es erfordert lediglich, einen Pointer im VUA-Raum zu erstellen. Es handelt sich um eine Operation, die keine Zeit erfordert und bei der keine Daten kopiert werden. Bei diesem Vorgehen werden auch keine Metadaten gesperrt, wenn ein Snapshot erstellt wird.
Wenn man ohne Sperrung von Daten auskommen will, muss man eine andere Möglichkeit finden, um Datenintegrität zu gewährleisten. Eine solche Möglichkeit bieten Zeitstempel („Timestamps“). Wenn man für jeden Schreibvorgang im System, beispielsweise für jeweils 64 KB an geschriebenen Daten, einen Zeitstempel erzeugt, lässt sich jeder Schreibvorgang eindeutig einem Snapshot zuordnen, basierend auf dem Zeitstempel, wann der Snapshot erstellt wurde, und dem Zeitstempel aller anstehenden I/Os. Er gehört eindeutig entweder zum Snapshot oder nicht. So wird Schreib- und Datenintegrität über Snapshots hinweg gewährleistet, ohne dass die Metadaten in irgendeiner Form gesperrt werden. Das Snapshot-Objekt selbst erhält ebenfalls einen Zeitstempel.
Bei dem geschilderten Vorgehen haben Snapshots keinerlei Auswirkungen auf die Performance eines Speichersystems. Das bedeutet auch, dass die Anzahl der möglichen Snapshots praktisch kein fixes Limit hat. Die Anzahl der von einer IT-Abteilung gewünschten oder geforderten Snapshots wird das System nie an seine Grenzen bringen. Da es sich um einen instanten Prozess handelt, der keine Zeit erfordert, gilt das Gleiche für die Snapshot-Geschwindigkeit. Auch hier setzt das System den Erfordernissen der IT-Abteilung keine Grenzen mehr. Bei Infinidat haben wir beispielsweise Systeme mit 100.000 Snapshots und mit 25 Snapshots pro Sekunde getestet. In keinem Falle kam es zu Leistungseinbußen. Diese Angaben sind lediglich die getesteten Werte. Bei Bedarf lassen sie sich mit dem geschilderten Verfahren sicher steigern.
Auf dieser Snapshot-Methode lässt sich auch ein sehr effizientes Replikationsverfahren realisieren. Beim Spiegeln eines Volumes lässt sich alle n Sekunden ein Snapshot nehmen. Der entsprechende Log wird dann an das Slave-System übertragen und sobald die Übertragung bestätigt wurde, wird der vorangegangene Snapshot gelöscht. Als Ergebnis kann ein Unternehmen ein Speichersystem mit 100.000 wie auch immer replizierten Volumes erhalten, oder ein großes Volume, das buchstäblich das gesamte Array repliziert. Dabei lässt sich ein Wiederherstellungspunkt-Ziel (RPO: Recovery Point Objective) von vier Sekunden gewährleisten.
Leistung spart Geld
IT ist kein Sport. Es geht nicht um Performance um der Performance willen, so unterhaltsam das auch sein mag. Darum sollten Unternehmen die Performance ihrer Speichersysteme im Allgemeinen und die der verwendeten Snapshot-Methode im Besonderen vor allem unter finanziellen Gesichtspunkten betrachten. Wie geschildert stellt die verwendete Snapshot-Methode bei den meisten Speichersystemen ein fixes Limit ihrer Nutzbarkeit dar und führt nicht selten dazu, das Unternehmen ein zusätzliches System erwerben müssen, obwohl die pure Speicherkapazität des vorhandenen Systems noch lange nicht an seine Grenzen gelangt ist. Und das kann teuer werden. Mit der richtigen Snapshot-Technologie lässt das vermeiden.
Neueste Kommentare
Noch keine Kommentare zu Snapshots nicht unterschätzen
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.