Optimale Strip Size Raid 10

Hallo,

nach einem Totalausfall unseres alten Raids (3 Platten in 2 Stunden ausgefallen!?) habe ich einen neuen Raid10 Verbund aus 6 1TB WD Gold (7200Rpm, 128MB Cache) eingerichtet. Auch nach eingehender Recherche ist mir aber nicht klar, was ich als optimale StripSize einstellen soll. Im Netz wird im Zusammenhang mit Virtualisierung meistens 256KB genannt…ich habe halt systembedingt wie wir alle eine sehr heterogene Serverumgebung mit viel Datenbank gedöns (nextcloud, linuxmuster), gleichzeitig mit “Monsterdateien” (cloops) gespickt von einer Million Schreibzugriffen bei Logdateien.
Es passt keine Erklärung auf meine Umgebung…die sieht folgendermaßen aus:

Hypervisor: Proxmox auf eigenem Raid.
Daten Raid (s.o.): lvm. Hier liegen die Festplatten der Gastserver (linuxmuster, ipfire, chilli, unifi, nextcloud (mit 500GB Datenpartition)).

Wer hat einen kennt sich aus und hat einen Tipp?

Gruß

Dominik

Hallo Dominik,

nach einem Totalausfall unseres alten Raids (3 Platten in 2 Stunden
ausgefallen!?) habe ich einen neuen Raid10 Verbund aus 6 1TB WD Gold
(7200Rpm, 128MB Cache) eingerichtet. Auch nach eingehender Recherche ist
mir aber nicht klar, was ich als optimale StripSize einstellen soll. Im
Netz wird im Zusammenhang mit Virtualisierung meistens 256KB
genannt…ich habe halt systembedingt wie wir alle eine sehr heterogene
Serverumgebung mit viel Datenbank gedöns (nextcloud, linuxmuster),
gleichzeitig mit „Monsterdateien“ (cloops) gespickt von einer Million
Schreibzugriffen bei Logdateien.
Es passt keine Erklärung auf meine Umgebung…die sieht folgendermaßen aus:

Hypervisor: Proxmox auf eigenem Raid.
Daten Raid (s.o.): lvm. Hier liegen die Festplatten der Gastserver
(linuxmuster, ipfire, chilli, unifi, nextcloud (mit 500GB Datenpartition)).

ich habe RAID 5 in den Servern: aber nur für die Gäste.
Der Host selbst läuft auf einer SSD.
Bei der Erstellung des RAIDs habe ich immer alle Einstellungen auf
Default belassen …
Ich nehme auch an, dass das unserer heterogenen Umgebung am gerechtesten
wird.

Viele Grüße

Holger

Hallo,

auch wenn es nicht optimal zur ursprünglichen Fragestellung passt,
gehört meine Frage doch hier irgendwie dazu.

ich habe RAID 5 in den Servern: aber nur für die Gäste.
Der Host selbst läuft auf einer SSD.
Bei der Erstellung des RAIDs habe ich immer alle Einstellungen auf
Default belassen …
Ich nehme auch an, dass das unserer heterogenen Umgebung am gerechtesten
wird.

Ich bin dabei einen neuen Server zu kaufen.

Bei unserem derzeitigen Server habe ich ein HW-RAID 5, auf dem sowohl
der Hypervisor (Proxmox) als auch das LVM für die VMs liegt.

Bislang läuft das alles sehr stabil, ein, zwei HD-Ausfälle konnten
problemlos überbrückt werden.

Wenn natürlich so was passiert wie bei Dominik, ist wohl so ziemlich
jedes RAID-Szenario an seiner Grenze.

@Dominik: Hast du das neue RAID 10 dann mit 3 gespiegelten Platten
aufgebaut (also 2 TB Kapazität) oder 3 Platten im „RAID 0“ je auf eine
weitere HD gespiegelt?

Grundsätzliche Frage ist nun:
Wie mache ich das mit den HDs im neuen Server?

Was bringt der Host auf einer SSD, wo die meisten Daten doch in den VMs
gelesen und geschrieben werden?

Sollte man nicht auch zumindest ein RAID 1 für den Hypervisor machen,
damit beim Ausfall der SSD nicht gar nichts mehr läuft, bis man den
Hypervisor neu aufgesetzt hat?

Welchen entscheidenden Vorteil hat es, den Hypervisor von den Gästen
RAID-technisch komplett zu trennen?
Man kann den Hypervisor updaten und wenn was schief geht, muss man
zumindest nicht die ganzen VMs neu aus dem Backup zurück holen?
Sollte ja aber auch bei einem einzelnen RAID 5 gehen, da das ja
unterschiedliche Partitionen / LVMs sind, auf denen Hypervisor und VMs
liegen.

Macht ein RAID 10 für die VMs noch mehr Sinn? Ggf, können je nach Zahl
der HDs im RAID 10 ja mehr Platten ausfallen, weil man mehr Redundanz
haben kann als bei RAID 5.

Viele Grüße
Steffen

Hallo zusammen,

wieder mal so eine Frage, die nicht mit ja oder nein beantwortet werden kann. :wink: Um etwas Sinnvolles beizutragen, folgende Punkte von mir:

  • Wenn ich SATA/SAS HDDs und preiswerte RAID-Controller verwende, wie z.b. die internen HP-Controller, lasse ich von RAID 5 die Finger, da bei mir die Schreibperformance immer sehr schlecht war/ist. Ich nehme also immer ein RAID 10 und nehme in Kauf, dass mir der halbe Plattenplatz verloren geht. Leider habe ich noch keine praktischen Erfahrungen mit SSD-RAIDs, da ginge das bestimmt auch anders. Allerdings stellt sich da für mich noch die Frage nach Lebensdauer und TRIM-Problematik. Preislich wird es ja immer interessanter.

  • Bei den Parametern nehme ich auch die Standardwerte der Controller. Verändert man die Werte, sollte das mit den Daten getestet werden. Grundsätzlich glaube ich aber auch verstanden zu haben, dass am Beispiel der Stripe Size kleinere Werte günstig für I/O und größere Werte günstig für den Durchsatz sind. Allerdings haben wir ja bei der Betrachtung auch noch eine Virtualisierungsschicht dazwischen. Und es gibt auch Werte wie die Chunk-Size, Blockgröße …

Hier mal ein Praxis-Beispiel mit 64KB Stripe Size:
Product Name: LSI MegaRAID SAS 9260-4i
Memory: 512MB
4x WD20EFRX

xenserver# MegaCli -LDInfo -Lall -aALL

Adapter 0 – Virtual Drive Information:
Virtual Drive: 0 (Target Id: 0)
Name :
RAID Level : Primary-1, Secondary-0, RAID Level Qualifier-0
Size : 2.727 TB
Sector Size : 512
Mirror Data : 2.727 TB
State : Optimal
Strip Size : 64 KB
Number Of Drives : 4
Span Depth : 1
Default Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Current Cache Policy: WriteBack, ReadAhead, Direct, Write Cache OK if Bad BBU
Default Access Policy: Read/Write
Current Access Policy: Read/Write
Disk Cache Policy : Enabled
Encryption Type : None
Is VD Cached: No

server# hdparm -t /dev/xvda2

/dev/xvda2:
Timing buffered disk reads: 340 MB in 3.02 seconds = 112.41 MB/sec

112MB/s sind jetzt nicht die Welt beim sequenziellen Lesen, aber die Platten drehen nur mit 5400RPM und der I/O ist ausreichend für eine Grundschule mit ca. 50 gleichzeitigen Nutzern und allen VMs auf diesem Raid. DIe Stripe Size scheint also in Ordnung zu sein.

@Steffen:
Das mit dem Plattenausfall beim RAID 10 ist ja so eine Sache. Es müssen die richtigen Platten ausfallen, da es sich ja um ein RAID 0 eines/mehrerer RAID 1 Verbu(ü)nde(s) handelt. Fallen also bei z.B. 6 Platten drei aus, ist das RAID 10 nur i.O., wenn es jeweils 1 Platte eine RAID 1 Verbundes ist.

Grüße

Hallo Bertram,

Wenn ich SATA/SAS HDDs und preiswerte RAID-Controller verwende, wie
z.b. die internen HP-Controller, lasse ich von RAID 5 die Finger, da
bei mir die Schreibperformance immer sehr schlecht war/ist. Ich
nehme also immer ein RAID 10 und nehme in Kauf, dass mir der halbe
Plattenplatz verloren geht. Leider habe ich noch keine praktischen
Erfahrungen mit SSD-RAIDs, da ginge das bestimmt auch anders.
Allerdings stellt sich da für mich noch die Frage nach Lebensdauer
und TRIM-Problematik. Preislich wird es ja immer interessanter.

was meinst du mit Lebensdauer?

Prinzipiell bin ich bei unserem LSI-RAID Controller mit RAID 5 bei
unserem Schulverbund (derzeit ca. 100 fest am grünen Netz hängende
Clients, E-Mail-Nutzung, Webserver mit Owncloud, Chilli-Server) mit der
Performance nicht unzufrieden. Läuft eigentlich alles flüssig.

Ich habe mit Dirk Zöller noch eine Einstellung von Grub verändert, die
wohl auch eine Auswirkung auf die HD-Performance hat.

@Steffen:
Das mit dem Plattenausfall beim RAID 10 ist ja so eine Sache. Es müssen
die richtigen Platten ausfallen, da es sich ja um ein RAID 0
eines/mehrerer RAID 1 Verbu(ü)nde(s) handelt. Fallen also bei z.B. 6
Platten drei aus, ist das RAID 10 nur i.O., wenn es jeweils 1 Platte
eine RAID 1 Verbundes ist.

Das ist schon klar, aber man kann doch imho auch 3 u.m. Platten spiegeln

  • je nachdem, wie sehr paranoid man ist (oder wie wichtig die Daten sind).

Für mich stellt sich aber entscheidend die Frage, ob ich für den
Hypervisor separate SSDs einbaue. Treibt halt alles den Preis nach oben,
weil man (für Ausfallsicherheit) dann 2 SSDs extra braucht.

Viele Grüße
Steffen

Hallo Steffen,

was meinst du mit Lebensdauer?

Lebensdauer einer SSD, meine ich. Bei z.B. SATA-HDDs komme ich auch bei 24x7 auf teilweise über 6 Jahre. Schaffen das auch SSDs?

Ich sage ja nicht, das die RAID 5 Performance schlecht ist. :wink: Da ich aber oft die preiswerteste Variante an Hardware habe, waren meine RAID5 bei z.B. vielen gleichzeitigen Schreibvorgängen nicht zu gebrauchen. Deswegen nehme ich inzwischen immer billige SATA-Platten, Controller und RAID10.

Ob man 3 Platten spiegeln kann, weiss ich gar nicht bzw. habe ich noch nie gesehen. Kenne immer nur zwei Platten bei einem RAID 1. Ein RAID ist ja auch kein Backup … :wink:

Eine SSD für den Hypervisor würde ich nicht nehmen. Wenn ich das nicht auf meinem RAID haben will, würde ich einen USB-Stick mit mindestens 64GB nutzen. Die meisten neuen Server bieten ja sowas schon intern an. SSDs würde ich aber nutzen für Dinge, wo wirklich I/O gefragt ist, z.B. Netzlaufwerke für Programme, Dateien im gleichzeitigen Zugriff, DBs …

Grüße
Bertram

Hallo Bertram,

Ganz sicher bin ich auch nicht, und klar: Ein RAID ist kein Backup
Aber: Ein RAID, das nicht total ausfällt spart jede Menge Arbeit, um das System neu aufzusetzen und das Backup zurückzuspielen :wink:

Das mit der SSD für den Hyprvisor machen hier aber einige. Und um auf dein Argument Lebensdauer zurück zu kommen: Eine SSD hat ja wohl sicher eine größere Lebensdauer als ein USB-Stick ?!?

Mir ist der Sinn dieser internen USB-Sticks im Server nicht ganz klar? Was soll da der Vorteil sein?

Viele Grüße
Steffen

Hallo,

Das mit der SSD für den Hyprvisor machen hier aber einige. Und um auf
dein Argument Lebensdauer zurück zu kommen: Eine SSD hat ja wohl sicher
eine größere Lebensdauer als ein USB-Stick ?!?

Mir ist der Sinn dieser internen USB-Sticks im Server nicht ganz klar?
Was soll da der Vorteil sein?

der USB Stick hält sehr lange, da der Hypervisor sowiso im RAM läuft:
Schreibzugriffe gibt es da nur, wenn man updates macht.
Der USB Stick ist langsam: dann dauert halt das booten länger: wen
interessiert es.

Ich hab mich damals für eine SSD entschieden: die dürfte auch ewig
leben, weil kaum Daten geschrieben werden.

Es ist eine Kingston: die bekomme ich nicht mal nach 3 Jahren 5 Tage die
Woche mit Linbo drauf rumschrubben kaputt…

Viele Grüße

Holger

Hallo Holger,

der USB Stick hält sehr lange, da der Hypervisor sowiso im RAM läuft:
Schreibzugriffe gibt es da nur, wenn man updates macht.

hm, aber es werden doch auch Logfiles und so geschrieben.
Es gibt zwar sicher keine riesen Schreibdatenmengen im laufenden
Betrieb, aber doch in gewisser Weise mehr oder weniger kontinuierlich.

Den Vorteil vom Hypervisor auf dem USB-Stick sehe ich einfach noch nicht?!?

Der USB Stick ist langsam: dann dauert halt das booten länger: wen
interessiert es.

Ich hab mich damals für eine SSD entschieden: die dürfte auch ewig
leben, weil kaum Daten geschrieben werden.

Es ist eine Kingston: die bekomme ich nicht mal nach 3 Jahren 5 Tage die
Woche mit Linbo drauf rumschrubben kaputt…

Meine Überlegung ist einfach die:
Wenn ich den Hypervisor auf einem einzelnen Medium habe (egal ob HD, SSD
oder Stick), dann muss ich neu aufsetzen, wenn dieses Medium über den
Jordan geht.

Das Basissystem ist sicher bei einem Hypervisor recht schnell
installiert, aber

  1. passiert das sicher dann, wenn man gar keine Zeit hat
  2. muss man dann halt doch noch einiges wieder einrichten
    a) VMs wieder „bekannt machen“ und konfigurieren
    b) externen Zugriff einrichten & absichern
    b) E-Mailbenachrichtigungen konfigurieren
    c) Backup einrichten

und bis man mindestens mal bei 2.a) angekommen ist, läuft gar nichts.

Die Frage für mich ist deshalb eher:
Hypervisor auf’s selbe RAID wie die VMs (so habe ich es bisher)
oder Hypervisor HD mäßig komplett getrennt von den VMs auf ein eigenes RAID?

Was macht (aus welchen Gründen) mehr Sinn?

Viele Grüße
Steffen

Hallo,

Wir nutzen eine ähnliche Lösung wie Holger, ein RAID1 aus SD-Karten. Die stecken in einem Controller, den es für unserer Server gibt. Es ist ein Dell-Server, aber ich denke, dass es das auch für andere Hersteller bzw. herstellerunabhängig gibt.

vG

Hallo,

Wir nutzen eine ähnliche Lösung wie Holger, ein RAID1 aus SD-Karten. Die
stecken in einem Controller, den es für unserer Server gibt. Es ist ein
Dell-Server, aber ich denke, dass es das auch für andere Hersteller bzw.
herstellerunabhängig gibt.

ich visiere wieder einen Supermicro Server an. Mit dem derzeitigen bin
ich total zufrieden.

Da kann man direkt verschiedene RAID-Level auf dem Board wählen, oder
einen zusätzlichen RAID-Controller einbauen. Wir haben im derzeitigen
Server einen Controller von LSI und werden das wieder so wählen.

Auf dem LSI kann ich ja mehrere RAIDs einrichten, z.B: ein RAID 1 für
den Hypervisor mit 2 kleinen SSDs und ein RAID 5 mit 3 großen HDs für
die VMs, oder eben - wie jetzt - nur ein einzelnes RAID 5 für alles.

Mir fehlt für die Entscheidung noch immer die Erleuchtung / Erklärung,
warum ihr alle ein RAID 1 (oder manche eine einzelne SSD) nur für den
Hypervisor habt.

Nur, weil man eine solche SSD aus dem RAID 1 im Falle des Falles in
jeden anderen PC stecken kann und so sofort wieder seinen Hypervisor am
Laufen hat?
Ohne das RAID mit den VMs ist der aber ja auch ziemlich nutzlos…

Kann mich da jemand noch erleuchten?

Viele Grüße
Steffen

Also wir machen es so, dass das System auf einer einzelnen Platte läuft (bisher leider noch keine SSD) und im RAID-10 alle VMs liegen. Im Falle eines Falles hat man imho IMMER etwas downtime … wir sind aber auch kein Flughafen o.ä.

Natürlich müsste ich im Falle eines Systemausfalls Proxmox neu installieren, was aber innerhalb kurzer Zeit geschehen ist. Danach muss ich nur die Kopie meiner /etc/network/interfaces sowie des Verzeichnisses /etc/pve/nodes/pve/qemu-server zurückspielen und anschließend das alte RAID wieder mouten und als Storage einbinden. Damit starten die VMs dann auch wieder …

Natürlich kann man argumentieren, dass man die Systemplatte auch besser absichern sollte, aber ich habe das aus genau den Gründen, die du oben nennst, getrennt gehalten. Wenn z.B. der RAID-Controller ausfällt, haben wir noch einen 2. identischen Controller im Ersatz-Server. Wenn das RAID komplett versagt, hätten wir noch 3 Backups jeder VM auf einer weiteren 2-TB-Platte, die auch als Storage mitläuft.

Ich denke, dass damit genügend Redundanz geschaffen ist … aber andere Meinungen wie man’s besser/anders/eleganter machen kann, finde ich auch interessant.