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 …
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..
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)?
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.
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, iostat
aber 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, iostat
lässt mich anscheinend kein cs
Volume 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.
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
===============================================================================
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
|
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.
alex grau