.shock - Fotolia
VAST Universal Storage: Das Wichtigste zur DASE-Architektur
Vast Data will mit der Disaggregated, Shared Everything (DASE)-Architektur in seinen Universal-Storage-Systemen Festplatten obsolet machen und Flash Storage für alle Daten bieten.
Die Firma Vast Data wurde im Jahr 2016 gegründet und kam Ende 2018 mit Universal Storage offiziell auf den Markt. Seitdem ist die Firma nach eigenen Angaben rapide gewachsen und hat seinen Umsatz im ersten vollen Jahr verdoppeln können, nicht zuletzt da Kunden im Durschnitt Projekte für etwas über eine Million US-Dollar in diesem Jahr abgeschlossen haben.
Das Unternehmen operiert global und hat bereits Kunden in Frankreich, UK und Deutschland sowie auf drei anderen Kontinenten. Das Unternehmen plant, bis 2022 profitabel zu sein.
Vast Data folgt dem Konzept, dass die meisten All-Flash-Geräte die gewünschte Performance erbringen und Anwender nicht unbedingt eine Leistungssteigerung von neuen Systemen erwarten. Viele Nutzer kaufen verschiedene Systeme für verschiedene Anforderungen und müssen letztlich zahlreiche unterschiedliche Speicher verwalten und warten, was problematisch und ineffizient sein kann.
Auch in der Cloud wird mit diesem Storage-Modell gearbeitet, auch wenn es für Kunden einfacher ist, Cloud-Speicher zu implementieren und nutzen. Für den Hersteller gilt die Maßgabe, dass On-Premises-Storage-Infrastruktur so einfach wie die Cloud gestaltet sein muss. Darüber hinaus soll Anwendern mit Universal Storage die Möglichkeit gegeben werden, ein Storage Tiering zu vermeiden und allen Daten und Workloads den gleichen Speicher zur Verfügung zu stellen.
Universal Storage und die DASE-Architektur
Universal Storage wurde entwickelt, um die Ökonomie von Flash-Systemen zu verändern. Die Firma will hiermit ein System bieten, dass preislich mit Festplatten-Systemen vergleichbar ist. Vast Data gibt an, dass die Kosteneffizienz auf dem Niveau von Tier-5-Storage (Archiv) liegt, allerdings die Performance eines NVMe-All-Flash-Systems mittels der 3D-XPoint-Technologie von Intel Optane bietet.
Die Scale-Out-Plattform lässt sich bis in den Exabyte-Bereich skalieren, liest mit einer Geschwindigkeit von TB/s und kann Millionen an IOPS verarbeiten. Es kann als Distributed NAS oder Object Storage fungieren. Der Hersteller nutzt verfügbaren Technologien von 3D XPoint, NVMe over Fabric (NVMe-oF) für die Backplane und günstigem Flash-Speicher und kombiniert diese.
Die Plattform basiert auf einer neuen Architektur, die der Anbieter Disaggregated, Shared Everything nennt, kurz DASE. Sie besteht aus hochkapazitären NVMe-Storage-Enclosures mit 3D XPoint und QLC-Flash-Speicher.
Eine Enclosure ist zwei Höheneinheiten groß und verfügt über 600 TByte an nutzbarer Speicherkapazität und 18 TByte an 3D XPoint Storage. Im Backend arbeiten zwei Server, die über einen Aktiv-Aktiv-Pfad mit allen Medien verbunden sind.
In diesen Enclosures ist keinerlei Logik verbaut, sie agieren quasi als große JBOFs (Just a Bunch of Flash). Für die NVMe-oF-Fabric kann entweder Ethernet oder InfiniBand mit 100 Gbit/s zum Einsatz kommen. Für mehr Kapazität fügt der Anwender einfach weitere Kapazitätsgehäuse hinzu.
Je nach Anwendung verspricht das Unternehmen, dass nach der Datenreduktion zwischen 1,2 und 12 Petabyte an nutzbarem Speicher in einer 2-HE-Enclosure zur Verfügung stehen. Die Enclosures werden unter einem Global Namespace zusammengefasst.
Die eigentliche Logik befindet sich außerhalb des Clusters in einer zustandslosen (stateless) Linux-Maschine, auf der Container mit Docker betrieben werden. Die Container fungieren zum einen als Protokollserver und gewährleisten NFS, eine Erweiterung für RDMA, SMB, S3 und ein Container Storage Interface (CSI) für Kubernetes, um persistente Volumes zu ermöglichen. Zum Anderen operieren sie als Flash-Controllers und stellen sämtliche Funktionen bereit, von Datenmigration, über Erasure Coding und Datenreduktion bis hin zur Verschlüsselung.
Die Server sind für die Performance zuständig, für eine Leistungssteigerung fügt der Anwender zusätzliche Server hinzu. Insgesamt lassen sich 1.000 Enclosures zu einem einzigen System zusammenfassen und bis zu 10.000 Container generieren. Zwischen Server und Storage gibt es eine Latenz-Distanz von zehn Mikrosekunden. Da die Enclosures keine Logik enthalten, wird in den Servern dementsprechend keinerlei Daten vorgehalten, weder Cache, Metadaten oder andere Informationen.
Dazu musste Vast Data transaktionale Datenstrukturen entwickeln, die in den Enclosures eingebettet sind. Die Cluster-Architektur eliminiert den so genannten Ost-West-Verkehr. Die Geräte kommunizieren in keiner Weise in einem synchronen Read/Write-Pfad miteinander und dadurch kann die lineare Skalierbarkeit gewährleistet werden.
Das hat zudem den Nebeneffekt, dass das Start-up sich nicht um Cache-Kohärenz kümmern musste. Da es keinen Cache und somit auch keinen Cache-Code gibt, erleichtert dies den Umgang mit Ausfällen. So müssen keine gecachten Daten auf Disk destaged werden. Schaltet man das System aus und später wieder an, so befindet sich alles im selben transaktionalem Status wie zuvor.
Das System benötigt auch keine Batterien für einen Cache. Fällt ein Server aus, ist kein Rebuild erforderlich. Aufgrund der disaggregierten Architektur besitzt kein Server auch nur irgendeinen Zustand. Jeder andere Server kann die Operationen des ausgefallenen Geräts übernehmen.
Die Plattform lässt zudem Multimandantenfähigkeit (Multi-Tenancy) zu. Dabei werden Applikationen voneinander abgegrenzt. Häufig wählen Anwender verschiedene Speichertypen, um sicherzustellen, dass eine Anwendung nicht durch eine andere beeinträchtigt wird. Damit dies nicht notwendig ist, fasst Vast seine Server, respektive Container, in Ressourcengruppen zusammen.
Dadurch wird der Datenverkehr einer Applikation von anderen isoliert. Das Unternehmen nennt diese Gruppen Pools, wobei sie eben Server-Pools und nicht Storage-Pools darstellen. Damit können auch die CPUs in Gruppen isoliert und entsprechend dedizierten Anwendungen oder Netzwerken bereit gestellt werden. So wird das Noisy-Neighbor-Problem umgangen.
Die Konfiguration der Hardware-Appliance kann wie folgt aussehen: Vier Containerserver stecken in einem 2-HE-großen Chassis und gewährleisten die Konnektivität via InfiniBand und Ethernet. Dafür steht eine 100-Gb-NVMe-Fabric zur Verfügung. Die Enclosures können entweder 400 TByte oder 675 TByte an Rohkapazität bieten. Für den Anschluss stehen vier 100-Gb-Interfaces bereit. Die Plattform lässt sich dynamisch konfigurieren, es gibt keine vorgeschriebene Anzahl an Servern und Enclosures seitens des Herstellers.
Data Protection und Datenreduktion
Der Anbieter kategorisiert seine Lösung nicht in File oder Object Storage, da es beides sein kann. Die CPU dient als Datenserver und Metadatenserver gleichzeitig und erkennt alle Attribute jeglicher Daten. Werden Daten gespeichert, so werden sie als Elemente abgelegt, so erhält dies simultan die Attribute von NFS, S3 und SMB. Die Daten kommen zunächst in 3D XPoint und werden dann auf Flash ausgelagert. Große Datenblöcke werden in zahlreiche Teile zerlegt und auf verschiedene Flash-Medien geschrieben, um parallele Schreib- und Leseprozesse zu ermöglichen.
Backups sind unter anderem auf andere Objektspeicher wie MinIO oder Cloudian durchführbar, die Snapshots können aber auch in AWS oder Microsoft Azure abgelegt werden. Für ein Restore aus der Cloud stellt der Anbieter einen so genannten Reader bereit, der die Daten für ein On-Premises-Vast-System verfügbar macht.
Global Data Protection und Global Data Reduction sind zwei Fähigkeiten, die der Hersteller besonders hervorhebt, wenn es darum geht die Ökonomie von Flash-Speicher, oder besser dessen Erwerb und Betrieb, zu optimieren.
Die Global Erasure Codes fügen laut Unternehmen nur 2,5 Prozent an Overhead hinzu, was die RAID-Algorithmen-Kosten bis zu 66 Prozent senken soll. Da sich üblicherweise in File und Object Storage, Speicher für respektive unstrukturierte Daten, weniger gute Datenreduktionsraten erreichen lassen, greift Vast hier auf eine neue Methode zurück.
Similarity-based Data Reduction ist ein neuer Ansatz der Datenreduzierung, der in der Plattform zum Einsatz kommt und höhere Reduktionsraten ermöglichen soll. Es stellt eine Kombination aus Kompression und Deduplizierung dar. Die Daten werden wie bereits erwähnt zunächst in 3D Xpoint geschrieben, wo eine Hashing-Funktion 32-KB-große Blöcke mit Fingerabdrücken versieht. Diese werden auf ihre Ähnlichkeiten hin verglichen, das heißt es wird die Distanz zwischen einem neuen und den bestehenden Datenblöcken verglichen.
Sind zwei Blöcke verhältnismäßig nah beieinander, werden diese in logischen Gruppen zusammengefasst. In diesen Similarity-Clustern werden neue Blöcke auf Byte-Level mit hier vorhandenen verglichen und entsprechend komprimiert.
Diese Deltas legt das System dann in den Flash-Medien ab. Im Prinzip speichert das System einen Master-Block und dann nur die Differenzen der anderen Blöcke, die sie im Vergleich mit diesem Master aufweisen. Es ist eine effizientere Methode, da es nur einen Index gibt, selbst wenn der Global Namespace Exabyte-Größe haben sollte.
Auch das liegt an der DASE-Architektur, bei der alles geteilt wird. Da dieser Musterabgleich bis auf zwei Bytes hinunterreicht, erreicht Universal Storage eine höhere Granularität der Datenreduktion (ein Viertausendstel, laut Hersteller). Für die Kompression nutzt Vast auch hier Locally Decodable Codes. In verschiedenen Einsatzgebieten erreichte die Plattform zusätzliche Datenreduktionsraten, so beispielsweise in Verbindung mit einer Backup-Appliance von Rubrik, wo die bereits komprimierte und deduplizierten Daten noch einmal um 3:1 reduziert werden konnten. Je nach Datenart lasssen sich Raten von bis zu 20:1 erlangen.
Für die Data Protection schreibt das System extreme breite (wide) RAID-Stripes. Die Erasure-Code-Architektur erstreckt sich über alle Enclosures in einem Cluster. Je größer das Cluster wird, umso effizienter werden die Erasure Codes. Der RAID-Stripe kann bis zu 146+4 groß werden und damit 60 Millionen Jahre an Mean Time to Data Loss bieten.
Das liegt zum einen am Shared-Everything-Design, da jede CPU alle Medien sieht und diese ansteuern kann, zum anderen am Write Buffer, der eben hier aus persistentem 3D XPoint besteht und nicht aus teurem DRAM, der bei einer Skalierung die Kosten weiter in die Höhe treibt. Ein weiterer Grund ist der Erasure-Codse-Algorithmus. Der sonst oft eingesetzte Reed-Solomon-Ansatz lässt sich hier nicht einsetzen.
Vast nutzt Locally Decodable Codes. Kommt es zu einem Ausfall, muss nicht der gesamte RAID-Stripe für eine Wiederherstellung ausgelesen werden, sondern nur ein Subset des Stripes. Letztlich wird nur ein Teil des RAID Stripes lokal dekodiert, welcher sich proportional zu den Redundanzen des RAID-Streifen verhält. In einem RAID von 146+4 müssen bei einem Ausfall nur ein Viertel der Medien ausgelesen werden und da diese NVMe-Flash-Drives sind, geschieht das sehr schnell. Es erfolgt tatsächlich nur ein Rebuild der Daten und nicht der vollständigen Drives. Alle Medien und CPUs sind simultan an dem Wiederherstellungsprozess beteiligt.
Darüber hinaus verspricht Vast eine Lebensdauer der Systeme von zehn Jahren, da sie die Medien anders beschreiben als herkömmliche Flash-Systeme. Mit dieser Kombination aus wettbewerbsfähigem Preis zu Festplattensystemen, Performance, Skalierbarkeit und Kapazität will der Hersteller HDD-Systeme aus dem Rennen werfen.
Die Plattform wird in drei Modellen zur Verfügung stehen, wobei zwei davon bereits verfügbar sind. Die Enclosure und Server-Appliance ist eine Option, ebenso die Kombination aus Enclosure und Vast Container. In Zukunft soll die Lösung auch als reine Software erhältlich sein. Hierbei kann die Software in einer Containerumgebung laufen und beispielsweise bei CPU-Engpässen neu Pods hinzufügen. Gerade die Softwareversion eigne sich laut Vast Data für Kunden, die in den Exabyte-Bereich skalieren müssen. Eine Replikationsfunktion soll in Kürze hinzugefügt werden.