Das elektronische Speichern von Anwendungen und ihren Daten gehört seit Anbeginn zu den Essentials der IT. Es wäre ja auch mehr als unsinnig, wenn man die vielen, regelmäßig anfallenden Resultate der “Datenverarbeitung” jedes Mal in druckfähige Form bringen und auf traditionelle Weise archivieren müsste. Das wäre kontraproduktiv zu dieser modernen Technologie und auch nicht förderlich für den Geschäftserfolg.

Computing und Storage gehören also untrennbar zusammen, so dass man jederzeit auf die erreichten Ergebnisse der IT zurückgreifen kann. Allerdings hat sich die Art und Weise, wie gespeichert wird, im Laufe der noch nicht so langen IT-Geschichte immer wieder geändert – heute bestehen gleich mehrere technische Möglichkeiten scheinbar gleichberechtigt nebeneinander.

Prinzipiell gilt: Anwender und Applikationen greifen auf die gespeicherten Daten zurück, entweder auf alle oder nur auf einzelne. Es spielt auch eine Rolle, um welche Datentypen es sich handelt, um Datenbanken, Texte, Photos oder Ton- und Video/Filmaufnahmen. Zugangs- und Sicherheitskontrollen sind ein weiterer Faktor, nicht alle Daten sollen für alle Mitarbeiter eines Unternehmens gleichermassen zugänglich sein. Die eingesetzten Medien und Netzwerkverbindungen entscheiden darüber hinaus, wer wie viel an Zugriffsmöglichkeiten erhalten kann: Bei den Medien sind das Tape, Festplatte, Flash oder Ausdrucke, während bei den Netzwerken Geschwindigkeit, Bandbreite, Latenzen und Entfernungen generell wichtig sind. Bei den Netzwerktechnologien ist zu unterscheiden zwischen Ethernet, Fibre Channel, SAS, SATA, PCIe oder InfiniBand.

Block Storage

Am Anfang der Speichertechnologien stand Block Storage. Die Daten werden hier in der Regel direkt im Computer-Gerät in vorgegebenen festen Blöcken (zum Beispiel zu 512 Bytes) gespeichert. Sie werden in einer “Rohform” ohne höherwertige Metadaten gespeichert, die zum Beispiel das Datenformat, den Datentyp oder den Erzeuger oder Eigner der Daten festhalten. Der Zugang zu den Daten wird über das Betriebssystem als Mounted Drive Volume geregelt. Anwendungen und File Systeme entscheiden darüber, wie auf dieser Basis Blöcke adressiert, kombiniert und modifiziert werden.

Block Storage gilt als besonders geeignet für performante Anwendungsfälle bei primärem Storage, zum Beispiel bei strukturierten Informationen von Datenbanken oder Business Intelligence, bei virtuellen großen Volumes oder bei Anwendungen auf Basis von Java oder PHP.

Die Anwendung schreibt zunächst einen Datenblock, dieser geht dann durch einen Software/Hardware-Initiator und wird über eine server-nahe DAS- oder eine netz-basierte SAN-Verbindung weitergeleitet. Bei DAS (Direct Attached Storage) können heute diese Protokolle zum Einsatz kommen: SATA, SAS, FC (Fibre Channel) oder NVMe (Non-Volatile Memory Express), während bei einem SAN (Storage Area Network) die Verbindungen entweder über Ethernet mit iSCSI oder NVMe-oF sowie über Fibre Channel mit FCP oder NVMe-oF laufen. Der Storage-Controller erhält dann jeweils die Blöcke, und die Daten werden auf das jeweilige Gerät als Datenblock geschrieben.

 

Je nach Einsatz der Block-Schnittstelle (Interface) ergeben sich laut SNIA unterschiedliche Geschwindigkeiten:

  • SATA DAS On-board 6 GB/s
  • SAS (SCSI) DAS On-board 12 GB/s
  • Thunderbolt DAS On-board 40 Gb/s
  • NVMe DAS On-board 16 Gb/s (PCIe 3.0 x 16)
  • Fibre Channel (FCP/NVMe-oF) DAS/SAN/WAN (FCIP) HBA 32 Gb/s (I)
  • Ethernet (iSCSI/iSER/NVMe-oF) DAS/SAN/WAN NIC & Offload Adapter 100 Gb/s
  • InfiniBand (SRP/iSER/NVMe-oF) SAN HCA 100 Gb/s

Es wäre also nicht zutreffend, Block-Storage schlicht als langsam oder überholt anzusehen. Statt dessen kommt es auf weitere Elemente und vor allem die Protokolle an, die im Laufe der Zeit zu dieser Technologie hinzugefügt wurden wie zuletzt vor allem NVMe. Die Unternehmen sollten sich auch genau die Lieferanten ihrer Wahl ansehen: Wie umfangreich haben diese die neuen Möglichkeiten und Protokolle integriert und welchen Support bieten sie jeweils an?

Auf der Security-Ebene stellt iSCSI zum Beispiel die CHAP-Authentifizierung für alle iSCSI-Installationen zur Verfügung. IPsec sorgt für Sicherheit auf den Verbindungswegen, und VLANs ermöglichen die logische Isolierung von Storage- und sonstigem Datenverkehr. Große SANs auf iSCSI-Basis sollten laut SNIA von LANs physikalisch getrennt werden, um die Storage-Qualität zu erhöhen.

Bei Fibre Channel bietet FCP WWN-basierte Zugangskontrollen für die Speicherinhalte an. Außerdem werden Switch-Zoning und LUN-Masking für Storage unterstützt. Das bedeutet Authentifizierung und In-flight-Verschlüsselung für dafür eingerichtete Speichernetzwerke. Switche lassen sich für einen Mindestzugang und eingeschränkte Verbindungen konfigurieren. Eine Fibre-Channel-Installation sollte immer physikalisch getrennt von LANs werden.

Für Dell EMC bietet Block Storage “eine bessere Performance und Geschwindigkeit als Speicher-Systeme mit File Level. Jedes Block-Volumen kann als ein unabhängiges Disk Drive behandelt und durch das externe Betriebssystem des Servers kontrolliert werden.” Block Storage sei das typische “native Storage Interface für die meisten Speichermedien auf dem Driver Level”. Zum Beispiel “schreibt und liest ein Festplatten-Driver Blöcke bei ihrer Block-Adresse auf der formatierten Festplatte”. Viele Anwendungen nutzen demnach Block Storage für ihre ständigen I/O-Operationen, darunter die meisten relationalen Datenbanken wie Oracle oder DB2 von IBM.

File Storage

Files oder Dateien sind eine ähnliche Konstruktion wie Ordner oder Ablagen für Papierdokumente, Fotos oder weitere Sammlungsobjekte. Sie bündeln bestimmte Dokumente auf Basis festgelegter Kriterien, um sie leicht wieder zugänglich zu machen. Anwendungsfälle sind neben Dateien in Textanwendungen wie Word zum Beispiel geclusterte Datenbanken, Big Data oder verschiedene Medientypen.

Zu den Merkmalen eines Files gehören: Files haben Namen und sind allgemein als Bytes adressierbar. Ein File Handle hält die durchgeführten I/O-Operationen fest. Schließlich sind Dateien in mit Namen versehenen Dateisystemen oder Ordnern (Directories) organisiert, die verschiedene strukturierte Unterordner aus logischen, virtuellen und physikalischen Elementen enthalten können.

Ein Dateipfad oder Weg hin zu einer Datei könnte dann zum Beispiel so aussehen:

 

Ein File System für Storage ist wie alle Dateisysteme hierarchisch aufgebaut. Jede gespeicherte Datei, häufig aus unstrukturierten Daten bestehend, kann mit einem Pfad zu ihm beschrieben und so auch wieder geöffnet werden. Metadaten mit Informationen zu einer Datei wie kurze Inhaltsbeschreibung, Größe, Verfasser oder Datum werden mitabgespeichert. Network-Attached Storage (NAS) hat sich als die sicherste Methode herausgestellt, um Files zwischen den Benutzern eines Netzwerkes zu teilen.

File Systeme sind meistens lokal in einem LAN organisiert, in dem sie eine hohe Performance erreichen. Sind die User über ein WAN verstreut, erfordern Performance und Management besondere Anstrengungen. Der Hersteller NetApp hat gerade bei File Storage eine solide Marktrepräsentanz erreicht.

Auf der Basis eines physikalischen Layers auf den Speichergeräten wie Tape, Disk, Flash oder Persistent Memory werden virtuelle Layer mit den verschiedenen File Systemen erstellt und durch logische Layer miteinander verknüpft. Die SNIA verweist darauf, dass es bereits Hunderte von virtuellen File Systemen mit unterschiedlichen Charakteristika gibt, darunter EXT3, EXT4, JFS, ZFS oder GPFS.

Ferner kommen Distributed File Systems wie NFS oder SMB hinzu, die mit den wichtigeren Betriebssystemen zusammenarbeiten und den Zugang zu Files über Netzwerke hinweg erleichtern sollen. Ihr Ziel ist es, die Arbeit mit den verteilten File Systems so einfach wie bei einem lokalen File System zu machen – unter Abstraktion von den darunter liegenden physikalischen Netzwerkstrukturen. Die Performance von File Systemen kann selbst unter verteilten Bedingungen so gut wie die von Block Storage werden und mit iSCSI konkurrieren. File Storage ist auch von daher gut geeignet für das Speichern von virtuellen Maschinen (VM) und Containern. Mit pNFS lassen sich zwar parallele Strukturen erzeugen, doch der Abstraktionslayer ist umfassender, was zu höheren Latenzen als bei Block Storage führen kann.

Die angesammelten Metadaten erreichen unter Umständen – besonders bei Video- oder Tondokumenten – einen größeren Umfang, können aber durch Komprimierung oder Deduplizierung wieder reduziert werden.

Object Storage

Laut IBM ist Object Storage gut geeignet für das Speichern von unstrukturierten Daten in einer flachen Umgebung: “Object Storage ist eine Methode, Daten ohne eine Hierachie zu speichern, was sich in der Regel gut für die Cloud eignet. Anders als andere Methoden von Data Storage benützt object-basierter Speicher keinen Directory-Pfad. Einzelne Dateneinheiten (Objekte) existieren auf dem gleichen Niveau in einem Storage Pool. Jedes Objekt verfügt über einen einzigartigen, identifizierenden Namen, den eine Anwendung benützt, um es aus dem Pool herauszuholen. Zusätzlich kann jedes Objekt über Metadaten verfügen, die die Anwendung ebenfalls anfordert.” (IBM-Webseite, “Organizing unstructured data in a flat environment”)

Object Storage wurde für den Zugang auf der Anwendungsebene entwickelt, indem eine API benūtzt wird, und nicht auf der Anwenderebene. Folgt man IBM, kann Object Storage im Prinzip jede Menge an Daten aufnehmen, ohne dass man zu Partitionierung des Datensets greifen müsste. Das Fehlen einer Hierarchie bedeute, dass es nicht zu Bottlenecks wegen eines komplexen Directory-Systems kommt. Und Object Storage besitze Mechanismen zur Konsistenz der Daten, indem automatische Datenreplikation sowie kontinuierliche Updates erfolgten, und es gäbe keine Downtimes.

Einige Object-Storage-Systeme benützen auch Erasure Coding zur Replikation der Daten an entfernte Standorte. Sollte dies bei lokalem Object Storage nicht möglich sein, empfiehlt sich als Alternative ein Backup auf der Hardware- oder Betriebssystem-Ebene.

          Markt für Object Storage / IDC

Die Marktforscher von IDC haben bei der Befragung von etwa 450 Kunden herausgefunden, dass “Object-Based Storage” (OBC) vor allem bei Use Cases wie Backup, Disaster Recovery, Archivierung und Active Archive eingesetzt wird: “Neuere Anwendungsfälle wie zum Beispiel Data Analytics für unstrukturierte Daten, Media Streaming und Web Serving werden in Cloud-Umgebungen eingesetzt. Es wird erwartet, dass solche Workloads in der Zukunft zum Umsatz der Unternehmen beitragen werden.”

Hartmut Wiehr

Der Autor arbeitet als Journalist für com! professional, ictk.ch und TechTarget. Er hat mehrere Bücher zu Storage-Themen veröffentlicht.