Categories: Data & StorageStorage

Snapshots nicht unterschätzen

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.

Jakob Jung

Recent Posts

Microsoft veröffentlicht Edge 92

Das Update erweitert den Browser um ein Password Health Dashboard. Es prüft die Stärke von…

2 Tagen ago

Hacker nennen im zweiten Quartal 740 Ransomware-Opfer auf Data-Leak-Websites

Das ist ein Anstieg von 47 Prozent gegenüber dem ersten Quartal. Die Zahlen basieren auf…

2 Tagen ago

Hardware: Grafikkarten trotz Engpass gefragt

Die Karlsruher ITscope GmbH beleuchtet vierteljährlich im ITscope Marktbarometer Q2/2021, welche Hardware in Deutschland besonders…

2 Tagen ago

Immer mehr Risiken durch Informationstechnologie – wie können sich IT-Dienstleister absichern?

Informationstechnologie spielt gerade in der aktuellen Lage in Deutschland eine immer größere Rolle. Zugleich werden…

2 Tagen ago

Hackerangriffe behindern Produktions- und Lieferketten

Nach dem ersten Cyber-Katastrophenfall in Deutschland wird klar, dass weitere harte Angriffswellen bevorstehen. Angriffe auf…

2 Tagen ago

Brite auf Betreiben der US-Justiz in Spanien wegen Twitter-Hack verhaftet

Es handelt sich um einen 22-Jährigen. Ihm droht nun die Auslieferung in die USA. Dort…

3 Tagen ago