Beiträge

Was ist WORM-Speicherung?

Unternehmen sammeln eine Menge Daten und manchmal müssen oder wollen sie diese Daten so speichern, dass sie nicht mehr geändert werden können. Write Once Read Many (engl. für „schreibe einmal, lese vielfach“) oder WORM ist die einmalige unveränderbare Speicherung von Daten, wobei das Lesen der Daten weiterhin möglich ist.

Einfach gesagt handelt es sich bei WORM um eine Speicherung, nach der die Daten nicht mehr verändert werden können. Sie können Daten genau einmal auf das Speichermedium schreiben. Das Löschen, Überschreiben oder Ändern dieser Daten ist dann aber dauerhaft ausgeschlossen. Eine einfache Version von einem WORM-Speicher ist eine CD-R (englisch: Compact Disc Recordable). Sie können Daten auf den Rohling schreiben, dann aber nicht mehr verändern. Sie können die Disc zwar beschädigen oder zerstören, um jemandem den Zugriff darauf zu verweigern, aber Sie können die darauf gespeicherten Daten nicht ändern. Was das Hard-WORM allerdings erlaubt, ist das mehrfache Lesen der Daten.

Soft-Worm – Softwarebasierter Speicherplatz

Die große Herausforderung besteht heute darin, bei der riesigen Menge an vorhanden Daten, das richtige Speichermedium zu finden. Selbst die auf einigen Blu-ray-Laufwerken verfügbare Kapazität von Terabyte reicht in einer Zeit, in der viele Unternehmen Daten in Petabyte messen, nicht mehr aus. Die Antwort auf das Problem sind softwarebasierte Systeme, die die Attribute nachahmen, die physische Medien zu WORM machen.

Dabei muss die Software vier wesentliche Punkte erfüllen. Sie darf nur ein einziges Mal erlauben, dass Daten auf ein Laufwerk geschrieben werden. Sie muss verhindern, dass jemand diese Daten löscht. Sie muss Aufzeichnungen über das Schreiben und den Zugriff auf Daten führen, um sicherzustellen, dass niemand die Daten manipuliert und sie muss jedem mit den richtigen Zugangsdaten ermöglichen, die Daten bei Bedarf zu lesen. Das löst das Größenproblem, das Sie mit einem physischen Datenträger haben. Ein mit dieser Software ausgestatteter Server sichert die Daten und bietet gleichzeitig die Speicherkapazität von Festplatten. Diese Form von WORM kann von Unternehmen intern eingesetzt oder von Cloud-Anbietern als Service angeboten werden.

 Redundanz von Systemen

Ein echtes Problem der WORM-Speicherung ist der Datenverlust. Nehmen wir an, Sie brennen etwas auf eine CD-R und lagern die Disc im Büro, aber das Gebäude brennt nieder. Dann haben Sie weder die CD noch den Computer. Wenn Sie sich für WORM auf physischen Medien entscheiden, bedeutet das, dass Sie mindestens zwei Kopien der CD-R, DVD oder Blu-ray Disc benötigen. Eine dieser Kopien muss extern aufbewahrt werden. Da Sie wahrscheinlich sensible Informationen speichern, ist die Sicherheit das Hauptproblem bei diesem Ansatz. Überall, außer in einem Bankschließfach, sind die Medien anfällig. Wenn Sie Kundendaten gespeichert haben, kann es bei einem Diebstahl zu Haftungsproblemen kommen. Die Redundanz ist mit einem Cloud-Speicherservice einfacher. Sie können die Daten auf mehreren Servern an verschiedenen Orten speichern, um einen Datenverlust zu vermeiden. Diese Art der Redundanz ist bei vielen Cloud Storage-Anbietern Standard.

Aufbewahrung der Daten

Wenn Sie aus rechtlichen Gründen z. B. Finanz- und Steuerunterlagen speichern müssen, gibt es ein Ablaufdatum. Meist beträgt die Aufbewahrungspflicht sechs oder zehn Jahre. Wenn Sie die Daten auf einem physischen Medium gespeichert haben, können Sie das Medium zerstören. Wenn Sie sie in der Cloud speichern, müssen Sie Aufbewahrungsfristen einrichten. Das ist eine Funktion der Software, die die Daten nach einer bestimmten Zeit freischaltet. Nach der Freischaltung der Daten können Sie diese löschen.

Brauche ich einen WORM-Speicher?

Nicht nur gesetzliche Anforderungen sprechen für den Einsatz . Wenn Sie Datensätze mit historischem Wert archivieren möchten, ist die WORM-Speicherung sinnvoll. Wenn Sie befürchten, dass jemand Geschäftsunterlagen manipuliert, können WORM-Daten dies womöglich beweisen oder widerlegen. WORM könnte auch dazu dienen, den Nachweis von Geschäftsgeheimnissen oder geistigem Eigentum zu einem bestimmten Zeitpunkt zu sichern.

Datenwachstum als Herausforderung der IT

Das stetige Wachstum der Datenmengen ist ein Problem, dem sich jede IT-Abteilung früher oder später stellen muss. Nutzen Sie ausschließlich klassische Speicherlösungen wie SAN oder NAS müssen die zur Verfügung stehenden Kapazitäten irgendwann mühsam erweitert werden. Eine solche Maßnahme hat des öfteren auch eine kurze downtime zur Folge, da nicht jede Erweiterung im laufenden Betrieb möglich ist.

Damit stellt sich bereits ein weiteres großes Problem ein. Kunden erwarten heutzutage, dass IT-Services zu 100 % an jedem Tag und zu jeder Stunde verfügbar sind. Downtimes werden immer weniger toleriert, besonders im Bereich von Rechenzentren sowie des Hostings. Eine mögliche Lösung um diese Zeiten zu minimieren oder gar völlig auszuschließen bietet beispielsweise Software Defined Storage oder kurz SDS.

Ceph geht neue Wege

Ceph Architektur

Abbildung 1
Ceph Architektur

Schwierigkeiten bei Software Defined Storage

CEPH ist aber keineswegs perfekt und bringt selbstverständlich auch Nachteile mit sich. Ein Merkmal mit dem man sich vor der Inbetriebnahme auseinandersetzen muss, sind die Latenzen die SDS im Vergleich zu Direct Attached Storage (DAS) mit sich bringt. Die erhöhte Komplexität des Software Stacks in Kombination mit den verwendeten Netzwerkverbindungen erhöhen die Latenz pro IO signifikant.

Es erweist sich als äußerst schwierig die Latenz unter den Wert von einigen Millisekunden für Schreibvorgänge zu senken. Woher diese Latenz kommt lässt sich verdeutlichen, wenn man sich die Arbeitsweise von CEPH bei Schreibvorgängen etwas genauer betrachtet (Abbildung 2).

Ein synchroner IO muss vom Client zur primären OSD gesendet werden. Die primäre OSD schickt anschließend die Anzahl konfigurierter Replikationen zu weiteren OSD’s und deren Journalen. Sobald die Repliken auf den Journalen aller OSD’s vorliegen, wird der Vorgang an die primäre OSD bestätigt. Hat die primäre OSD nun alle Bestätigungen erhalten, wird eine Bestätigung an den Client gesendet und dieser kann den nächsten IO senden. Das verdeutlicht schon weshalb es bereits zu Latenzen innerhalb des Software Stacks kommt.

SDS mit Ceph - Arhcitektur

Abbildung 2

Zusätzlich spielt auch das eingesetzte Netzwerk bei Ceph eine entscheidende Rolle. Es gilt hier zunächst unnötige Hops zu vermeiden, da jeder Hop etwa 200us Latenz mit sich bringt. Ein 10GE Netzwerk gilt hierbei als das absolute Minimum, welches Sie beim Einsatz von Ceph oder einem anderen verteilten Speichersystem verwenden sollten. Das verringert Latenzen und erhöht die Bandbreite. Eine zusätzliche Verbesserung bringt Ihnen selbstverständlich der Einsatz von RDMA, jedoch müssen hier die Kosten beachtet werden. All diese Faktoren spielen eine wichtige Rolle und müssen optimiert werden um Latenzen unter dem 2ms Level zu erhalten und dabei eine Balance zwischen Kosten und Nutzen zu finden, was natürlich nicht immer einfach ist.

 

Anforderungen an eine gute SDS Lösung

Damit Sie nach der Einführung einer SDS Lösung wie Ceph nicht enttäuscht sind, gibt es einige Punkte zu beachten. SSDs oder (Enterprise SSD oder NVME SSD) für die Journale, in denen die Schreibvorgänge gecached werden, sowie ein 10GE Netzwerk sind nach herrschender Meinung innerhalb der Ceph Community und unseren eigenen Erfahrungen ein Muss. Für die OSD’s sollten nach Möglichkeiten SAS3 HDD’s verwendet werden. Es ist auch denkbar bei Bedarf einen Teil der OSD’s rein aus SSDs zu erstellen und gesondert zur Verfügung zu stellen. Wichtig ist zudem keine RAID Arrays zu verwenden. Ceph profitiert stark von vielen unabhängigen Festplatten. Einem schwerwiegenden Datenverlust entgehen Sie zudem indem Sie mehrere Server mit möglichst vielen Festplatten (OSD’s) bereitstellen

Die CPU sollte möglichst viele Prozessor-Kerne haben, und der Arbeitsspeicher mit etwa 1-2 GB pro OSD berechnet werden um hier keinen Flaschenhals zu generieren. Der Einsatz von RDMA muss wohl überlegt sein und kommt auf den speziellen Workload an. Werden extrem niedrige Latenzen und hohe Bandbreite über 10 GE benötigt bietet es sich eventuell eher an auf ein spezielles Storage System wie GPFS, BeeGFS oder Lustre  in Kombination mit Infiniband/Omnipath zu setzen.

Fazit zu Ceph

Zusammenfassend lässt sich sagen, dass Software Defined Storage definitiv eine gute Möglichkeit darstellt, um stetig wachsende Datenbestände einfacher zu verwalten. Jedoch hat Software Defined Storage genau wie jede andere Lösung gewisse Einschränkungen denen man sich bewusst sein muss. Im modernen IT-Betrieb wird man aber nicht auf SDS verzichten können. Die mitgebrachten Vorteile wie Skalierbarkeit, einfache Erweiterung und eine sehr hohe Verfügbarkeit werden zunehmend wichtiger.

Weiterführende Links zum Thema: