Praktische RAID-Leistung?

5713
wag2639

Ich habe immer gedacht, dass das Folgende eine allgemeine Faustregel für RAID ist:

  • RAID 0: Beste Leistung für READ und WRITE durch Stripping, größtes Risiko
  • RAID 1: Redundant, anständig für READ (ich glaube, es kann verschiedene Teile einer Datei von verschiedenen Festplatten lesen), nicht das beste für WRITE
  • RAID 0 + 1 (01): kombiniert die Redundanz von RAID 1 mit der Leistung von RAID 0
  • RAID 1 + 0 (10): etwas bessere Version von RAID 0 + 1
  • RAID 5: Gute READ-Leistung, schlechte WRITE-Leistung, redundant

IST DIESE ANNAHME RICHTIG? (und wie können sie mit einem JBOD-Setup für die R / W-IO-Leistung verglichen werden)

Sind bestimmte praktische RAID-Setups für verschiedene Anwendungen besser geeignet: Spiele, Videobearbeitung, Datenbank (Acccess oder SQL)?

Ich habe über Festplatten nachgedacht, aber gilt das auch für Solid-State-Laufwerke?

8
Mein Verständnis für die Redundanz jeder RAID-Klasse ist ziemlich gut. Ich bin nur unschlüssig hinsichtlich der Lese- und Schreib-E / A-Leistung. wag2639 vor 14 Jahren 0
Ich weiß, dass JBOD weder Leistung noch Redundanz bietet. Ich habe es gerade als Basisreferenz erwähnt. wag2639 vor 14 Jahren 0

3 Antworten auf die Frage

12
bubu

Überfall 0 . Große Lese- und Schreibgeschwindigkeit. Das Ausfallrisiko stieg mit zunehmender Anzahl der Mitgliedsdatenträger. Keine Parität

Überfall 1 . Hohe Lesegeschwindigkeit nur, wenn der Treiber ordnungsgemäß implementiert ist - Wenn Sie Areca- und LSI-RAID-Controller verwenden, können diese fast die gleiche Lesefähigkeit für Raid 1-Sets bieten wie Raid 0-Sets (innerhalb von 10%). Beachten Sie, dass es für Software-Raid-Lösungen zwei Typen gibt: Betriebssystemsoftware und Motherboard-Software.

Die meisten Raid-Mainboard-Typen bieten keine gute Leseleistung für Raid 1. Letztes Mal habe ich Windows und Linux überprüft und hatte auch keine gute Implementierung von Raid 1-Reads. BSD hatte eine korrekt implementierte Raid 1-Implementierung, die die Roundrobin-Lesemethode verwendet.

Kurz gesagt, verwenden Sie Raid 1 für Redundanz und für Lesegeschwindigkeit, wenn Sie erweiterte Controller verwenden.

Überfall 1/0 und Überfall 0/1 . Dies ist eine Kombinationssache. Nehmen wir an, Sie haben 10 Platten. Bei Raid 1/0 handelt es sich um einen Spiegel in jedem Satz: Set A (1 + 2), Set B (3 + 4), Set C (5 + 6), Set D (7 + 8), Set E (9+) 10), dann Streifen über die 5 Sätze (AE) ausführen. Auf diese Weise kann bei jedem Satz ein Laufwerkfehler auftreten. Wenn jedoch zwei Laufwerke im selben Satz ausfallen, sind Sie fertig.

Raid 0/1 ist das, um den Streifen A (1 + 2 + 3 + 4 + 5) und B (6 + 7 + 8 + 9 + 10) einzustellen und die beiden Sätze zu spiegeln. Wenn Laufwerk 2 und 9 ausfallen, wird dies von den meisten Controllern als Totalausfall betrachtet (bei dem Sie immer noch alle Daten haben).

Es gibt wenig Leistungsunterschiede zwischen den beiden, aber ich glaube nicht, dass Sie normalerweise beides von einem Raid-Controller bekommen.

Überfall 5 . ein sehr gemischter Beutel: Für sequentielle Lesevorgänge ist es schneller als Schlachtzug 1/0, und für das zufällige Lesen ist es etwas langsamer. Beachten Sie, dass die Leistung von RAID 5 sehr stark von der Geschwindigkeit des Controllers abhängt (zB können Sie bei einem RAID-Angriff nicht viel erwarten).

Überfall 6 . Redundanz gegenüber Raid 5 erhöht. Zwei Laufwerke können jederzeit ausfallen. Wenn das Array nach einem Ausfall eines Laufwerks wiederhergestellt wird, besteht immer noch Redundanz. Beachten Sie, dass das Array bei Ausfall eines RAID-5-Laufwerks dem RAID-RAID 0 ähnelt ).

JBOD . Kein Vorteil, den ich mir vorstellen kann.

Danke .. also von was ich lese, mit allgemeinen Consumer-Motherboards mit dem Ziel des Performance-Spiels, ist RAID 0 am besten, ohne einen separaten dedizierten RAID-Controller zu bekommen? (es ist mir egal, ob ich os + programme neu installieren muss und die daten woanders sein werden, möglicher überfall 5 array) wag2639 vor 14 Jahren 0
du bist sehr richtig Ich befürchte jedoch, dass die Leistung bei der Verwendung von Motherboard-Raids sich nicht sehr von der Verwendung von OS-basierter Software-Raids unterscheidet (obwohl der Unterschied natürlich darin besteht, dass Ihr Systemlaufwerk nicht in OS-basierten Software-Raids überfallen werden kann). Außerdem ist die Leistung von raid5 im Motherboard-Raid erbärmlich (in einigen Fällen sogar um 15-20 MB / s!). bubu vor 14 Jahren 2
2
Jeremy

As your question implies, there is not really a "best" RAID configuration, only best for a particular set of circumstances, with cost often being one of the most important factors.

Without going into the minutiae of controllers and software, here would be my rules of thumb.

RAID 0 is the fastest since you can read from and write to many disks at once, and no space is "wasted" for redundancy. Lose any disk and you lose the set, so RAID 0 should only be used on a machine you do not care about, or is easy to restore and does not contain data you value. A gaming machine might fit this scenario, though honestly, the speed difference is not so noticeable that I would be willing to accept the increased risk of having to rebuild the machine. It can also be useful for really fast "scratch" areas if you have software that needs that sort of thing.

RAID 1 is the very common mirror setup, usually of 2 disks. Reads are generally just shy of twice as fast as a single disk, while writes are just a bit slower than a single disk. On servers, RAID 1 is an excellent choice for your operating system files. It is also a good choice when you need redundancy, your storage needs are not so great as to require RAID 5 and you might benefit from the extra read speed (database log files are commonly placed on RAID 1).

RAID 2 through 4 (not in the question) are generally unused except by certain vendors' products on the the enterprise side.

RAID 5 is a compromise between not wasting too much space on redundancy and still getting the added performance of extra disks. Read speeds are very good since all the disks can participate. Write speeds can sometimes be a problem with RAID 5, though I think this is sometimes overstated depending on the situation. Even with hardware that does the parity calculations, small random writes suffer on RAID 5 since each logic write operation requires 4 I/Os (read from data disk, read from parity disk, write data disk, write parity disk). Pick RAID 5 when you want to maximize the amount of storage you get out of a disk set while still having a good degree of safety. Avoid when your application has high performance needs and requires lots of small random writes (virtual machine hard disks, database data files). Also be aware that modern large disks take a loooooong time to rebuild when they fail as part of a RAID 5 set, and that puts your data at risk longer for a second disk failure. RAID 6 can reduce this risk at the expense of even worse random write performance.

RAID 1/0 and 0/1 have pretty much the same performance characteristics. 1/0 is preferable though because a failure means rebuilding only the pair of disks involved rather than an entire stripe of disks. RAID 1/0 is the fastest general purpose configuration of the ones mentioned in the question. Read and write performance are both great (reads can happen from all disks at once essentially, writes have to happen to multiple disks but no read/read/write/write cycle needed like RAID 5) though RAID 5 can win in certain circumstances. RAID 1/0 is (unsurprisingly) also the most expensive in nearly all cases. It should only be used when performance is critical, the data is highly valuable, and the application has no tolerance for down time. Often database servers (or at least their data files) make good candidates for RAID 1/0. I also prefer to put virtual machines on RAID 1/0 if there are going to be a lot of them or they run disk intensive applications that I really care about.

Solid State Drives can indeed be put into RAID configurations, particularly for its redundancy value. Many SSDs can outperform the bus (SATA) they are attached to though, especially for read operations, so the performance effect of RAID is less compelling with SSDs.

0
Nick

If you purchase a hardware raid controller go with RAID5. It has the least overhead and the hardware raid controller will almost eliminate the write overhead penalty since it calculates the parity bits in hardware. Raid5 also reads off multiple disks simultaniously improving read and write speed.

Yes, this also applies to Solid state drives as well. A test of SSDs in Raid0 showed almost linear speed increases.

Raid5 is by far the most used technology in the server world, but for just a laptop with only 2 hard drives I'd suggest raid1 mirrored.

JBOD has no redundancy in case a hard drive fails but depending on the settings can stripe the data to increase performance like raid.

JBOD kann normalerweise nicht strippen, da es für die Verwendung mit Festplatten unterschiedlicher Größe konzipiert wurde. Wenn Sie dieselbe Größe haben, sollten Sie bereits RAID 1 oder RAID 0 verwenden. Darth Android vor 14 Jahren 1