Daten werden nicht mehr gelöscht, Ablagen und Archive werden immer größer und somit die Aufbewahrungszeiten immer länger. Moderne Backup Software bietet entsprechende Optionen zur Langzeitaufbewahrung an, die dann auf den Disk Repositories vorgehalten werden. Diese Langzeitaufbewahrung stellt aber höhere Anforderungen an die Systeme zur Speicherung der Daten und hier Insbesondere an die Datenintegrität und somit an die tatsächliche Verfügbarkeit.
All diejenigen die Daten lange zur Verfügung stellen wollen, müssen sich bewusst sein, dass die Datenintegrität nicht bei allen Systemen gewährleistet ist. Viele der häufig verwendeten Dateisysteme haben keine Mechanismen die diese Fehler erkennen und erweisen sich somit als problematisch, wenn Daten lange und zuverlässig zur Verfügung stehen sollen. Die häufigste Ursache ist ‘silent data corruption’ auf dem Speichermedium, sprich der Festplatte oder auch der SSD. Das CERN hat dazu 2007 eine Studie auf Basis der damaligen 15 PT CERN Daten durchgeführt, die zum Fazit gekommen ist, dass es ca. 3 fehlerhafte Dateien pro Terrabyte gibt. Im Blog des Storage Consortiums gab es in 2012 einen Beitrag der sich ebenfalls mit diesem Thema befasst hat. Trotzdem wird diese Gefahr von vielen Administratoren unterschätzt oder sie wissen gar nicht wie hoch die Wahrscheinlichkeit ist, dass so etwas passiert. Da dieses Thema jeden betrifft, ist es an der Zeit dieses noch einmal anzusprechen und in das Bewusstsein zurückzurufen.
Jetzt könnte man sagen, dass die Studie des CERN nun 10 Jahre alt ist, aber an der Aktualität hat sich nichts geändert. Eher im Gegenteil, es werden immer mehr Daten produziert die immer länger aufbewahrt werden sollen und müssen. Dies gilt nicht nur für Backups sondern auch für ganz normale Shares oder (Web-) Applikationen. Daten werden nicht mehr gelöscht, sondern einfach aufgehoben, wer weiß schon, wann man dieser noch einmal benötigt. Gerade bei großen Mengen in Quantität und Volumen von unstrukturierten Daten sind drei Files je Terrabyte eine große Menge an defekten Dateien.
Hardware alleine, ganz egal wie hochwertig diese auch immer sein mag, kann das Problem nicht lösen. Der Einsatz einer entsprechend hochwertigen Basis ist natürlich eine Grundvoraussetzung um einen Datenverlust vorzubeugen und zuverlässige Systeme zu betrieben. Aber man muss noch einen Schritt weitergehen. Es braucht Systeme die die Datenintegrität sicherstellen und somit eine Langzeitaufbewahrung möglich machen. Einen entsprechenden Ansatz bieten zum Beispiel die Dateisysteme ZFS und btrfs. Wobei ZFS in der Entwicklung schon sehr weit fortgeschritten ist. Im Storage Umfeld bieten Hersteller wie zum Beispiel Quantum (aber auch andere) entsprechende proprietäre Systeme an, die die Daten regelmäßig auf ihre Konsistenz hin prüfen. Gerade bei der Langzeitaufbewahrung mit automatischen Tierings bis hin auf Bänder ist das Portfolio gerade bei Quantum sehr gut ausgebaut. Große professionelle Lösungen sind auf dem Markt vorhanden und wenn man ein entsprechendes Volumen benötigt oder eine Anforderung erfüllen muss, macht es auch Sinn sich für einen solchen Anbieter zu entscheiden. Lösungen wie Quantum’s „StoreNext“ auf Basis von Systemen wie Xcellis, Artico oder gar Lattus mit den passenden Bandlaufwerken und Bibliotheken sind skalierbar, haben Herstellersupport und sind dementsprechend wirtschaftlich im Verhältnis der Anforderungen und der benötigten Verfügbarkeit. Zudem bietet die Speicherung auf Bänder ein großes Einsparungspotential bei Speicherkosten und vor allem bei den Energiekosten.
Oft sind aber die Anforderungen an solche Ablagen bei egal welcher Unternehmensgröße deutlich kleiner. In vielen Fällen ist schon mal eine Insellösung gesucht, die erst einmal gar nichts mit dem aktuellen zentralen Storage zu tun haben soll oder muss. Die Daten sollten schon verfügbar sein, einigermaßen ausfallsicher vorgehalten werden, die Storage Performance sollte „ok“ sein, das Volumen entsprechend groß und lange sollten die Daten natürlich schon aufbewahrt werden. Im Fall der Fälle könnte man schon auf die Daten verzichten – ‘nice to have’ wäre schon sie zu haben.
Häufig fällt bei diesen Szenarien die Wahl auf ein NAS der üblichen Verdächtigen. Hier gibt es einige Hersteller auf dem Markt die ohne Frage gute Produkte anbieten. Ob QNAP, Thecus, WD, Synology usw. haben NAS Systeme von klein bis groß im Portfolio. Die Basis bei (fast) allen ist Linux in Kombination mit einem Software RAID (md), einem Volumen Manager (LVM) und dem Dateisystem ext4. An sich eine solide Basis, wenn da nicht die grundsätzliche Schwäche der Hardware wäre. Kommt es hier zu einer ‘silent data corruption’ schlägt es bis auf das jeweilige File durch. Da aber gerade diese Ablagen einige Terrabytes vorhalten, ist die Anzahl der defekten Dateien auf Basis der CERN Studie nicht gerade gering.
Da die Hersteller ein mehr oder weniger geschlossenes System anbieten, bleibt einem hier keine andere Wahl, als das System so zu nutzen wie es der Hersteller vorgesehen hat. Der Vorteil ist natürlich, dass die Administration des Systems durch die GUI sehr einfach ist. Wenn man hier selbst ein NAS auf Basis von Linux aufbauen möchte ist doch einiges an Handarbeit angesagt, bis es passend funktioniert. Dazu kommt dann das Problem der Wartung, denn bei viel Handarbeit wird diese auch bei der Wartung benötigt. Wenn man die Datenintegrität auf lange Zeit für eine solche Ablage zur Verfügung stellen muss bleibt nur der Einsatz von btrfs oder ZFS. Wobei hier dann beide Dateisysteme unter Linux durch die diversen Einschränkungen in Verbindung mit den Anforderungen eine nicht wirklich gute Wahl sind. Btrfs erlaubt aktuell nur RAID-1 bzw. RAID-10 für den produktiven Einsatz und nur Ubuntu 16.04 LTS bietet zum ersten Mal ZFS unter Linux in dieser Form an. ZFS als solches wäre schon das Dateisystem der Wahl für eine solche Anforderung. Damit ist man dann aber sinnvoller Weise beim Einsatz von FreeBSD und OpenZFS. Wer es sich geben möchte kann auch gerne Richtung Illumos blicken, dem Fork der letzten freien Version von OpenSolaris. Also jetzt für diejenigen, denen oft langweilig ist.
Wenn aber ZFS schon das geeignetste Dateisystem ist, wobei Dateisystem so nicht ganz stimmt, denn es ist Software RAID, Volumen Manager und Dateisystem in einem. Dann sollte man sich FreeNAS durchaus mal ansehen. Es basiert auf FreeBSD nutzt ZFS und lässt sich komplett per GUI verwalten und dass inklusive der Updates. Alle Funktionen die kommerzielle NAS Systeme bereitstellen gibt es hier ebenfalls und man kann es auf der eigenen Hardware einsetzen. Hier gilt es aber ein paar Dinge zu beachten, FreeBSD muss die Hardware unterstützen und das System sollte direkt auf die Festplatten zugreifen können. Eine Abstraktion der Platten durch RAID Controller läuft den ZFS Eigenschaften zuwider und bringt mehr Nach- als Vorteile mit sich. Wenn man also Hardware für das eigene NAS Basis von FreeNAS anschaffen möchte ist ein Blick in die Dokumentation wichtig. Dafür erhält man aber ein sehr gutes NAS was komplett auf Open Source Software ohne die für den Zweck unsinnigen Cloud Apps daherkommt. Die eigene Hardware hat den Vorteil, dass man diese mit ausreichend RAM und je nach Anforderung mit SSD’s ausstatten kann, was wiederum dem ZFS entgegenkommt. Dank dem ZFS gibt einige Funktionen die nicht nur die Daten vor ‘silent data corruption’ schützen, man erhält auch Snapshots und Replikation auf ein zweites FreeNAS auf deren Basis. Dabei muss das zweite FreeNAS gar nicht lokal stehen, denn die Replikation erfolgt mittels SSH Verbindung, was es problemlos möglich macht, dass zweite System im externen RZ unterzubringen. Durch den Volumen Manager kann das NAS entsprechend den Anforderungen wachsen und dies einfach mit JBOD’s, denn mehr braucht es dafür nicht. Die Snapshot lassen sich für noch andere Zwecke benutzen. Es lassen sich periodische Snapshots erstellen, um auch Änderungen an den Archivdaten nachvollziehen zu können, diese so auch gegen Ransomeware Attacken schützen zu oder was man sonst noch mit ihnen anstellen kann. Das in ZFS vorhandene RAID-Z und die Prüfsummen sorgen für die notwendige Sicherheit. Durch die Prüfsummen ist sichergestellt, dass ‘silent data corruption’ erkennt und sogar, wenn möglich automatisiert korrigiert werden kann. Das RAID-Z stellt Mirroring oder die Kompensation des Ausfalls einer oder zwei Platten in einem Verbund bereit. Es ist aber kein RAID 1, 5 oder 6 im klassischen Sinne. Durch die Abstraktion mit Pools und dem 128bit Dateisystem sollte es auch keine Probleme mit sehr großen Voluminas und Anzahl von Dateien geben. Derzeit sind 254 Zettabyte möglich, die Anzahl der Dateien je Verzeichnis beträgt 2^48 . Dies in Verbindung mit der eigenen Hardware und den Snapshots und deren Optionen stellt eine wesentlich bessere Basis bereit, als man diese mit einem NAS von der Stange erreichen würde.
An dieser Stelle sollte aber nicht unerwähnt bleiben, dass QNAP ebenfalls NAS Systeme auf Basis von FreeBSD und ZFS anbietet. Ein weiterer bekannter Anbieter von SDS auf Basis von ZFS ist nexenta. Ehemals Sun (jetzt Oracle) setzt bei den auf Sparc basierten Servern, Storages oder Mainframes ebenfalls auf ZFS. Alle die sich nun Fragen wie viel ein Zettabyte ist: 1 Zettabyte sind 1024 Exabyte und 1 Exabyte sind 1024 Terrabyte.
Wer Fragen zum Thema hat, kann sich wie immer gerne an uns wenden.