Storage Spaces Direct: Hyper-converged Infrastructure mit Windows Server 2016 einrichten

    Hyper-converged Infrastructure auf Windows Server 2016Storage Spaces und Scale-out File Server waren der erste Schritt Microsofts bei Software-defined Storage. Es setzt diesen Weg mit Storage Spaces Direct in Windows Server 2016 fort. Sie fassen Fest­platten- und SSD-Speicher über mehrere Cluster-Knoten zu Pools zusammen, so dass Compute und Storage auf der gleichen Hardware bereit­gestellt werden können.

    Neu bei Storage Spaces Direct ist der Software Storage Bus, der es erst möglich macht, interne Platten über mehrere Knoten zusammenzufassen. Es gibt zwei Einsatzszenarien für Storage Spaces Direct: Zum einen die Einrichtung eines eigenständigen Storage-Tiers und eines separaten Hyper-V-Clusters, zum anderen die Kombination von Hyper-V und gemeinsamen Speicher auf der gleichen Hardware.

    Die zweite Variante wird als Hyper-converged Infrastructure bezeichnet, kurz HCI. Virtuelle Maschinen werden hier auf einem lokalen CSV abgelegt. Die HA-Rolle des Scale-Out File Servers ist somit nicht mehr erforderlich.

    Hardware-Voraussetzungen

    Voraussetzung für Storage Spaces Direct unter Windows Server 2016 sind Cluster mit mindestens vier Knoten. Shared Storage in Form SAS-JBODs, die mit mehreren Knoten verbunden sind, wird nicht mehr benötigt. Vielmehr lassen sich dank der softwarebasierten Speichertechnologie von nun an auch günstige SATA-Platten einbeziehen.

    Die Minimalkonfiguration für Storage Spaces Direct erfordert einen Cluster mit 4 Knoten.

    Zwischen den Knoten (Intra-Kommunikation) wird SMB3 gesprochen, so dass auch hier die Vorteile dieses Protokolls wie Multichannel zum Tragen kommen.

    Storage Spaces Direct nutzt bekannte Rollen und Features von Windows Server, beispielsweise das Failover Clustering und Cluster Shared Volumes auf Basis des ReFS. In einer Produktivumgebung ist es wichtig, RDMA-fähige Netzwerkkarten zur Kommunikation zwischen den Hosts einzusetzen.

    Vorbereitungen

    Auf den vier zukünftigen Knoten wird das Betriebssystem Windows Server 2016 ausgerollt und auf Updates hin geprüft. Anschließend werden diese Mitglied im Active Directory, danach aktiviert man die Hyper-V-Rolle. Um den Cluster bilden zu können, werden auch die Rolle des File Server inklusive VSS Support und das Feature Failover Clustering auf den Maschinen benötigt. Alternativ zur GUI geht das über die PowerShell mit:

    Install-WindowsFeature -Name File-Services, FS-VSS-Agent, Failover-Clustering -IncludeManagementTools

    Sind die Rollen und Features installiert, werden wie bei jeder Cluster-Bildung vorab die Voraus­setzungen für Hardware und Software validiert. Dieser Prozess kann auch die Eignung für Storage Spaces Direct prüfen und sollte erfolgreich abschließen.

    Validierung der Cluster-Knoten für Storage Spaces Direct

    Im Anschluss wird ein Vier-Knoten-Cluster erstellt. Jeder Knoten hat interne Festplatten verbaut (beispielsweise: SATA- oder SAS-SSDs, NVMe, HDDs), die später unseren verteilten Storage-Pool bilden.

    Storage Spaces Direct aktivieren und Pool bilden

    Wie bereits eingangs erwähnt, ist es erst dann möglich, alle verteilten physikalischen Platten zu einem Pool zusammenzufassen, wenn der Software Storage Bus aktiviert ist. Zu diesem Zweck wird nach der Cluster-Bildung das Cmdlet Enable-ClusterStorageSpacesDirect auf einem Knoten ausgeführt.

    Enable-ClusterStorageSpacesDirect auf einem Knoten ausführen

    Nach erfolgreicher Ausführung des Cmdlets wird über den Failover Cluster Manager unterhalb der Pools ein neuer Storage Pool gebildet. Er erstreckt sich hier über alle lokalen Festplatten der Knoten. In meiner Laborumgebung hat jeder Server zwei zusätzliche 5GB-Festplatten (siehe folgende Abb.)

    Pooling aller verteilten lokalen Platten

    Zusammenfassung

    Versucht man den gesamten Hyper-converged Stack zu beschreiben, dann fängt man mit den physikalischen Server-Knoten als Basis an: Sie verfügen über lokale Festplatten und sind untereinander über das SMB-Netzwerk verbunden.

    Eine Stufe höher erstreckt sich der Software Storage Bus und eine Ebene darüber werden die physikalischen Platten zu Storage Pools zusammengefasst. Wie in der Vorgängerversion Server 2012 werden dort die Storage Spaces oder virtuellen Disks erstellt. Als Storage-Layout kann auch hier die Zwei- oder Drei-Wege Spiegelung (Mirroring) dienen.

    Abschließend wird das Volume erstellt und mit ReFS formatiert. Verfolgen wir den Stack weiter nach oben, dann wandeln wir nun unsere Virtual Disks in Cluster Shared Volumes, um dem lokalen Hyper-V den Shared Storage zur Verfügung zu stellen. Die virtuellen Maschinen werden auf dem verteilten CSV betrieben.

    21 Kommentare

    Bild von Stefano De Niro
    Stefano De Niro sagt:
    9. Februar 2016 - 20:44

    Super Artikel Danke! Sollten/Müssen die 4 HCI Knoten gleich sein in Bezug auf RAM und HDD Bestückung? Wie sieht es bezüglich Performance zwischen eine 2 und 3way Mirroring aus - ist 3way evtl. schneller bei Readoperationen?

    Schade geht es nicht schon mit 2 Knoten (KMU!!).

    Bild von Marcel Küppers
    10. Februar 2016 - 9:12

    Super Artikel Danke!

    Vielen Dank!

    Sollten/Müssen die 4 HCI Knoten gleich sein in Bezug auf RAM und HDD Bestückung?

    Ein Cluster sollte möglichst immer aus identischer Hardware bestehen und Microsoft
    zertifiziert sein, außerdem dem Validierungsstest standhalten.

    https://www.windowsservercatalog.com/

    4 Knoten sind wichtig für die Fault Tolerance und zum Zeitpunkt der TP4 Stand der Dinge. Möglich ist ja, das MS hier noch technische Anpassungen macht und den Support modifiziert in Richtung zwei Nodes.

    Bild von Marcel Küppers
    29. April 2016 - 13:00

    29.04.2016, Nachtrag zum Kommentar:

    Microsoft hat Änderungen vorgenommen mit der TP5 (27.4.16) und unterstützt 3 Knoten im mirrored design. Parity ist dementsprechend weiterhin mit min. 4 Knoten erst möglich. Datacenter Version bleibt.

    Eine Ergänzung in Form eines Beitrags folgt in Kürze!

    Bild von Marcel Küppers
    17. Juni 2016 - 15:26
    Bild von Stefano
    Stefano sagt:
    12. August 2016 - 12:58

    Danke für die Updates! Sehr gute Artikel. 3-Knoten ist jetzt noch besser für KMU!

    Bild von Marcel Küppers
    12. August 2016 - 13:10

    Danke für das positive Feedback!

    Bild von Daniel
    Daniel sagt:
    21. September 2016 - 16:34

    Hallo Herr Küppers,

    wenn ich das Storage Spaces Direct mit folgenden Befehl "Enable-ClusterStorageSpacesDirect" aktivieren möchte kommt folgende Fehlermeldung:

    -------------------------------------------------------

    Enable-ClusterStorageSpacesDirect : Das Feature S2D wird auf Knoten Server1 nicht unterstützt.
    In Zeile:1 Zeichen:1
    + Enable-ClusterStorageSpacesDirect
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidOperation: (MSCluster_StorageSpacesDirect:root/MSCLUSTER/...ageSpacesDirect) [Ena
    ble-ClusterStorageSpacesDirect], CimException
    + FullyQualifiedErrorId : HRESULT 0x80070032,Enable-ClusterStorageSpacesDirect

    Enable-ClusterStorageSpacesDirect : Fehler bei der Ausführung von CIM-Methode "EnableStorageSpacesDirect" für das
    CIM-Objekt "root/MSCLUSTER/MSCluster_StorageSpacesDirect": Die CIM-Methode hat den folgenden Fehlercode zurückgegeben:
    50
    In Zeile:1 Zeichen:1
    + Enable-ClusterStorageSpacesDirect
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo : InvalidResult: (MSCluster_StorageSpacesDirect:String) [Enable-ClusterStorageSpacesDirect
    ], CimJobException
    + FullyQualifiedErrorId : CimJob_EnableStorageSpacesDirect_50,Enable-ClusterStorageSpacesDirect

    -------------------------------------------------------

    Haben Sie hierfür einen Lösungsvorschlag?

    mfg
    Daniel

    Bild von Marcel Küppers
    22. September 2016 - 9:09

    Hallo Daniel!

    Ad hoc: S2D wird nur in der Datacenter Version unterstützt. Wurden die Knoten mit dieser installiert?

    Besten Gruß,
    Marcel

    Bild von Daniel
    Daniel sagt:
    22. September 2016 - 10:48

    Danke für die schnelle Antwort!!!!
    Ich habe die Server nochmals mit Datacenter installiert und dies hat das Problem behoben!

    Danke nochmal

    lg Daniel

    Bild von Marcel Küppers
    8. November 2016 - 8:44

    08.11.2016, Cluster Sizing bei Storage Spaces Direct (S2D):

    Auf der Ignite 2016 Ende September in Atlanta gab Microsoft bekannt, dass Windows Server 2016 bei S2D nun auch ein 2-Knoten Design unterstützt.

    Dazu folgt ein Test-Labor inklusive eines Beitrages.

    Bild von Kai
    Kai sagt:
    7. Januar 2017 - 17:16

    Hallo Herr Küppers,

    ich mache gerade meinen MCSA Server 2016 leider habe ich Probleme mit Storage Spaces Direct.
    Ich habe einen drei Knoten Cluster eingerichtet und möchte nun S2D mit Enable-ClusterStorageSpacesDirect aktivieren.
    Leider bleibt der Befehl bei 27% stehen -> Es wird gewartet, bis die SBL-Datenträger eingeblendet werden.
    Hast du eine Idee voran das liegen könnte?

    Vielen Dank schon mal für deine Hilfe!

    Bild von Marcel Küppers
    8. Januar 2017 - 9:38

    Hallo Kai,

    zwei Dinge, ich gehe jetzt mal von einer virtuellen Lab-Umgebung aus:

    - Schau mal in die Eventlogs, ob es hier Hinweise auf Datenträger-Fehler gibt.
    - Lege ggfs. die virtuellen Datenträger neu an und allokiere den Speicher komplett

    Gruß,
    Marcel

    Bild von Markus
    Markus sagt:
    9. Januar 2017 - 14:28

    Hallo Herr Küppers,

    gibt es schon einen Beitrag zum 2-Knoten Design ?

    Viele Grüße
    Markus

    Bild von Marcel Küppers
    9. Januar 2017 - 14:34

    Hallo Markus,

    genau dieser ist gerade in Arbeit :) und wird zeitnah online gehen.

    Gruß,
    Marcel

    Bild von Stefano De Niro
    Stefano De Niro sagt:
    17. Januar 2017 - 17:16

    Hallo Markus. Warte auch ungeduldig auf den 2Knoten Artikel. Habe 2 HP Proliant mit je 12 HDD und 6 SAS-HDD. Habe auf HBA-Mode beim RAID Controller umgeschaltet, aber wo kann ich jetzt sagen, dass dich für das OS nur 1 bzw 2 Disk mit RAID1 will. Der array configurator ist ja nun deaktiviert. Dank und Gruss Stefano

    Bild von Marcel Küppers
    18. Januar 2017 - 17:12

    "Habe auf HBA-Mode beim RAID Controller umgeschaltet"

    Grundsätzlich:

    Erkennt ein Get-PhysicalDisk den richtigen BusType? (Add: wenn denn mal ein OS installiert wurde)
    Sollen diese Server produktiv laufen?

    Bild von Stefan De Niro
    Stefan De Niro sagt:
    20. Januar 2017 - 10:43

    HP Proliant Server läuft im HBA Mode und Win2016 ist auf erster HDD installiert. Nun möchte ich für das OS ein RAID1 einrichten. Im Diskmanager kommt der Fehler 'GUI kann nicht angezeigt werden und man soll Refresh' machen. Geht auch nach Neustart nicht. Beide HDD sind im GPT Mode. Fehler scheint bekannt zu sein, aber wie beheben?

    Bild von Marcel Küppers
    20. Januar 2017 - 12:01

    "HP Proliant Server läuft im HBA Mode und Win2016 ist auf erster HDD installiert. Nun möchte ich für das OS ein RAID1 einrichten."

    OK, das hatte ich soweit schon verstanden. Aber bevor Du Dich mit dem OS RAID auseinander setzt, sollte klar sein, ob 2016 durch das Umschalten auf HBA auch richtig den BusType für S2D erkennt. Das ist vorerst grundlegend, da der Controller sonst für den HA-Storage (wenn Firmware und Treiber nicht helfen) hinfällig wäre:

    Get-PhysicalDisk | ft FriendlyName, BusType, MediaType

    Der BusType muss SAS sein. Kein RAID.

    Bild von Marcel Küppers
    19. Januar 2017 - 13:09

    Stefano De Niro sagt:
    "Warte auch ungeduldig auf den 2Knoten Artikel"

    Ein Überblick über S2D im 2-Knoten Design ist jetzt online (Zusätzlich zum schon länger vorhandenen TP4 Beitrag hier). Das 2-Knoten Lab ist auch fertig und geht zeitnah hinterher.

    https://www.windowspro.de/marcel-kueppers/ueberblick-windows-server-2016...

    Bild von Stefan De Niro
    Stefan De Niro sagt:
    20. Januar 2017 - 15:47

    Hallo Marcel. Danke für Info. Ja es kommt tatsächlich beim Bustype RAID und nicht SAS. Kann man das umstellen? Gruss Stefan

    Bild von Marcel Küppers
    20. Januar 2017 - 17:08

    Hallo Stefan,

    - Firmware aktualisieren
    - Treiber neu
    - generell den Controller auch mal gegen den Catalog prüfen, wenn produktiv:

    https://www.windowsservercatalog.com/results.aspx?&bCatID=1362&cpID=0&av...

    und Danke für die Rückmeldung!

    Gruß,
    Marcel