Weitere Best-Practises beim Aufbau und Betrieb der Microsoft Storage Spaces im Failover Cluster (Scale-Out File Server) (Update 1)
Wir 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.
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