andreasoc
Goto Top

SQL Entwicklungsserver mit RAID1 oder RAID5

Hallo,

wir haben einen neuen Server und ein neues SAN. Im SAN sind 6x 1,2TB Platten. Es sollen zwei virtuelle Entwicklungsserver auf dem Server laufen, welche hauptsächlich mit SQL Server und deren DBs zu tun haben werden. Nun überlege ich noch ob ich zwei RAID5 für beide VMs anlege oder mehrere RAID1. Habe bereits einige Berichte gelesen und mal heißt es man soll RAID5 nutzen und dann wieder das wäre für SQL Zwecke zu langsam. Insgesamt geht es mir mehr um die Lesezugriffe als um Schreibzugriffe, daher sollte RAID5 doch das richtige für uns sein oder?

Content-Key: 336275

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

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

Member: SeaStorm
SeaStorm Apr 27, 2017 at 10:08:24 (UTC)
Goto Top
Hi
ganz prinzipiell hat ein SQL auf einem RAID5 nichts verloren. Dabei geht es vor allem um die Schreibzugriffe des SQL Servers. Durch die Art und Weise, wie RAID5 schreibt kommt ein Raid5 da ruckzuck an seine Grenzen.
Wenn das ganze primär lesend erfolgt ist das weniger das Problem.

Wenn du 4 Platten für den SQL hat, solltest du lieber ein RAID10 machen
Member: Cornitus
Cornitus Apr 27, 2017 at 10:38:55 (UTC)
Goto Top
Hallo,

ich würde ebenfalls ein RAID10 empfehlen und zwar über alle Platten im Server. Wenn du dennoch ein RAID5 nehmen möchtest dann achte wenigstens darauf das du einen sehr guten RAID Controller nimmst der die Paritätsberechnungen dann auch mit einem entsprechend schnellen Prozessor abarbeiten kann.

Grüße
Member: Dr.EVIL
Dr.EVIL Apr 28, 2017 at 12:18:44 (UTC)
Goto Top
Wie so häufig bei IT Fragen lautet die Antwort "Es kommt darauf an..."!
RAID5(0) wird in erster Linie deshalb verwendet um gegenüber RAID1(0), mehr Nettokapazität zu erreichen und die Verfügbarkeit zu erhöhen.
Spielen diese Faktoren eine untergeordnete Rolle und man möchte vorallem einen schnellen Speicher nutzen, bei dem zumindest eine Platte ausfallen darf, ist man bei RAID1(0) immer auf der sicheren Seite.
Wenn die SQL Datenbank vorallem lesend auf den Storage zugreift, würde ich zu einem RAID Controller mit großem Cache greifen. Einige Controller bieten zudem die Möglichkeit den internen Cache Speicher mit SSD zu erweitern. Solche Konfigurationen (RAID1 + SSD FlashCache) erreichen in vielen Fällen nahezu die Geschwindigkeit eines reinen SSD Speichers...
Member: Cornitus
Cornitus Apr 28, 2017 at 12:28:45 (UTC)
Goto Top
Zitat von @Dr.EVIL:

Wie so häufig bei IT Fragen lautet die Antwort "Es kommt darauf an..."!
RAID5(0) wird in erster Linie deshalb verwendet um gegenüber RAID1(0), mehr Nettokapazität zu erreichen und die Verfügbarkeit zu erhöhen.
Spielen diese Faktoren eine untergeordnete Rolle und man möchte vorallem einen schnellen Speicher nutzen, bei dem zumindest eine Platte ausfallen darf, ist man bei RAID1(0) immer auf der sicheren Seite.
Wenn die SQL Datenbank vorallem lesend auf den Storage zugreift, würde ich zu einem RAID Controller mit großem Cache greifen. Einige Controller bieten zudem die Möglichkeit den internen Cache Speicher mit SSD zu erweitern. Solche Konfigurationen (RAID1 + SSD FlashCache) erreichen in vielen Fällen nahezu die Geschwindigkeit eines reinen SSD Speichers...

Hallo,

ich will dir ja nicht zu nahe treten aber aufgrund der höheren Nettokapazität wählt sicher keiner ein RAID5. Nicht bei den günstigen Preisen für Speicher. Außerdem können bei RAID10 zwei Platten ausfallen (solange es nicht die zwei gespiegelten sind) und bei RAID5 nur eine. Da musst du mir deine Verfügbarkeitslogik mal erklären. Bei dem "Es kommt drauf an..." bin ich aber voll bei dir face-smile.

Grüße
Member: Dr.EVIL
Dr.EVIL Apr 28, 2017 at 13:29:55 (UTC)
Goto Top
Ich denke schon, das RAID5 (beziehungsweise RAID50) Vorteile bei der Nettokapazität und der Verfügbarkeit bringt!

Von beispielsweise 10 1TB Platten bleiben im RAID10 nur 5TB Nettokapazität übrig.
Bei einem RAID50 aus zwei 4+1 RAID5 Sets, erhält man immerhin 8TB! (3 Platten "geschenkt") face-wink
Bei beiden RAID dürfen (bis zu... !) zwei Platten ausfallen...

Ich bin übrigens bei größeren Platten (>1TB) ein Freund von RAID6!
Die Chance, das eine weitere Platte während eines längeren Rebuilds ausfällt, ist nach ein paar Betriebsjahren sehr hoch. Bei RAID10 ist dies sogar mit hoher Wahrscheinlichkeit die Platte, welche die Spiegeldaten der defekten Platte enthält...

Mit der erwähnten "FlashCache" (o.ä) Technik kann man zudem den Nachteil der geringeren Schreibleistung der höheren RAID Level in vielen Fällen ausgleichen.

Im Fall des TO mit 6x1,2TB Platten bleibt allerdings nur der Rat zum RAID10...
...Es sei denn, man kann die sechs 1,2TB Platten gegen bspw. zwölf 600GB Platten tauschen!
Hierdurch würde die Leistung des Arrays nahezu verdoppelt und man kann diese Mehrleistung in eine höhere Datensicherheit stecken.
Member: Cornitus
Cornitus Apr 28, 2017 at 13:50:04 (UTC)
Goto Top
RAID50 ist aber nicht RAID5 und darum ging es. Das bei einem RAID50 ebenfalls zwei Platten ausfallen können, ist klar.

RAID10 bietet die schnellere Rebuild-Variante da keine Paritäten berechnet werden müssen. Es ist also immer schneller als bei einem RAID5 bzw. RAID50. Und das ist nicht nur "ein wenig" schneller sondern deutlich schneller.

Wieso sollte die Wahrscheinlichkeit höher sein das die Platte mit dem Spiegel ausfällt als eine andere aus dem RAID?

Grüße
Member: Dr.EVIL
Dr.EVIL May 02, 2017 at 09:27:08 (UTC)
Goto Top
Ich habe nie RAID5 erwähnt, sondern spreche fast immer von "RAID5(0)"
Die Berechnung der Parität ist bereits seit etlichen Jahren ohne nennenswerte Verzögerung möglich. Die Rechengeschwindigkeit der Controller reicht, von wenigen Onboard- oder Billig-Controllern abgesehen, locker aus!
Eine Verzögerung tritt nur dadurch ein, das beim Schreiben immer ein "Backend I/O" durch die Parität mitgeschrieben werden muss. Daher sind RAID1(0) Array beim Schreiben immer im Vorteil.

Die Wahrscheinlichkeit das eine gespiegelte Platte während des Rebuilds ausfällt ist deshalb höher, weil die mechanische Belastung der Platte während des Rebuild Prozesses plötzlich ansteigt. Eine Platte die jahrelang eher im "Idle" Betrieb vor sich hin arbeitete fällt, wenn überhaupt zumeist genau dann aus. Da beim Rebuild Prozess in einem RAID10 Verbund die anderen Platten nicht beteiligt sind erwischt es daher mit hoher Wahrscheinlichkeit genau die Platte die bei RAID10 nicht ausfallen darf!
Dies ist bei den anderen RAID Verbünden (RAID3,4 oder ähnlich Exoten mit dedizierter Parity-Disk mal abgesehen) nicht viel anders.
Nur hier ist die Chance das durch den zweiten Plattencrash ein Totalverlust auftritt geringer, wenn man genügend Platten zur Redundanz vorsieht.
Geschwindigkeitsnachteile beim schreiben können heute durch die erwähnten Flash-Beschleunigungstechniken und "intelligente" Cache Algorithmen gegenüber einem einfachen RAID1(0) Verbund, weitgehend ausgegelichen werden.

Ich setze daher RAID1(0) nur noch bei einfachen "Read Intensive" SSDs ein, bei denen die Backend I/Os von RAID5 und RAID6 zu einer relevanten verkürzung der Lebensdauer führen.,