¿Por qué RAID 1 "Mirroring no proporciona mejoras de rendimiento"?

Siempre he usado software RAID, ya sea proporcionado por Apple o a través de SoftRAID, etc. Estoy a punto de volver a zhuzh mis arreglos y decidí investigar un poco de antemano... y en el sitio de Apple, hay una declaración, clara como el agua...

RAID 1 (duplicación) para redundancia de disco

La duplicación mejora la confiabilidad al escribir los mismos datos en dos o más discos. Si un mecanismo del disco duro falla, el segundo disco aún contiene todos los datos. Se requieren al menos dos discos duros para duplicar. La duplicación no proporciona mejoras de rendimiento. Si los discos duros no tienen la misma capacidad, el tamaño más pequeño será la cantidad de espacio en disco utilizado en ambas unidades. La Utilidad de Discos determina esto automáticamente.

Siempre tuve la impresión de que, dado que hay DOS platos para las operaciones de LECTURA, el rendimiento de LECTURA con un espejo RAID1 de 2 unidades mejoraría un poco . Esto contrasta con la velocidad de escritura, que sigue siendo la MISMA, ya que las unidades tienen que escribir los mismos datos en el momento de la confirmación, para mantener una copia reflejada de los datos. Sin embargo, al leer, pensé que la matriz actuaba de manera similar a un RAID0, dividiendo las lecturas en ambas unidades .

¿ Cómo se supone que funciona RAID1? Si es así, es Apple...

  1. solo diciendo que no hay mejora para cubrirse el culo, o
  2. ¿realmente no están implementando RAID 1 en toda su extensión? (¿SoftRaid 4.3 pretende hacer esto?)

Según wikipedia…

En RAID 1 (duplicación sin paridad ni fragmentación), los datos se escriben de forma idéntica en dos unidades, lo que produce un "conjunto duplicado"; … El arreglo continúa funcionando mientras esté funcionando al menos una unidad. Con el soporte adecuado del sistema operativo, puede aumentar el rendimiento de lectura y solo una reducción mínima del rendimiento de escritura ;...

Así que es posible, pero Apple dice que no ve ningún beneficio de velocidad... Pero en la práctica, ¿hay algún aumento medible en la velocidad de lectura con Software Raid 1 (a través de la Utilidad de disco)?

Respuestas (4)

Mi suposición sería que Apple prefiere tener una unidad que maneje solo procesos de escritura como copia de seguridad y lectura/escritura desde cualquiera que considere la unidad principal. En cuanto a por qué es esto, no tengo absolutamente ninguna pista. Parece un poco como un gran descuido de su parte. Siempre he tenido la sensación de que el software RAID está bastante bajo en la lista de prioridades de Apple.

Estos son lo que llamamos detalles de implementación.

Puede implementar RAID 1 en una variedad de formas, Apple elige implementarlo de manera que no aumente la velocidad.

ES una omisión de una "característica" que "generalmente se implementa" con RAID1 ... pero esto no es un "detalle de implementación", es una "decisión de diseño".

Para la redundancia y el rendimiento, Apple lo dirige hacia RAID 10. Construí una matriz de 4 discos creando un par de discos divididos duplicados que luego convertí en un volumen de almacenamiento central para facilitar la expansión posterior y FileVault.

Puedo ver cómo se escriben los datos en ambas franjas, iostatpero cuando leo, presumiblemente esto se abstrae cs, ya que veo cero bytes saliendo de los mismos dispositivos en la lectura. El Monitor de actividad muestra el rendimiento de lecturas y escrituras en todos los volúmenes, iostatno parece que me permita usar un csvolumen como dispositivo.

Si tiene curiosidad sobre cómo configuro mi conjunto RAID, el nombre de mi volumen final será 'cornballer', así que llamé a los dispositivos rayados 'cb1' y 'cb2'.

Utilidad de discos RAID cosas

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
===============================================================================

Material de almacenamiento central:

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
|
Hola. Parece estar bastante familiarizado con todas estas cosas de CoreStorage. ¿Puedes revisar mi pregunta y darme algunas sugerencias? apple.stackexchange.com/questions/95955/…
Su pregunta no indica que esté utilizando Core Storage. Si está utilizando Core Storage, puede agregar dispositivos a una familia de volúmenes lógicos sin reiniciar, si eso es lo que está preguntando.
Sí, mi configuración no implementó CoreStorage. Y sí, estoy preguntando si CoreStorage ayudaría. Y parece que podría. Gracias. Profundizaré en CoreStorage. Tengo unas vacaciones de dos meses, eso servirá. ¡Gracias de nuevo!

Esta falta de rendimiento de la mejora de lectura de un RAID-1 de 2 discos es definitivamente una decisión de diseño. Literalmente, durante décadas, he medido casi el doble del rendimiento de lectura en los sistemas OpenVMS con el software RAID-1, particularmente con controladores separados para cada miembro del conjunto Mirror (que, para su información, OpenVMS llama conjunto Shadow).

FYI: Si su objetivo es únicamente mejorar el rendimiento de lectura, puede hacerlo con un solo controlador (o canal de E/S) que es más del doble de rápido que las unidades individuales en un espejo (RAID-1); sin embargo, con controladores separados (canales de E/S) también obtiene una mejor tolerancia a fallas... siempre y cuando el sistema operativo admita operaciones continuas cuando falla un controlador.