Microsoft Storage Spaces Direct
Microsoft Storage Spaces Direct ist eine Funktion in Windows Server und Azure Stack HCI, die Serverspeicher zusammenfasst, um ein hochverfügbares und skalierbares softwaredefiniertes Speichersystem für virtuelle Hyper-V-Maschinen aufzubauen. Die Funktion ist in den Windows-Server-Versionen 2012/2012R, 2016, 2019 und 2022 verfügbar.
Storage Spaces Direct erstellt zwei Kopien von Daten an andere Knoten im Cluster. Jeder Knoten wird als Fehlerdomäne ausgeführt und die Daten werden über die Fehlerdomänen verteilt, um Datenverluste zu verhindern, wenn eine Festplatteausfällt. Wenn eine Festplatte ausfällt, werden die Daten auf eine andere Festplatte im Cluster repliziert, so dass jederzeit drei Kopien der Daten vorhanden sind. Das Konzept lässt sich mit der RAID-Technologie vergleichen.
Werden dem Cluster weitere Knoten hinzugefügt, fasst Storage Spaces Direct den Speicher automatisch im Cluster zusammen. Es können zwei bis 16 physische Server zu einem Cluster zusammengefasst werden. Insgesamt lassen sich über 400 Festplatten und bis zu 4 Petabyte nutzen. Die Minimalkonfiguration von zwei Servern bietet keine Failover-Option, dies ist erst mit einer Installation von mindestens vier Servern umsetzbar.
Storage Spaces Direct verwendet Server Message Block (SMB) 3.0 für die Kommunikation zwischen den Speicherknoten.
Storage Spaces Direct kann auf zwei Arten implementiert werden. Bei der hyperkonvergenten Bereitstellung befinden sich die Hyper-V-Cluster und der Speicher auf derselben Hardware; laut Microsoft ist dieses Modell eher für kleinere Scale-Out-Anordnungen geeignet. Bei der Private-Cloud-Storage-Bereitstellung sind die Hyper-V-Cluster und die Speicherressourcen getrennt; Microsoft empfiehlt dieses Modell für größere Scale-Out-Bereitstellungen.
Durch die Trennung von Hyper-V-Clustern und Speicher in der Private-Cloud-Bereitstellung können Administratoren die Speicher- und Rechenressourcen unabhängig voneinander skalieren und verwalten.
Mit dem hyperkonvergenten Modell können die Ressourcen gemeinsam skaliert und verwaltet werden. Diese Bereitstellung kann als primärer Speicher für eine Hyper-V-VM-Datei oder als sekundärer Speicher für Hyper-V Replica-VM-Dateien verwendet werden.
Die Verwendung von Storage Spaces Direct erfordert: entweder eine Netzwerkkarte, die DRAM ermöglicht, oder ein Paar Netzwerkkarten-Ports; einen Cluster mit mindestens vier Knoten, auf denen Windows Server 2016 läuft; jeder Knoten ist Mitglied eines Active Directory.
Microsoft Storage Spaces Direct umfasst verschiedene Komponenten und Funktionen, die hier kurz gelistet sind:
- Netzwerkhardware: SMB 3.0, SMB Multichannel. Der Hersteller empfiehlt 10 GbE (oder mehr) mit RDMA zu nutzen (iWARP oder RoCE).
- Storage-Hardware: Die Server benötigen SATA-, SAS- oder NVMe-Laufwerke sowie mindestens zwei SSDs und vier zusätzliche Laufwerke. Die Systeme sollten mit einem HBA und einem SAS Expander verwendet werden.
- Failover Cluster: Um die Server zu verbinden, nutzt das Tool Azure Stack HCI und Windows Server.
- Software Storage Bus: Der Bus kontrolliert das Cluster und installiert eine softwaredefinierte Storage Fabric, sodass alle Server alle Laufwerke der anderen Server erkennen.
- Software Bus Layer Cache: Dieser verbindet die schnellsten Laufwerke (SSD) mit langsameren (HDDs) und ermöglicht das Caching von serverseitigen Lese-/Schreibzugriffen zum Beschleunigen von I/O-Vorgängen und zum Steigern des Durchsatzes.
- Storage-Pool: Der Speicherpool wird automatisch mit allen verfügbaren Laufwerken erstellt. Der Hersteller empfiehlt einen Storage-Pool pro Cluster.
- Storage Spaces: Dies gewährleistet fehlertolerante virtuelle Disks, die sowohl Spiegelung (Mirroring) als auch Erasure Coding nutzen. Storage Spaces stellen quasi ein softwaredefiniertes RAID dar, das die Laufwerke des jeweiligen Pools nutzt. In Storage Spaces Direct sind die Laufwerke gegen einen Ausfall von zwei Laufwerken oder zwei Servern geschützt. Eine Gehäuse- und Rack-Fehlertoleranz steht ebenso zur Verfügung.
- Resilient File System (ReFS): ReFS ist ein Dateisystem, das speziell für Virtualisierung entwickelt wurde und VHDX-Dateivorgänge beschleunigen soll. Es sorgt zudem dafür, dass Daten entsprechend ihrer Zugriffshäufigkeit in Echtzeit von heiße auf kalte Storage Tiers verschoben werden.
- Cluster Shared Volume (CSV): Das CSV-Dateisystem fast alle ReFS-Volumes unter einem einzigen Namespace(Namensraum) zusammen, das für alle Server zugänglich ist. Die Volumes werden dabei von den Servern als lokal bereitgestelltes Volume erkannt.
- Scale-Out File Server: Diese Ebene ist nur für konvergente Installationen notwendig. Der Dateiserver mit horizontaler Skalierung ermöglicht Clients (zum Beispiel einem anderen Cluster mit Hyper-V) über das SMB 3.0 Remote-Zugriff auf Dateien über das Netzwerk, und wandelt Storage Spaces Direct dadurch in ein NAS um.
Hyperkonvergente Implementierung
In einer hyperkonvergenten Konfiguration kommt ein einzelnes Cluster für Compute- und Storage-Ressourcen zum Einsatz. Dabei werden virtuelle Hyper-V-Computer oder SQL-Datenbanken auf den Storage-Servern ausgeführt und Dateien auf lokalen Volumes gespeichert. Der Vorteil ist, dass der Zugriff auf die Dateiserver und die entsprechenden Berechtigungen nicht konfiguriert werden müssen, was die Hardwarekosten senken kann.
Konvergente Implementierung
Bei einer konvergenten Installation stehen separate Cluster für Storage- und Compute-Ressourcen bereit. Dabei wird über den Storage Spaces Direct ein Dateiserver mit Scale-Out-Funktion eingerichtet, um NAS-Zugriff mittels SMB-Dateifreigaben zu gewährleisten. So lassen sich Compute-Ressourcen und Workloads unabhängig vom Speicher-Cluster skalieren. Das ist vor allem in größeren Umgebungen essenziell, beispielsweise für Hyper-V IaaS für Service Providers und große Umgebungen.