Warum bietet RAID 1 „Spiegelung keine Leistungsverbesserungen“?

Ich habe immer Software-RAIDs verwendet, entweder von Apple bereitgestellt oder über SoftRAID usw. Ich bin dabei, meine Arrays neu zu zhuzhen und beschloss, vorher ein wenig zu recherchieren … und auf der Website von Apple gibt es eine klare Aussage …

RAID 1 (Spiegelung) für Festplattenredundanz

Die Spiegelung verbessert die Zuverlässigkeit, indem dieselben Daten auf zwei oder mehr Festplatten geschrieben werden. Sollte ein Festplattenmechanismus ausfallen, enthält die zweite Platte noch alle Daten. Für die Spiegelung werden mindestens zwei Festplatten benötigt. Die Spiegelung bietet keine Leistungsverbesserungen. Wenn die Festplatten nicht die gleiche Kapazität haben, entspricht die kleinere Größe dem Speicherplatz, der auf beiden Laufwerken verwendet wird. Das Festplatten-Dienstprogramm bestimmt dies automatisch.

Ich hatte immer den Eindruck, dass, da es ZWEI Platten für READ-Vorgänge gibt, die READ-Leistung mit einem RAID1-Spiegel mit 2 Laufwerken etwas verbessert würde . Dies steht im Gegensatz zur Schreibgeschwindigkeit, die die GLEICHE bleibt, da beide Laufwerke zur Commit-Zeit dieselben Daten schreiben müssen, um eine gespiegelte Kopie der Daten aufrechtzuerhalten. Beim Lesen hatte ich jedoch gedacht, dass sich das Array ähnlich wie ein RAID0 verhält und die Lesevorgänge auf beide Laufwerke verteilt .

Wie soll RAID1 funktionieren ? Wenn ja, ist Apple..

  1. nur sagen, es gibt keine Verbesserung, um ihre Ärsche zu bedecken, oder
  2. Implementieren sie RAID 1 tatsächlich nicht in vollem Umfang? (Behauptet SoftRaid 4.3, dies zu tun?)

Laut Wikipedia…

Bei RAID 1 (Spiegelung ohne Parität oder Striping) werden Daten identisch auf zwei Laufwerke geschrieben, wodurch ein „gespiegelter Satz“ entsteht; … Das Array arbeitet weiter, solange mindestens ein Laufwerk funktioniert. Bei entsprechender Betriebssystemunterstützung kann die Leseleistung gesteigert und die Schreibleistung nur minimal reduziert werden ;…

Es ist also möglich, aber Apple sagt, dass es keinen Geschwindigkeitsvorteil gibt ... Aber gibt es in der Praxis eine messbare Geschwindigkeitssteigerung für Lesevorgänge mit Software Raid 1 (über das Festplattendienstprogramm)?

Antworten (4)

Meine Vermutung wäre, dass Apple es vorzieht, dass ein Laufwerk nur Schreibprozesse als Backup verarbeitet und von dem Laufwerk liest / schreibt, das es als Hauptlaufwerk betrachtet. Warum das so ist, habe ich absolut keine Ahnung. Scheint irgendwie ein großes Versehen ihrerseits zu sein. Ich hatte immer das Gefühl, dass Software-RAID auf der Prioritätenliste von Apple ziemlich weit unten steht.

Dies nennen wir Implementierungsdetails.

Sie können RAID 1 auf verschiedene Arten implementieren, Apple hat sich dafür entschieden, es auf eine Weise ohne Geschwindigkeitsgewinne zu implementieren.

Es IST eine Auslassung einer "Funktion", die "normalerweise mit RAID1 implementiert" wird. Dies ist jedoch kein "Implementierungsdetail", sondern eine "Entwurfsentscheidung".

Für Redundanz und Leistung lenkt Apple Sie zu RAID 10. Ich habe ein Array mit 4 Festplatten erstellt, indem ich ein gespiegeltes Paar gestreifter Festplatten erstellt habe, die ich dann in ein Kernspeichervolume konvertiert habe, um eine spätere einfachere Erweiterung und FileVault zu ermöglichen.

Ich kann beobachten, wie Daten mit auf beide Streifen geschrieben werden, iostataber wenn ich lese, wird dies vermutlich durch abstrahiert cs, da ich sehe, dass beim Lesen null Bytes von denselben Geräten kommen. Der Aktivitätsmonitor zeigt den Durchsatz von Lese- und Schreibvorgängen auf allen Volumes an, iostatlässt mich anscheinend kein csVolume als Gerät verwenden.

Wenn Sie neugierig sind, wie ich mein RAID-Set eingerichtet habe, lautet mein endgültiger Volume-Name „cornballer“, also habe ich die gestreiften Geräte „cb1“ und „cb2“ genannt.

Disk Utility RAID-Zeug

AppleRAID sets (3 found)                                                                                                                                                                                                             [16/1799]
===============================================================================
Name:                 cbs1
Unique ID:            1E127495-1FDE-4521-A941-5E5DC31245DD
Type:                 Stripe
Status:               Online
Size:                 2.0 TB (1999721791488 Bytes)
Rebuild:              manual
Device Node:          -
-------------------------------------------------------------------------------
#  DevNode   UUID                                  Status     Size
-------------------------------------------------------------------------------
0  disk5s2   AA501823-4955-473B-A27E-0EEA9E75072A  Online     999860895744
1  disk6s2   A6486548-3E07-4C0F-8F88-BE909D23DC22  Online     999860895744
===============================================================================
===============================================================================
Name:                 Untitled
Unique ID:            C9E220C8-418B-4BF4-81A2-627CC95AB7B4
Type:                 Mirror
Status:               Online
Size:                 2.0 TB (1999721758720 Bytes)
Rebuild:              automatic
Device Node:          disk9
-------------------------------------------------------------------------------
#  DevNode   UUID                                  Status     Size
-------------------------------------------------------------------------------
0  -none-    1E127495-1FDE-4521-A941-5E5DC31245DD  Online     1999721758720
1  -none-    2B52C67D-801E-4481-A76B-F98FF28C13B5  Online     1999721758720
===============================================================================
===============================================================================
Name:                 cbs2
Unique ID:            2B52C67D-801E-4481-A76B-F98FF28C13B5
Type:                 Stripe
Status:               Online
Size:                 2.0 TB (1999721791488 Bytes)
Rebuild:              manual
Device Node:          -
-------------------------------------------------------------------------------
#  DevNode   UUID                                  Status     Size
-------------------------------------------------------------------------------
0  disk7s2   890A3BB9-94CB-4E02-8580-5F16D94890FF  Online     999860895744
1  disk8s2   71C4DE7E-6EC2-4660-9CDA-0ED31574925D  Online     999860895744
===============================================================================

Kernspeicher-Zeug:

CoreStorage logical volume groups (2 found)
|
+-- Logical Volume Group FA60C2D3-1129-46B1-BE53-5BC7882904EB
|   =========================================================
|   Name:         lindsayLVG
|   Status:       Online
|   Size:         1999721758720 B (2.0 TB)
|   Free Space:   0 B (0 B)
|   |
|   +-< Physical Volume C9E220C8-418B-4BF4-81A2-627CC95AB7B4
|   |   ----------------------------------------------------
|   |   Index:    0
|   |   Disk:     disk9
|   |   Status:   Online
|   |   Size:     1999721758720 B (2.0 TB)
|   |
|   +-> Logical Volume Family 135BA843-4D11-4DBE-82A4-4155B38FCC9D
|       ----------------------------------------------------------
|       Encryption Status:       Unlocked
|       Encryption Type:         AES-XTS
|       Conversion Status:       Complete
|       Conversion Direction:    -none-
|       Has Encrypted Extents:   Yes
|       Fully Secure:            Yes
|       Passphrase Required:     Yes
|       |
|       +-> Logical Volume CC7C3863-D3EE-495C-BDD5-06223560E072
|           ---------------------------------------------------
|           Disk:               disk16
|           Status:             Online
|           Size (Total):       1999402983424 B (2.0 TB)
|           Size (Converted):   -none-
|           Revertible:         No
|           LV Name:            cornballer
|           Volume Name:        cornballer
|           Content Hint:       Apple_HFS
|
Hallo. Sie scheinen mit all diesen CoreStorage-Sachen ziemlich vertraut zu sein. Können Sie bitte meine Frage überprüfen und einige Vorschläge machen? apple.stackexchange.com/questions/95955/…
Ihre Frage weist nicht darauf hin, dass Sie Core Storage verwenden. Wenn Sie Core Storage verwenden, können Sie ohne Neustart Geräte zu einer Familie logischer Volumes hinzufügen, wenn Sie danach fragen.
Ja, mein Setup hat CoreStorage nicht implementiert. Und ja, ich frage, ob CoreStorage helfen würde. Und es scheint, dass es könnte. Danke. Ich werde tiefer in CoreStorage eintauchen. Ich habe zwei Monate Urlaub, das reicht. Danke noch einmal!

Dieser Leistungsmangel bei der Leseverbesserung gegenüber einem 2-Festplatten-RAID-1 ist definitiv eine Designentscheidung. Ich habe buchstäblich jahrzehntelang fast den doppelten Lesedurchsatz auf OpenVMS-Systemen mit Software-RAID-1 gemessen, insbesondere mit separaten Controllern für jedes Mitglied des Mirror-Sets (das OpenVMS zu Ihrer Information als Shadow-Set bezeichnet).

FYI: Wenn Ihr Ziel ausschließlich darin besteht, den Lesedurchsatz zu verbessern, können Sie dies mit einem einzelnen Controller (oder I/O-Kanal) tun, der mehr als doppelt so schnell ist wie die einzelnen Laufwerke in einem Mirror (RAID-1); mit separaten Controllern (E/A-Kanälen) erhalten Sie jedoch auch eine etwas bessere Fehlertoleranz ... solange das Betriebssystem den fortgesetzten Betrieb unterstützt, wenn ein Controller ausfällt.