Performance Vergleich zwischen Windows Storage Spaces und Hardware Raid Leveln

Susan Roesner am 22. August 2013

Gastbeitrag von: Eike Hillmann (H&D International Group)

Im Zuge des Aufbaus einer Testumgebung zur Erprobung und Abbildung von Microsoft Cloud Szenarien habe ich einen Benchmark zwischen der Microsoft Storage-Virtualisierungstechnologie Storage Spaces und klassischen Leveln eines Hardware Controllers durchgeführt.

Mein vorrangiges Ziel des Vergleichs ist es gewesen, einen Eindruck von der Leistungsfähigkeit der Storage Spaces zu bekommen und mögliche -Unterschiede zu klassischen RAID Leveln aufzuzeigen. Auch wenn der Vergleich auf Grund nur eines zur Verfügung stehenden Testsystems und der Auswahl sowie Verwendung von nur einer Test-Software nicht repräsentativ sein kann, so beeinträchtigt dies, aus meiner Sicht, nicht eine hinreichende Aussage zur Leistungsfähigkeit.

Bevor ich das Testsystem und die Benchmark Ergebnisse vorstelle, möchte ich kurz einige wesentliche Informationen zu Storage Spaces liefern.

 

1.1      Was sind Storage Spaces?

 

Storage Spaces sind virtuelle Laufwerke, die aus einem lokalen Storage Pool generiert werden und dem Betriebssystem als Volume zur Verfügung stehen.

Diese Technologie der Storage-Virtualisierung auf Betriebssystem Ebene wurde mit Windows Server 2012 und Windows 8 eingeführt und ist herstellerübergreifend ausgelegt. Storage Spaces sind zentraler Bestandteil von Microsofts Cloud Strategie.StorageVirtualisierung

Storage-Virtualisierung auf Betriebssystem Ebene

 

1.2      Welche Features werden unterstützt?

Mit Windows Server 2012 und Windows 8 werden folgende Features unterstützt:

–       Thin Provisioning: Dynamische Speicherallokation zur effizienten Nutzung des physischen Speichers.

–       Simple-, Mirror- und Parity-Storage Layout: Techniken zur Steigerung des Datendurchsatzes oder der Datenverfügbarkeit.

  • Ab zwei physischen Laufwerken in einem Storage Pool steht neben dem Simple Storage Layout zur Steigerung des Datendurchsatzes durch Data Striping ohne Fehlertoleranz ein 2-Wege Mirroring zur Auswahl, das die Datenkopien redundant auf beiden Laufwerken speichert.
  • Ab drei physischen Laufwerken steht das Parity Storage Layout zur Auswahl, das die Fehlertoleranz durch Bildung von Prüfsummen sicherstellt.
  • Ab fünf physischen Laufwerken ist die Nutzung eines 3-Wege Mirroring möglich, bei dem die Kopien der Daten auf mindestens drei Laufwerken gespeichert werden.

Aus einem Storage Pool können mehrere Storage Spaces mit unterschiedlichen Storage Layouts erstellt werden.

–       Hot Spare Disk: Physische Laufwerke können als Reserve-Laufwerke deklariert werden, so dass diese automatisch ein im Betrieb ausgefallenes Laufwerk ersetzen.

–       Failover Cluster Support: Storage Pools und –Spaces als Basis für hochverfügbare Dienste unter Berücksichtigung folgender Einschränkungen:

  • Ein geclusterter Storage Pool unterstützt nur via SAS angeschlossene Laufwerke.
  • Das Parity Storage Layout steht nicht zur Verfügung.
  • Storage Spaces müssen „fixed“ provisioniert sein.

 

In Windows Server 2012 R2 sind folgende Features neu hinzugekommen:

–       2-Tier Storage: Aus dem SAN-Bereich bekannte Funktion, bei der Daten automatisch in Abhängigkeit ihrer Zugriffe auf unterschiedlich performanten Datenträgern, bspw. SSD- und SAS-Laufwerken, verteilt werden.

–       Write-Back Cache: Der schnellere Storage Tier wird als Zwischenspeicher für Schreibzugriffe bei hohen IOPS genutzt.

–       Dual Parity Storage Layout: Doppelte Prüfsummenbildung zur Wahrung der Fehlertoleranz bei einem Laufwerksausfall und während des anschließendem Rebuilds.

Darüber hinaus wurde die Geschwindigkeit des Rebuilds nach einem Fehlerfall durch einen parallelisierten Reparatur Prozess verbessert, indem ungenutzte Laufwerke des Storage Pools zur Wiederherstellung der Fehlertoleranz herangezogen werden. Die Verwendung von Hot Spare Disks haben dagegen den Nachteil, dass ein Rebuild mit nur einem Laufwerk im Vergleich langsamer ist und der unter Umständen während dieser Zeit nicht fehlertolerant arbeitet.

 

1.3      Was sind Voraussetzungen für Storage Spaces?

Voraussetzung für Storage Spaces ist ein lokaler Storage Pool, der aus internen und externen, über USB, SATA oder SAS direkt angebundenen, Festplatten und Solid State Drives unterschiedlicher Größe und Geschwindigkeiten bestehen kann. Sind die für Storage Spaces verwendeten physischen Laufwerke an einen RAID Controller angeschlossen, so muss jegliche RAID-Funktionalität deaktiviert sein. Darüber hinaus sollten Storage Arrays für eine größtmögliche Kompatibilität das SCSI Enclosure Services (SES) Protokoll in Version 3 unterstützen und den Windows Logo Anforderungen entsprechen.

Für die Erstellung und Konfiguration von Storage Pools und Storage Spaces wird ein Betriebssystem ab Windows Server 2012 / Windows 8 benötigt. Sowohl Storage Pools als auch Storage Spaces sind Build-in Features der genannten Betriebssysteme, d.h. eine nachträgliche, manuelle Installation als Rolle oder Feature ist nicht notwendig.

 

2.

2.1      Beschreibung des Testsystems

Der Benchmark ist auf einem Dell Power Edge R610 Server mit 2x Intel Xeon 5620 (2,4 GHz) und 32 GB Multibit ECC RAM ausgeführt worden. Als Festplatten habe ich drei Seagate ST9300603SS mit folgenden Spezifikationen verwendet:

Technische Eigenschaft Wert
Kapazität 300 GB
Umdrehungsgeschwindigkeit 10000 U/min
Cache 16 MB
Zugriffszeit 3,6 ms Lesen, 4,2 ms Schreiben
Interface SAS 6 Gb/s
Formfaktor 2,5“

 

Die Spezifikationen des RAID Controllers PERC H700 im Dell Power Edge R610 lauten:

Technische Eigenschaft Wert
Ports /Channels 8 (2×4)
Bus Support X8 PCIe 2.0
Cache 512MB   (800 MHz DDR2) Battery-Backed
RAID Level 0, 1, 5, 6, 10, 50, 60
HDD / SSD Support SATA, SAS

 

Mithilfe des Dell Server Update Utilities (Version 7.2.1.223, Stand 1. Quartal 2013) aktualisierte ich im Vorfeld das BIOS und die Firmware der relevanten Hardware-Komponenten auf folgende Versionen:

Hardware-Komponente BIOS- / Firmware-Version
Dell   Power Edge R610 BIOS 6.3.0
Dell ESM   iDRAC6 Firmware 1.95
PERC H700   Controller Firmware 12.10.5-0001
Seagate   ST9300603SS Firmware FS66
Dell ESM   SAS/SATA Backplane Firmware 1.07

 

Als Benchmark ist die kostenfreie Software ATTO Disk Benchmark des Herstellers ATTO Technology in Version 2.47 verwendet worden.

Die Parameter der Software wurden auf den Standardwerten belassen. Lediglich der Laufwerksbuchstabe des zu testenden Volumes und die Funktion Start sind von mir ausgewählt worden.ATTODiskBenchmark

ATTO Disk Benchmark Version 2.47 Standardeinstellungen

 

Die Tests wurden unter Microsoft Server 2012 R2 Datacenter Preview durchgeführt.

 

2.2      Beschreibung der Testmethodik

Auf Seiten der Storage Spaces habe ich mich dafür entschieden, die Storage Layouts Simple und Parity auf Grund ihrer gegensätzlichen Eigenschaften zu testen. Simple bietet auf der einen Seite einen hohen Datendurchsatz durch parallele Schreib- und Lesezugriffe, auf der anderen Seite aber keine Ausfallsicherheit. Das Storage Layout Parity hingegen stellt die Ausfallsicherheit über eine Paritätenbildung sicher. Nachteilig ist ein niedrigerer Datendurchsatz bei Schreibzugriffen.

Der jeweilige Space hat alle drei Laufwerke umfasst und den kompletten Speicherplatz „fixed“ provisioniert.

Als Äquivalent wurden auf dem PERC H700 die RAID Level 0 und 5 konfiguriert und nach Abschluss der Background-Initialisierung getestet.

Die Stripe Element Size aller RAID Level ist auf 64 kB gesetzt worden.

Um die Performance-Einflüsse der Caches von Hardware RAID Controller und Festplatten auf Storage Spaces und RAID Level zu berücksichtigen, habe ich nach jedem Testdurchlauf die Policies Read, Write und Disk Cache mithilfe des Dell Open Manage Server Administrators unter Server 2012 R2 geändert und anschließend einen neuen Test gestartet. Die angepassten Einstellungen auf dem RAID Controller wurden sofort aktiv, ein Neustart des Servers ist nicht notwendig.

Die Werte Adaptive Read Ahead und Write Back der Read und Write Policies aktivieren den RAID Controller Cache. Mit No Read Ahead und Write Through wird der Cache deaktiviert. Die Disk Cache Policy steuert die Nutzung des Festplatten Caches mit den Werten Enabled/Disabled.

Somit habe ich die Testläufe wie folgt durchgeführt:

Technik Read Policy Write Policy Disk Cache Policy
Storage Space – Simple Adaptive Read Ahead Write Back Enabled
Storage Space – Simple Adaptive Read Ahead Write Back Disabled
Storage Space – Simple No Read Ahead Write Through Enabled
Storage Space – Simple No Read Ahead Write Through Disabled
Storage Space – Parity Adaptive Read Ahead Write Back Enabled
Storage Space – Parity Adaptive Read Ahead Write Back Disabled
Storage Space – Parity No Read Ahead Write Through Enabled
Storage Space – Parity No Read Ahead Write Through Disabled
PERC H700 RAID 0 Adaptive Read Ahead Write Back Enabled
PERC H700 RAID 0 Adaptive Read Ahead Write Back Disabled
PERC H700 RAID 0 No Read Ahead Write Through Enabled
PERC H700 RAID 0 No Read Ahead Write Through Disabled
PERC H700 RAID 5 Adaptive Read Ahead Write Back Enabled
PERC H700 RAID 5 Adaptive Read Ahead Write Back Disabled
PERC H700 RAID 5 No Read Ahead Write Through Enabled
PERC H700 RAID 5 No Read Ahead Write Through Disabled

Übersicht der Testdurchläufe mit jeweils veränderter Cache-Nutzung

Hinweis

Auf Grund einer Limitierung des RAID Controllers PERC H700 müssen nach dessen Aktivierung im BIOS für die Erstellung eines RAID 1 Levels aus zwei Festplatten für das Betriebssystem alle weiteren angeschlossenen Festplatten ebenfalls über diesen konfiguriert werden. Andernfalls stehen sie dem Betriebssystem nicht zur Verfügung. Dies hat zur Folge, dass bei Verwendung von Storage Spaces für jedes einzelne der drei Laufwerke ein eigener RAID 0 Level konfiguriert werden muss. Diese Konfiguration entspricht nicht den in Punkt 1.3 aufgeführten offiziellen Anforderungen von Microsoft an Storage Spaces.

 

2.3      Benchmark Ergebnisse

Die Testergebnisse sind nach den Cache-Einstellungen des RAID Controllers gruppiert. Die Abbildungsbeschriftungen kennzeichnen die verwendete Storage-Technik.

Read Policy: Adaptive Read Ahead | Write Policy: Write Back | Disk Cache Policy: Enabled

 

StorageSpaceSimple_1    

StorageSpaceParity_1    

Storage Spaces – Simple Storage Spaces – Parity

PercRaid0_1

PercRaid5_1

PERC H700 – RAID 0 PERC H700 – RAID 5

Read Policy: Adaptive Read Ahead | Write Policy: Write Back | Disk Cache Policy: Disabled

StorageSpaceSimple_2    

StorageSpaceParity_2    

Storage Spaces – Simple Storage Spaces – Parity
 PercRaid0_2  PercRaid5_2
PERC H700 – RAID 0 PERC H700 – RAID 5

Read Policy: No Read Ahead | Write Policy: Write Through | Disk Cache Policy: Enabled

StorageSpaceSimple_3    

StorageSpaceParity_3    

Storage Spaces – Simple Storage Spaces – Parity
 PercRaid0_3  PercRaid5_3
PERC H700 – RAID 0 PERC H700 – RAID 5

Read Policy: No Read Ahead | Write Policy: Write Through | Disk Cache Policy: Disabled

StorageSpaceSimple_4    

StorageSpaceParity_4    

Storage Spaces – Simple Storage Spaces – Parity
 PercRaid0_4  PercRaid5_4
PERC H700 – RAID 0 PERC H700 – RAID 5

3. Fazit

Zunächst kann man anhand der durchgeführten Benchmarks feststellen, dass die Konfiguration und der Cache des Hardware RAID Controllers signifikanten Einfluss auf den Datendurchsatz haben. Bei den Benchmarks mit aktiviertem Hardware Controller Cache limitiert dieser die Leistungen des Systems.

Wie in Punkt 1.3 beschrieben, muss zur Nutzung von Storage Spaces jegliche RAID Funktonalität abgeschaltet sein, womit auch der Zugriff auf den RAID Controller Cache wegfällt. Das schlägt sich mit einem deutlichen Performance-Verlust im Vergleich zu den RAID Leveln mit aktiviertem Hardware Controller Cache nieder. Verbesserung könnte die in Server 2012 R2 neu hinzugekommene Funktion der Nutzung eines schnelleren Storage Tiers, bspw. auf Basis von SSDs, als Write Back Cache bringen.

Liegen bei beiden Technologien die gleichen Cache-Konfigurationen an, so kann der Storage Space im Simple Layout sehr gut im Vergleich um RAID 0 Level mithalten und diesen bei deaktiviertem Hardware Controller Cache schlagen.

Im Gegensatz dazu liegt die Performance des Storage Layout Parity beinahe durchgehend hinter den Werten des RAID Levels bei gleichen Cache-Einstellungen.

Den Ergebnissen entsprechend, empfiehlt Microsoft die Nutzung des Parity Layouts zur Archivierung von Daten und für Backups, bei der eine effiziente Speichernutzung mit gleichzeitiger Ausfallsicherheit im Vordergrund steht. Das Simple Layout sollte für temporäre Daten verwendet werden, die eine hohe Performance ohne Ausfallsicherheit benötigen.

Darüber hinaus entspricht es nicht Microsofts Vorstellungen, die Storage Spaces auf ein reines Software RAID zu reduzieren. Wie in Punkt 1.2 angesprochen, stellen Storage Spaces Funktionen aus dem SAN-Bereich zur Verfügung, die sich mit einem Hardware RAID nicht ohne weiteres umsetzen lassen. Des Weiteren bieten Storage Spaces, durch Thin Provisioning und dem Hinzufügen unterschiedlich großer und schneller physischer Laufwerke zum Storage Pool, eine größere Flexibilität und eine einfachere Erweiterung um zusätzliche Kapazität, als dieses klassische RAID Level erlauben.

Dem gegenüber steht, dass RAID Level auf Basis von Hardware Controllern ausgereift sind und ein breiter Erfahrungsschatz über das Verhalten in unterschiedlichen Lastszenarien besteht. Die noch junge Storage Spaces Technologie muss sich erst in verschiedenen Produktivumgebungen beweisen.

Auch wenn es im Geschwindigkeitsbereich noch nicht reicht, gleichauf mit cachenden RAID Controllern mitzuhalten, so werde ich Storage Spaces, in Verbindung mit weiteren Tests unter Produktivbedingungen, auf Grund ihrer interessanten Features und möglicher Kostenersparnisse gegenüber SANs als Alternative in Erwägung ziehen.

 

Wer weitere Informationen zu dem Thema Windows Storage Spaces sucht, dem empfehle ich folgende Links:

Auch auf der bereits stattgefundenen TechEd North America 2013 vom 03.06.2013 – 06.06.2013 in New Orleans waren Storage Spaces ein Thema. Die Session von Program Manager Bryan Matthew mit dem Titel „Storage Spaces: What’s New in Windows Server 2012 R2“ ist auf folgender Webseite bereitgestellt:

Storage Spaces: What’s New in Windows Server 2012 R2

 

Weiterführende Informationen zur genauen Funktionsweise von Storage Spaces und Antworten auf häufig gestellte Fragen sind auf den folgenden Webseiten zu finden:

Virtualizing storage for scale, resiliency, and efficiency

Storage Spaces Frequently Asked Questions (FAQ)

 

Wie Storage Spaces im Fehlerfall reagieren, beantwortet die nachfolgende Webseite:

How Storage Spaces responds to errors on physical disks

 

4      Für den Artikel verwendete Quellen

N. b. (26.09.2012). Storage Spaces Overview [Online].

Verfügbar unter: http://technet.microsoft.com/us-us/library/hh831739.aspx [22.07.2013]

Aidan Finn (12.06.2013). New Features in Windows Server 2012 R2 Storage Spaces [Online].

Verfügbar unter: http://www.petri.co.il/new-features-windows-server-2012-r2-storage-spaces.htm [22.07.2013]

Flash Denning (01.06.2012). Windows Server 2012: Is Storage Spaces the Killer Feature? [Online].

Verfügbar unter: http://www.petri.co.il/storage-spaces-windows-server-2012.htm [22.07.2013]

N. b. (03.2011). Dell PowerEdge RAID Controller Cards [Online].

Verfügbar unter: https://www.dell.com/downloads/global/products/pvaul/en/perc-technical-guidebook.pdf [22.07.2013]

N. b. (05.2011). SAS-Festplatte 300GB „Seagate ST9300603SS“ [Online].

Verfügbar unter: http://www.produktinfo.conrad.com/datenblaetter/400000-424999/415554-an-01-de-SEAGATE_300GB_SAS_2_5_ST9300603SS.pdf [22.07.2013]

N. b. (28.11.2012). Deploy Storage Spaces on a Stand-Alone Server [Online].

Verfügbar unter: http://technet.microsoft.com/en-us/library/jj822938.aspx [23.07.2013]

Tags: , ,

Kommentare sind geschlossen.