leo-le
Goto Top

Performance Messung mit IOMETER am Storage

Hallo Forum,

vielleicht kann mir jemand weiterhelfen?
Ich würde gern meine IOPS an dem SAN Storage mit dem IOMETER testen.
Folgende Werte habe ich eingestellt:

20000000 Sectors
Outstanding I/Os = 16
4KiB; 100% Read; /0% random
run time = 50 sec
Ramp time = 5

Die Werte habe ich mal angehängt, vielleicht kann mir jemand dazu etwas sagen?

Dahinter steht eine MSA mit testweise 5 x RAID 5 mit jeweils 8 Platten, das Ganze im 16G SAN
test1

Content-Key: 348765

Url: https://administrator.de/contentid/348765

Printed on: April 26, 2024 at 18:04 o'clock

Member: Leo-le
Leo-le Sep 12, 2017 updated at 17:31:45 (UTC)
Goto Top
Niemand eine ähnliche Konfig und kann etwas zu dem MB/s und IOPS sagen? Bzw. zur Latenz? Bei einem Random test komme ich gerade mal auf 6000 IOPS mit der Plattenkonfig. Leider finde ich nirgends im Internet irgendwelche Vergleichtests
Member: Dr.EVIL
Dr.EVIL Sep 21, 2017 at 07:29:16 (UTC)
Goto Top
Sorry für die späte Antwort:
Das IOMeter ist "frei Konfigurierbar" um jede erdenkliche Lastsituation simulieren zu können.
Die Konfiguration in deinem ersten Post ist allerdings m.M. ein wenig "praxisfremd".
100% Lesende 4k Blöcke sind mir jedenfalls noch nie untergekommen.
Kein Wunder das deine MSA dann "Traumwerte" mit 1mS Latenz und 160.000 IOPS abgiebt.
(Tröste dich: Viele Werbeaussagen der Storage Hersteller werden genau so ermittelt!)
Dies beweist wie aussagekräftig "IOPS" Werte in der Produktwerbung sind!


Um einen aussagekräftigeren Wert zu bekommen, würde ich den vorgegebenen "All in One", welcher so ziemlich alle denkbaren Betriebssituationen umfasst, als Test empfehlen.
Wenn Du allerdings z.B. mit einer 100% VSphere Umgebung arbeitest, kannst du die vorgegebene Blocksize des VMFS (8k) vorgeben und das Schreib/Leseverhältnis aus der Monitoring Funktion der VSphere übernehmen (Zumeist ca. 70% Read)
Die Größe der Testdatei sollte in jedem Fall größer als der Cache der Controller sein (Bei der MSA 2040/42 = 16GB)

Für jeden geplanten Server würde ich einen "Worker" mit dieser Workload laufen lassen, oder auf jeden angeschlossenen Server einen eigenen "Dynamo" installieren.

6.000 IOPS halte ich übrigens bei einem reinen "10k SAS RAID5" und "linearen" LUN für einen realistischen Wert...
Bei der MSA kann man aber durch "Virtuelle" LUN die auf beide Controller (Pools) aufgeteilt werden bereits mess und spürbare Geschwindigkeitsvorteile erhalten.

Unsere MSA2042 habe ich so (Allerdings mit "All Flash") auf 27.000 IOPS bei 1mS Latenz (8k Random 50% Read, 8Gbit/s FC) "getrieben"

Diese "Best Practices" sollten die Grundlage der Konfiguration bilden:
https://www.hpe.com/h20195/v2/GetPDF.aspx/4AA4-6892ENW.pdf
Member: Leo-le
Leo-le Sep 22, 2017 updated at 10:17:39 (UTC)
Goto Top
Besten Dank für die Antwort, folgendes habe ich mit einem Worker auf der MSA 2050 nun heraus bekommen:

Konfig:

40000000 Sectors
Outstanding I/Os = 16 / Dieser Wert ist mir aber etwas unklar
All in one
run time = 50 sec
Ramp time = 5

POOLA getestet mit 2 x RAID10 im DiskPool MSA 2050 20 x 1,2 TB SAS 10K


Das scheint dann ja ein fast ganz normaler Wert zu sein?
raid10 msa 2050 20 platten
Member: Leo-le
Leo-le Sep 22, 2017 at 10:25:18 (UTC)
Goto Top
Und hier habe ich das ganze nochmal auf dem RAID5 Pool ausgeführt. ( Pool besteht auf 2 x 9 Platten)
raid5 msa2050 19 platten
Member: Dr.EVIL
Dr.EVIL Sep 25, 2017 at 10:04:24 (UTC)
Goto Top
Zitat von @Leo-le:

Outstanding I/Os = 16 / Dieser Wert ist mir aber etwas unklar

Die Outstanding I/Os" geben an wieviele I/O von den Workern GLEICHZEITIG erzeugt werden.
Je höher dieser Wert, desdo höher die Belastung, desdo höher die I/O Latenz und dadurch geringer die IOPS...
Ob 16 ein realstischer wert ist, muss man durch das Monitoring der bestehenden Umgebung selbst ermitteln.
Im Moment dürfte sich das System ähnlich wie ein ESXi Server mit etwa 15-20 "einfachen" VM verhalten.


Das scheint dann ja ein fast ganz normaler Wert zu sein?

Erscheint mir, im Verhältnis zur RAID5(50?) Konfiguration etwas niedrig!
Das müsste noch schneller gehen. (Obwohhl 3,5mS ein sehr guter Wert in einer "All turning" Umgebung ist...)
Wie sind die LUN auf die Pools (Controller) verteilt? (Mapping)
Ich vermute das der Testserver nur en einem einzigen Controller "gemapt" wurde?!
Member: Leo-le
Leo-le Sep 25, 2017 updated at 10:43:34 (UTC)
Goto Top
Hallo Dok und besten Dank!
Zitat von @Dr.EVIL:

Zitat von @Leo-le:

Outstanding I/Os = 16 / Dieser Wert ist mir aber etwas unklar

Die Outstanding I/Os" geben an wieviele I/O von den Workern GLEICHZEITIG erzeugt werden.
Je höher dieser Wert, desdo höher die Belastung, desdo höher die I/O Latenz und dadurch geringer die IOPS...
Ob 16 ein realstischer wert ist, muss man durch das Monitoring der bestehenden Umgebung selbst ermitteln.
Im Moment dürfte sich das System ähnlich wie ein ESXi Server mit etwa 15-20 "einfachen" VM verhalten.

Okay, dann passt das ja perfekt.


Das scheint dann ja ein fast ganz normaler Wert zu sein?

Erscheint mir, im Verhältnis zur RAID5(50?) Konfiguration etwas niedrig!
Das müsste noch schneller gehen.
Ehrlich gesagt kam mir das raid10 bei der MSA schon von Anfang an zu langsam vor. Bei manchen Messungen war da der Raid 50 Pool um einiges performanter.
(Obwohhl 3,5mS ein sehr guter Wert in einer "All turning" Umgebung ist...)
Wie sind die LUN auf die Pools (Controller) verteilt? (Mapping)
Pool A = 2 x Raid 10 mit jeweils 10 Platten
Pool B = 2 x Raid 5 mit jeweils 9 Platten
2x Global spare
Ich vermute das der Testserver nur en einem einzigen Controller "gemapt" wurde?!
Mpio ist konfiguriert.
Member: Dr.EVIL
Dr.EVIL Sep 25, 2017 at 10:56:09 (UTC)
Goto Top
Zitat von @Leo-le:


Pool A = 2 x Raid 10 mit jeweils 10 Platten

Warum hast du nicht alle 20 Platten in einen einzigen RAID10 Pool konfiguriert?
Hierdurch hast Du die maximal mögliche Leistung halbiert...


Pool B = 2 x Raid 5 mit jeweils 9 Platten

Auch hier:
Warum nicht ein RAID50 über alle Platten?
Und: Ungerade Anzahlen mögen Storages generell nicht!
Lieber 2x 8Platten, oder 2x 10 Platten in einem RAID50


Ich vermute das der Testserver nur en einem einzigen Controller "gemapt" wurde?!
Mpio ist konfiguriert.

Dies allein reicht nicht unbedingt...
Das "Mapping" der aus den Pools erzeugten Volumes, sollte so angelegt sein, das beide Controller symetrisch über alle verfügbare FC Ports mit den beiden Ports im Host verbunden werden.
"Symetrie" ist das "A&O" jeder "Tuningmaßnahme" auf den MSA (und generell allen anderen 2-Controller-) Storages.
Member: Leo-le
Leo-le Sep 25, 2017 at 11:19:40 (UTC)
Goto Top
Zitat von @Dr.EVIL:

Zitat von @Leo-le:


Pool A = 2 x Raid 10 mit jeweils 10 Platten

Warum hast du nicht alle 20 Platten in einen einzigen RAID10 Pool konfiguriert?
Hier gingen nur Max. 16 Platten. Was hätte ich dann mit den 4 Platten gemacht? So habe ich es aufgeteilt, wie du es hier im Forum irgendwann geschrieben hattest.
Hierdurch hast Du die maximal mögliche Leistung halbiert...


Pool B = 2 x Raid 5 mit jeweils 9 Platten

Auch hier:
Warum nicht ein RAID50 über alle Platten?
Und: Ungerade Anzahlen mögen Storages generell nicht!
Du hattest mit damals die Best Practices gesendet und d steht: the Power of2 gerade Anzahl der Data Platten !Parity also 8 +1
Lieber 2x 8Platten, oder 2x 10 Platten in einem RAID50


Ich vermute das der Testserver nur en einem einzigen Controller "gemapt" wurde?!
Mpio ist konfiguriert.

Dies allein reicht nicht unbedingt...
Das "Mapping" der aus den Pools erzeugten Volumes, sollte so angelegt sein, das beide Controller symetrisch über alle verfügbare FC Ports mit den beiden Ports im Host verbunden werden.
Es sind jeweils 2 FC Ports symmetrisch an den beiden FC Switchen. Der Server geht ebenso mit einem Port an Switch1 und mit dem 2. PORT an den Switch 2
"Symetrie" ist das "A&O" jeder "Tuningmaßnahme" auf den MSA (und generell allen anderen 2-Controller-) Storages.
Member: Dr.EVIL
Dr.EVIL Sep 25, 2017 updated at 13:57:12 (UTC)
Goto Top
Zitat von @Leo-le:


Pool A = 2 x Raid 10 mit jeweils 10 Platten
Hier gingen nur Max. 16 Platten. Was hätte ich dann mit den 4 Platten gemacht? So habe ich es aufgeteilt, wie du es hier im Forum irgendwann geschrieben hattest.

Sorry, dann habe ich Dich missverstanden.
Dann hast Du ein einziges RAID10 mit INSGESAMT 16 Platten?


Pool B = 2 x Raid 5 mit jeweils 9 Platten
Du hattest mit damals die Best Practices gesendet und d steht: the Power of2 gerade Anzahl der Data Platten !Parity also 8 +1

Die Parity ist auf alle Platten im RAID5 verteilt, es gibt keine dedizierte Parity Platte wie bspw. bei RAID3!
Dies bedeutet, das die Gesamtzahl aller Platten im RAID eine gerade Anzahl aufweisen sollte.
"Ungerade" darf nur die HotSpare Platte sein, da diese nur "leer mitläuft" und nur im Fall des Ausfalles einer der Platten im RAID aktiviert wird und so die gerade Anzahl widerherstellt.

Es sind jeweils 2 FC Ports symmetrisch an den beiden FC Switchen. Der Server geht ebenso mit einem Port an Switch1 und mit dem 2. PORT an den Switch 2

"Physisch" hast Du vermutlich nichts falsch gemacht! Die "Verdrahtung" scheint okay...
Aber überprüfe das Mapping (Zuordung der Volumes zu den Ports und Servern) noch einmal.

Im Idealfall ist der Server mit jeweils einem Port auf einem der FC Switche, welche ihrerseits jeweils mit beiden Controllern verbunden sind.
(Also gehen von jedem Switch jeweils ein Kabel an den ersten und ein weiteres an den zweiten Controller)

Genau so sollten die einzelnen Volumes innerhalb des Storage gemappt werden. Jedem Volume sollten pro Controller 2 Ports (Also insgesamt 4) zugeordnet werden.


Aber nicht falsch verstehen:
Wir "tunen" hier bereits auf relativ "hohem Niveau"!
Die zu erreichenden Erfolge spielen sich pro Einzelmaßnahme im einstelligen Prozentbereich ab.
Erst die Beseitigung mehrere dieser "Bremsen" bewirkt eine spürbare Beschleunigung der Latenzen.
Member: Leo-le
Leo-le Sep 25, 2017 at 15:17:47 (UTC)
Goto Top
Zitat von @Dr.EVIL:

Zitat von @Leo-le:


Pool A = 2 x Raid 10 mit jeweils 10 Platten
Hier gingen nur Max. 16 Platten. Was hätte ich dann mit den 4 Platten gemacht? So habe ich es aufgeteilt, wie du es hier im Forum irgendwann geschrieben hattest.

Sorry, dann habe ich Dich missverstanden.
Dann hast Du ein einziges RAID10 mit INSGESAMT 16 Platten?
Nein, ich habe im POOL A 2 Disk Groups mit jeweils 10 Platten im RAID10



Pool B = 2 x Raid 5 mit jeweils 9 Platten
Du hattest mit damals die Best Practices gesendet und d steht: the Power of2 gerade Anzahl der Data Platten !Parity also 8 +1

Die Parity ist auf alle Platten im RAID5 verteilt, es gibt keine dedizierte Parity Platte wie bspw. bei RAID3!
Dies bedeutet, das die Gesamtzahl aller Platten im RAID eine gerade Anzahl aufweisen sollte.
"Ungerade" darf nur die HotSpare Platte sein, da diese nur "leer mitläuft" und nur im Fall des Ausfalles einer der Platten im RAID aktiviert wird und so die gerade Anzahl widerherstellt.

Das wäre mir jetzt wirklich sehr wichtig, bevor ich das alles wieder auseinander konfiguriere, habe ich gerade nochmal in den best pratises nachgelsen. Dort werden beim RAID 5 überall ungerade Zahlen genommen. in dem best practises ist auch eine Tabelle, wo beim RAID 5 9 Platten empfohlen werden. Nicht das wir uns jetzt gerade missverstehen? Ich habe das nochmal angefügt...
Es sind jeweils 2 FC Ports symmetrisch an den beiden FC Switchen. Der Server geht ebenso mit einem Port an Switch1 und mit dem 2. PORT an den Switch 2

"Physisch" hast Du vermutlich nichts falsch gemacht! Die "Verdrahtung" scheint okay...
Aber überprüfe das Mapping (Zuordung der Volumes zu den Ports und Servern) noch einmal.

Im Idealfall ist der Server mit jeweils einem Port auf einem der FC Switche, welche ihrerseits jeweils mit beiden Controllern verbunden sind.
(Also gehen von jedem Switch jeweils ein Kabel an den ersten und ein weiteres an den zweiten Controller)
Genau so habe ich es eingerichtet.

Genau so sollten die einzelnen Volumes innerhalb des Storage gemappt werden. Jedem Volume sollten pro Controller 2 Ports (Also insgesamt 4) zugeordnet werden.
Die sind ja beim Mapping automatisch gewählt?


Aber nicht falsch verstehen:
Wir "tunen" hier bereits auf relativ "hohem Niveau"!
Die zu erreichenden Erfolge spielen sich pro Einzelmaßnahme im einstelligen Prozentbereich ab.
Erst die Beseitigung mehrere dieser "Bremsen" bewirkt eine spürbare Beschleunigung der Latenzen.
Alles gut, ich bin dir sehr dankbar, dass du das Thema mit mir so durch gehst!
best pr msa
Member: Dr.EVIL
Dr.EVIL Sep 26, 2017 at 06:46:31 (UTC)
Goto Top
Zitat von @Leo-le:

Nein, ich habe im POOL A 2 Disk Groups mit jeweils 10 Platten im RAID10

Jede Platte, die in einem RAID10, 5 oder 6 hinzugefügt wird, steigert die Performance des gesamten RAID Verbundes.
Daher würde ich empfehlen, hier nur ein RAID10 über 16 Platten zu konfigurieren.
Anschließend kannst Du den Speicherplatz durch Volumes (LUN) partitionieren.

Pool B = 2 x Raid 5 mit jeweils 9 Platten
Du hattest mit damals die Best Practices gesendet und d steht: the Power of2 gerade Anzahl der Data Platten !Parity also 8 +1

Interessant!
Eigentlich habe ich dies einst von HPE anders vermittelt bekommen.
Allerdings stammt mein Wissen auch aus der Zeit der seligen MSA P2000 G2...
(Da gab es noch "Single Port SAS" Platten)
Möglicherweise hat HPE die Anforderungen der vierten und fünften MSA Generationen etwas gelockert, da HPE die alten Single Port Platten nicht mehr supportet(?)
Ich denke aber, das man das für und wieder einer geraden/ungeraden Anzahl von Platten in diesem Array nur durch Performance Messungen feststellen kann.

Die sind ja beim Mapping automatisch gewählt?

So sollte es sein!
Bei mir sieht es bspw. so aus:

msamapping
Member: Leo-le
Leo-le Sep 26, 2017, updated at Sep 27, 2017 at 07:13:21 (UTC)
Goto Top
Okay, das könnte ich aber ja im laufenden Betrieb noch machen oder ? Ich setze die 2x 10 Platten auf 16 in einem Raid hoch und mach dann eben im Pool B 2 x 11 im Raid 5 ? 2 Platten möchte ich als hot spare. Bei der ganzen Sache stellt sich mir aber trotzalledem die Frage: Wieso kann ich Maximal 16 Platten im Raid 10 betreiben und wieso nimmt der nicht die Power aus den 2 x 10 Platten im Raid 10? Wozu dann überhaupt der Pool?Bisher nahm ich an, dass z.B. bei 3 x 9 Platten Raid 5 durch den Pool noch ein Stripe set darüber gezogen wird, so dass es dann ein Raid50 ist ?