Weitere Best-Practises beim Aufbau und Betrieb der Microsoft Storage Spaces im Failover Cluster (Scale-Out File Server) (Update 1) - Hyper-V Server Blog
  • Home
  • Management

Weitere Best-Practises beim Aufbau und Betrieb der Microsoft Storage Spaces im Failover Cluster (Scale-Out File Server) (Update 1)

Vorlage-Button-WinServ2012R2_thumbWir haben in letzter Zeit einige Erfahrungen beim Aufbau und Betrieb von diversen Scale-Out File Server Failover Clustern sammeln können. Ich habe im Mai letzten Jahres bereits einen Artikel über die Best Practises beim Aufbau eines Scale-Out File Server beschrieben (Unsere Best Practise-Erfahrungen – Teil 2 – Die Installation und Einrichtung eines Scale-Out Fileserver unter Windows Server 2012 R2), hier kommen nun noch einmal ein paar Dinge hinzu. Wir haben die folgenden Informationen teilweise direkt von Microsoft erhalten, teilweise sind es Erfahrungen die wir in Projekten gesammelt haben und manchmal ist es eine Mischung aus beidem.

 

Die SAS MPIO Policy

Wenn Sie einen Scale-Out File Server mit JBODs betreiben, sollten diese redundant per SAS angebunden sein. Damit die unterschiedlichen Wege zu den einzelnen Datenträgern nicht jeweils einen Datenträger pro Verbindung anzeigen, ist die Installation und Aktivierung von MPIO für SAS Pflicht. Wenn Sie Festplatten in Ihren JBODs verbaut haben (d.h. drehende Speichermedien, keine SSDs ausschließlich) sollten Sie die MPIO-Policy für SAS umstellen. Mit dem PowerShell-Befehl

Get-MSDSMGlobalDefaultLoadBalancePolicy

können Sie den aktuellen Status abrufen. Dieser steht bei einer Konfiguration, an der keine Änderungen vorgenommen wurden, auf None. Dies sollte umkonfiguriert werden, da es teilweise bei der Nutzung der automatischen Einstellung (None bedeutet, dass die Standard-Policy genutzt wird, in den allermeisten Fällen RoundRobin) zu erheblichen Performance-Einbrüchen kommt. Setzen Sie die Policy auf jedem Server (mit der RTM-Version von Windows Server 2012 R2 war dies noch eine clusterweite Einstellung, dies hat sich geändert) um auf den Wert FOO (FailOverOnly). Der komplette Befehl hierzu lautet

Set-MSDSMGlobalDefaultLoadBalancePolicy -Policy FOO

Überprüfen Sie die Einstellung erneut mit dem Befehl weiter oben.

Verwenden Sie immer die aktuellsten Treiber und Firmware-Stände

Wir haben festgestellt, das neuere Firmware-Stände von SAS HBAs, SSDs oder Enclosures sowie aktuellere Treiber enormen Einfluss auf den Betrieb und die Performance haben. Dies liegt vermutlich daran, dass die Komponenten noch nicht allzu lange verfügbar sind und daher noch Optimierungen und Anpassungen vorgenommen werden, die deutlichen Einfluss haben. Überprüfen Sie in regelmäßigen Abständen, ob es neue Treiber/Firmware/Software für Ihre Umgebung gibt. Dies gilt besonders für die Firmware der SSDs, falls Sie einen getierten Storage betreiben.

Achten Sie auf die Performance-Einstellungen Ihrer Server

In den meisten BIOS-Einstellungen von Hardware-Systemen gibt es die Möglichkeit, die Performance-Einstellungen der Hardware (insbesondere die der CPU) über Profile zu konfigurieren. Achten Sie darauf, dass Ihre Scale-Out File Server Hosts auf “Full Performance”, “Maximum Performance” oder wie der Hersteller Ihres Servers es auch immer nennt, betreiben. In einem Fall hat sich diese Einstellung bei Hosts (vermutlich durch ein BIOS-Update) auf einen Mixed-Mode zurückgestellt. Das Ergebnis war eine deutliche Erhöhung der Zeit, die für nächtlich Aufgaben benötigt wurden. Achten Sie sehr genau auf diese Einstellung, hier geht es im schlimmsten Fall um eine Erhöhung der Zeit um 250%. Bei eigentlich fünf Stunden macht sich diese Einstellung schon deutlich bemerkbar.

Deaktivieren Sie TRIM auf Ihren Systemen

Wenn Sie neben Festplatten noch SSDs oder ausschließlich SSDs in Ihrem Storage Cluster nutzen, sollten Sie die “TRIM und Unmap”-Funktion deaktivieren. In diesem Dokument, welches sich leider nur sehr schwer finden lässt, wird beschrieben, dass die Performance bei aktiver “TRIM und Unmap”-Nutzung sinken kann.

image

Deaktivieren können Sie die Funktion mit dem Befehl

fsutil behavior set disabledeletenotify 1

Nach dem Setzen der Einstellung (auf jedem SOFS Cluster-Knoten) müssen die Server neugestartet werden. Teilweise wird diese Funktion direkt in den SSDs bereit deaktiviert, je nach Firmware-Version. Seagate hat vor kurzem Version 006 der SSD-Firmware (für unsere SSDs z.B.) veröffentlicht, hier ist TRIM von Haus aus deaktiviert. SanDisk hat mit der Version 326 ebenfalls eine Firmware veröffentlicht, in der TRIM deaktiviert ist.

Installieren Sie benötigte Hotfixes

Microsoft hat ein Hotfix veröffentlicht, welches eine neue Version der TCPIP.sys einspielt. Ein Kunde hatte das Problem, das vereinzelt Bluescreens in der Umgebung aufgetreten sind mit der Meldung

UNEXPECTED_KERNEL_MODE_TRAP (7f)

Der Hotfix ist hier zu finden: Crash on Windows 8.1 or Windows Server 2012 R2 when a WPF driver calls the FwpsConstructIpHeaderForTransportPacket0 function

Jan Kappen
 

Jan Kappen ist ausgebildeter Fachinformatiker in der Richtung Systemintegration. Er hat seine Ausbildung im Sommer 2008 abgeschlossen und arbeitete bis August 2018 bei der Rachfahl IT-Solutions GmbH & Co. KG. Seit September 2018 arbeitet er als Senior Netzwerk- und Systemadministrator bei einem großen mittelständischen Unternehmen im schönen Sauerland. Jan Kappen ist unter anderen MCITP Server Administrator, Enterprise Administrator und Enterprise Messaging Administrator 2010 sowie MCTS für System Center Virtual Machine Manager 2008, Windows Server 2008 Active Directory, Windows Server Virtualization und Windows Server 2008 Network Infrastructure. Seit 2015 wird Jan Kappen im Bereich "File System Storage" bzw. "Cloud & Datacenter Management" für seine Expertise und seine Community-Arbeit mit dem MVP Award von Microsoft ausgezeichnet.

  • Sergej sagt:

    BTW: Der Link in Menu zum video2brain Video „Hyper-V Einstieg“ funktioniert nicht.

  • gtoth sagt:

    SAS MPIO Policy – Ich denke die Best Practice hier ist, die Beste MPIO Policy mit dem validatestoragepool Tool von Microsoft rauszufinden. Die Erfahrung hat gezeigt, dass mit vielen neueren Firmwareversionen die Performance mit der RR Policy besser ist, als mit FOO. Hier ein Beispiel Report Auszug von aktuellen HGST SSDs:

    >> Aggregate performance of S842E400M2;E4R3

    Model FirmwareVersion NumberOfDisks LoadBalancePolicy SequentialRead SequentialWrite ReadIOPS WriteIOPS MixedIOPS
    —– ————— ————- —————– ————– ————— ——– ——— ———
    S842E400M2 E4R3 12 Round Robin 6574 5033 709648 491668 499464
    S842E400M2 E4R3 12 Failover Only 5081 4312 560841 412014 441700

    https://gallery.technet.microsoft.com/scriptcenter/Storage-Spaces-Physical-7ca9f304

  • Hi Gerold,

    da hast du Recht viele SSDs kommen herforagend mit Roud Robin zurecht. In diesem Artikel spricht Jan über unsere generellen Empfehlungen und wenn du genau liest bezieht er sich auf die HDDs nicht auf die SSDs. Wir hatten schon Fäle wo RR die HDD Performance stark herunter gesetzt hat. Also wenn du für deine Umbegung die besten WErte haben möchtest dann heisst es Testen.

    Gruß Carsten

  • Mike Haafner sagt:

    Hallo,

    vielen Dank für den interessanten Beitrag. Was mich viel mehr interessieren würde:
    Wie findet man Bootlenecks? Das wäre auf jeden Fall mal einen Blockpost wert :-)

    Ich habe in meinem Testsetup alle Best Practises angewandt. Momentan ist es ein Non-Tiered Storage mit 4TB Seagate NL Disks bei 7 Columns, 2way Mirror. Throughput liegt bei nicht einmal 200MB/s. 64K Blöcke versteht sich.

    IOPS sind auch nicht wie zu erwarten.

  • Christian Pauly sagt:

    Hallo Jan,

    vielen Dank für das Teilen deiner Erfahrungen, mir blieben dadurch tatsächlich schon so manche Überraschungen erspart.

    Hast du in deinen Projekten jemals mit Guest Clustering gearbeitet? Mir hat es die Idee der Shared VHDX sehr angetan. Allerdings ist es mir absolut nicht möglich eine Shared VHDX anzuwenden die ich in einem SOFS Share ablege. Sobald die Funktion „Enable virtual hard disk sharing“ einschalte ist es mir nicht möglich die virtuelle Festplatte in der VM zu initialsieren. Die Fehlermeldung „The request could not be performed because of an I/O device error” deutet nach meinen Recherchen auf eine „Nichtunterstützung“ der 4k Sektorgröße des Storage Pools hin. Gibt es hier einen Trick wie man das Neuerstellen des Storage Pools umgeht?

    Mach weiter so!!!

    VG,
    Christian

  • >