Was bringt ein neues Dateisystem?

Nexenta Systems: Neun Gründe, die für das OpenStorage-Dateisystem ZFS sprechen

Was bringt ein neues Dateisystem?

Heiko Wüst, Sales Engineer bei Nexenta Systems

München, 03. Dezember 2012 – Gibt es gute Gründe, sich für eine neues Dateisystem zu entscheiden, um seine Daten zu speichern? Seit langem reden Storage-Experten vom Open Source Dateisystem ZFS, doch nach über zehn Jahren Entwicklungszeit herrscht bei Anwendern noch viel Unklarheit über dessen Vorteile. Das fängt mit der Abkürzung an, die zeitweise für „Zettabyte File System“ stand, aber mittlerweile nur noch ein Pseudo-Akronym ist. ZFS ist eine Kombination aus Dateisystem und einem logischen Volume-Manager. Es bietet eine praktisch unlimitierte Speicherkapazität, den prüfsummenbasierten Schutz vor Übertragungsfehlern, die Integration von Snapshots, ein kontinuierliche Überprüfung der Datenintegrität und automatische Reparatur von korrupten Daten. Deutlicher wird die Bedeutung von ZFS aber, wenn man darstellt, was es vor anderen Dateisystemen auszeichnet. Genau dies macht mit den folgenden neun Abschnitten Heiko Wüst, Experte für UNIX, Linux und Open Source, der heute als Sales Engineer bei Nexenta Systems arbeitet, Marktführer für softwaredefinierte Speicherlösungen.

Die neun Punkte im Überblick: Das Open Source Dateisystem ZFS bietet…
1. 128-bit statt 64-bit
2. Selbstheilung statt Datenkorruption
3. Copy-on-Write statt batteriegepuffertem Speicher (NVRAM)
4. ARC (Adaptive Replacement Cache) statt Tiered Storage
5. Flexibilität eines Speicherpools statt Volume-Manager und Partitionierung
6. RAID-Z in der Software statt proprietärem Hardware-RAID-Controller
7. Deduplizierung statt Mehrfachablage
8. Volle Datenhistorie statt limitierter Snapshots
9. Unified Storage statt Speicherwildwuchs

1. 128-bit statt 64-bit

Im Gegensatz zu anderen Dateisystemen, die gewöhnlich 64 Bit aufweisen, ist ZFS ein 128-Bit-Dateisystem. In vielen Unternehmen verdoppelt sich die Datenmenge mittlerweile jährlich und so kommen 64-Bit-Dateisysteme in vielen größeren Speicherumgebungen an ihre Grenze. In ein 128-Bit-Dateisystem kann man schlichtweg viel mehr Daten speichern – so viele, dass die reale Grenze eher darin besteht, die nötige Energie für den Strom aufzubringen. Jeff Bonwick, einer der Erfinder von ZFS, wird mit den Worten zitiert, man könne einen 128-Bit-Speicher-Pool nicht füllen, „ohne die Ozeane zu verdampfen.“ Es gibt in der Praxis kein Limit für Dateigröße oder die Anzahl an Dateien. Daher sind hochskalierbare ZFS-basierte Systeme oft die erste Wahl für Cloud-Storage- oder Hosting-Anbieter sowie in virtuellen Umgebungen. Wenn Installationen in den Petabyte-Bereich gehen, wird es fast alternativlos, ein 128-Bit-Dateisystem zu wählen.

2. Selbstheilung statt Datenkorruption

Keines der proprietären Dateisysteme großer Hersteller bietet vollkommenen Schutz gegen den Verlust von Daten. Alle Systeme leiden unter schleichender Datenkorruption (englisch „Silent Data Corruption“).Das bedeutet, dass Datenblöcke aufgrund ihres Alters nicht mehr lesbar sind beziehungsweise, dass ionisierende Strahlung oder Magnetfelder sie verändert haben. Weitere Ursachen sind verirrte Schreiboperationen, fehlerhafte Motherboards, Controllerkarten, Firmware oder aber Phantom-Schreibvorgänge. Bei letzteren wurden die Daten nie tatsächlich geschrieben, aber die Festplatte hat bereits Vollzug gemeldet. Die Informationen sind dann unwiederbringlich verloren. Traditionelle Dateisysteme bekämpfen Datenkorruption mit Prüfsummen mit einer Größe von 8 Bit, speichern diese jedoch im entsprechenden Datenblock. Damit können diese zwar Bit-Fäule (Bit Rot) erkennen, nicht jedoch Phantom-Schreibvorgänge, falsch adressierte Schreibvorgänge, DMA Paritätsfehler, Treiberbugs oder zufälliges Überschreiben.
ZFS bietet dagegen verteilte End-to-End-Prüfsummen, die dafür sorgen, dass jedes einzelne Bit im gesamten Dateisystem stimmt oder andernfalls wieder automatisiert wiederhergestellt wird. ZFS bildet Prüfsummen über Metadaten und Nutzdaten ab und speichert diese Informationen im Gegensatz zu traditionellen Systemen in einem extra Block, dem sogenannten „Parent Block“, ab. Die Prüfsummen werden hierarchisch in einem Merkle-Baum erstellt – bis hin zum letzten Block, dem sogenannten „Überblock“. Auf diese Weise wird die Datenintegrität konsistent über alle Informationen sichergestellt. Das System heilt Datenfehler ohne manuelle Eingriffe selbst.

3. Copy-on-Write statt batteriegepufferter Speicher (NVRAM)

Eng mit dem vorangegangenen Thema der Datenintegrität hängt auch das Thema zusammen, wie Informationen geschrieben werden. Herkömmliche Storage-Systeme nutzen das Read-write-modify-Verfahren. Das heißt, originale Blöcke werden während einer Schreiboperation mit neuen Daten überschrieben. Ein klassisches „RAID-5 Schreibloch“ entsteht, wenn das System zwischen der Änderung von Daten und der Neuberechnung der Paritätsdaten ausfällt. Die Folge sind falsche Paritätsdaten. Wenn jemals die Originaldaten mit diesen falschen Paritätsdaten wiederhergestellt werden sollen, sind komplett unbrauchbare Daten das Ergebnis. Das schlimmste: Die Fehler werden immer erst erkannt, wenn die Daten bereits verloren sind. Dagegen helfen soll in herkömmlichen Systemen ein batteriegepufferter Speicher (NVRAM). Dieser hilft jedoch nur gegen Stromausfälle, nicht aber gegen Systemausfälle aus anderen Gründen.
ZFS vermeidet dieses Problem von vornherein, indem es nie die ursprünglichen Daten mit den neuen Daten überschreibt. Dies nennt sich Copy-on-Write Verfahren. Stattdessen werden die geänderten Daten neu allokiert und der gesamte Prüfsummenbaum neu berechnet. Auf diese Weise sind Daten in ZFS stets konsistent – und es wird kein NVRAM in der Hardware benötigt, das die Speichersysteme teurer macht.
Um das Schreiben der Daten zu beschleunigen, kommt bei ZFS das „copy-on-write transactional I/O Modell“ zum Einsatz. Wenn aktive Daten mit neuen Daten ersetzt werden sollen, wird ein neuer Block zugewiesen. Die Metadaten als Referenz des Originals ändern sich, um auf den neuen Block zu verweisen. Als Resultat sind die meisten I/O in ZFS sequentiell und deshalb schneller zu finden. Außerdem nutzt ZFS ein Log, in dem alle Schreiboperationen gelistet sind. Im Falle eines Fehlers wird dieses Log genutzt, um die befallenen Blöcke ohne manuelle Eingriffe wiederherzustellen.

4. ARC (Adaptive Replacement Cache) statt Tiered Storage

Organisationen, die viel Zeit und Geld für ihre Storage-Infrastruktur aufwenden, nutzen heute Tiered Storage. Tiered Storage soll Daten, die nicht regelmäßig oder schon lange nicht mehr genutzt werden, von den teuren schnellen auf günstige langsamere Speichermedien verschieben. Während Tiered Storage in herkömmlichen Speicherwelten ein wichtiges Tool zur Kostenreduzierung und Performance-Steigerung ist, ist das Verschieben von Daten im ZFS Dateisystem gar nicht erst notwendig. Denn ein weiterer Punkt, der ZFS in der Speicherwelt einzigartig macht, ist die Nutzung des Adaptive Replacement Cache (ARC), um die Lesegeschwindigkeit zu erhöhen.
Der entscheidende Unterschied zwischen Caching und Tiering ist, dass im Tiering die Daten verschoben und auf der Quelle gelöscht werden, beim Caching aber auf der Quelle erhalten bleiben. Wenn ein schnelles Medium wie SSD für den Cache genutzt wird, können Applikationen die Daten direkt vom Cache holen, ohne erst auf den Festplattenspeicher zurückgreifen zu müssen. Mit ARC bleibt die Cache-Rate konstant hoch, auch bei variierenden I/Os, da es sich an das IO-Verhalten anpasst.

5. Flexibilität eines Speicherpools statt Volume-Manager und Partitionierung

Traditionelle Dateisysteme organisieren Festplatten in Partitionen und Volumes. Diese sind vergleichsweise starr. Es ist eine ermüdende Aufgabe für Administratoren, Systeme nachts und am Wochenende zu erweitern und Partitionen jedes Mal zu ändern, wenn der Speicher erweitert oder neu organisiert wird. ZFS geht einen anderen Weg. Es bietet eine neue Art der Abstraktion, genannt Storagepool. Der Storagepool kombiniert alle Festplatten zu einer Einheit. Diesen elastischen Storagepool und die darin enthaltenen dynamischen „logischen“ Partitionen zu verwalten, ist deutlich einfacher, als sich an den physischen Datenträgern zu orientieren.
Dies ermöglicht es Administratoren, Festplatten ganz nach Bedarf zum Storagepool und den Dateisystemen hinzuzufügen und bei laufenden Systemen Speicherplatz zu schaffen, wenn er benötigt wird. Dies unterstützt unter anderem auch das „Thin Provisioning“ von Speicherplatz in virtuellen Umgebungen.

6. RAID-Z in der Software statt propietäre Hardware-RAID-Controller

Herkömmliche Storage-Systeme benötigen RAID-Controller und Volume Manager. Damit verbunden sind Fehlerquellen, wie Bugs in der RAID Controller Firmware oder im Volume Manager, ebenso wie defekte Controller-Hardware. Bei ZFS ist eine Raid-Funktionalität dagegen in der Software bereits verankert. RAID-Z (oder RAID-Z1) ähnelt RAID-5 und bietet einfache Parität, aber es benötigt kein NVRAM dank „Copy-on-Write“. RAID-Z2 bietet die gleiche Redundanz wie RAID-6 (zweifache Parität), RAID-Z3 sogar dreifache Parität. Dreifache Parität wird mit den aktuell verfügbaren 4TB-Festplatten und zukünftig noch größeren Festplatten immer wichtiger. Denn mit zunehmender Festplattengröße steigt die Wiederherstellungszeit bei einem Plattenausfall und damit das Risiko weiterer Ausfälle während dieses Vorgangs. Erkannte Fehler heilt ZFS automatisch, indem es den fehlerhaften Block durch eine konsistente Kopie ersetzt. Ein weiterer Vorteil: Raid-Z kann zwischen belegten und freien Blöcken unterscheiden. Bei der Wiederherstellung muss das System also nur den belegten Speicherplatz rekonstruieren, was Zeit spart.
Hier zeigt sich auch, dass ZFS über das bisherige Verständnis eines Dateisystems hinausgeht. Denn herkömmliche Storage-Architekturen zur Verwaltung des Speichers bestehen aus drei voneinander unabhängigen Komponenten: Storage-Management, Volume-Management und Dateisystem. Jede dieser drei Ebenen birgt die Gefahr, dass Daten korrumpiert werden. Da die Ebenen unabhängig arbeiten, kann die jeweils andere Ebene diese Datenkorruption nicht erkennen. So kann das Dateisystem, welches auf einen defekten Datenblock auf der Festplatte zugreift, diesen Defekt nicht feststellen. Er wird erst von der Applikation registriert, die den Datenblock nicht einlesen kann. ZFS dagegen integriert den Volume Manager und RAID-Controller in das Dateisystem und bringt so drei unabhängige Ebenen unter einen Hut, um Datenintegrität zu garantieren.

7. Deduplizierung statt Mehrfachablage

Mehrfachablage von Daten gehört zu den Selbstverständlichkeiten gängiger File-Systeme. Unternehmen, die Speicherplatz einsparen wollen, indem Sie doppelte Daten ausfindig machen, benötigen ein zusätzliches Produkt zur Deduplizierung. ZFS hat dagegen seit 2009 inline Deduplizierung integriert. Administratoren können eine unbeschränkte Kapazität von Daten für inline Deduplizierung konfigurieren. Sie erhalten so nicht nur mehr Kapazität, sondern reduzieren auch die Zahl der I/Os, wenn Daten hochgradig redundant sind. Den gleichen Effekt hat Kompression, der bei ZFS ebenfalls enthalten ist – und zwar auf dem Blocklevel, nicht auf dem Dateilevel, wie bei den meisten anderen Produkten.

8. Volle Datenhistorie statt limitierter Snapshots

Herkömmliche Speichersysteme bieten nur eine begrenzte Zahl von Snapshots. Administratoren müssen sich genau überlegen, wie sie diese limitierte Zahl verwenden und Systeme so konfigurieren, dass sie möglichst sinnvolle Wiederherstellungspunkte haben. Obendrein muss eine vorab definierte Speichermenge für Snapshots reserviert werden. In ZFS können Snapshots und beschreibbare Clones dagegen unbeschränkt ohne vorherige Speicherreservierung erstellt werden. Aufgrund des Copy on Write-Verfahrens sind die älteren Daten weiter vorhanden. Die Snapshots können sowohl archiviert als auch gemountet werden. Das Erstellen und Vorhalten von Snapshots ist somit ohne Performance-Einbußen möglich.

9. Unified Storage statt Speicherwildwuchs

Heutige Speicherumgebungen sind historisch gewachsen und setzen sich aus einem Sammelsurium von Hardware und unterschiedlichen Storage-Silos zusammen. Fast alle größeren Storage-Appliances sind proprietär und binden die Software an die Hardware. Die Kunden zahlen dadurch mehr für die Hardware, als diese eigentlich wert ist. Und auch Zusatzfunktionen wie Snapshots, Tiering oder Deduplizierung kosten in der Regel extra.
ZFS basiert dagegen auf einem Open Source Unix Fundament und ist als Open Source Software unter der Common Development and Distribution License (CDDL) lizensiert. ZFS-basierte OpenStorage-Produkte erlauben die Verwendung von Standardhardware, anstelle teurer Produkte eines bestimmten Storage-Herstellers. Seit der Einstellung des OpenSolaris-Projektes wird die Entwicklung von ZFS im Illumos-Projekt fortgeführt. Zu den Hauptbeitragenden gehören Nexenta, Joyent und Everycity.
Statt Aufpreis für Enterprise Features zu bezahlen, sind diese in ZFS standardmäßig enthalten. Vorhandene proprietäre Speichereinheiten können oftmals mit in die Speicherpools integriert werden. Auf diese Weise lässt sich auch ein wirklich einheitliche Speicherumgebung („Unified Storage“) aufbauen und der Speicherwildwuchs unter ein gemeinsames Dach bringen. Gängige ZFS-Produkte wie NexentaStor können erstens fast jede Hardware in den Pool einbinden, von kostengünstigen JBODs bis hin zu leistungsstarken SSDs; zweitens unterstützen sie sowohl SAN als auch NAS und drittens bieten sie Datenzugriff über eine große Bandbreite von Protokollen, beispielsweise CIFS, NFS, iSCSI, http, FTP WebDAV, Fibre Channel und Fibre Channel over Ethernet.

###

Nexenta and NexentaStor are trademarks of Nexenta Systems, Inc. All other marks are held by their respective owners.

Über Nexenta Systems
Nexenta Systems ist Marktführer für softwaredefinierte Speicherlösungen. Nexentas Flaggschiff-Produkt, die Software-Plattform NexentaStor, bietet höchste Performance, ist hochskalierbar und optimiert für Cloud- und Virtualisierungslösungen. Aufbauend auf ZFS-Technologie und einsetzbar auf Standard-Hardware, beseitigt NexentaStor Fesselverträge mit Herstellern und bietet offenes Unified Storage-Management zu einem Bruchteil der Kosten eines Systems etablierter Anbieter.

Mehr Informationen über Nexenta Systems und kostenlose Testversionen des auf ZFS basierten NexentaStor finden sich unter www.nexenta.com. Partner, die Geräte aufbauend auf standardisierter Hardware und NexentaStor anbieten, sind unter www.nexenta.com/partners zu finden.

Kontakt:
Nexenta Systems
Bill Roth
455 El Camino Real
CA 95050 Santa Clara
+49 89 99216402
deutschland@touchdownpr.com
http://www.nexenta.com

Pressekontakt:
deutschland@touchdownpr.com
Freddy Staudt
Weavers Yard, 6 West Street
GU9 7D Farnham
+49 89 99216402
deutschland@touchdownpr.com
http://www.touchdownpr.com