Arreglos de Discos RAID – Comparativa Rendimientos en Sistema de Escritorio

Hace un tiempo tuve que reconstruir mi ambiente de laboratorio debido a una falla fatal del “motherboard”. Antes de hacer la nueva instalación estuve buscando información en Internet para ver cómo me convenía armar un arreglo con los cuatro discos mecánicos que dispongo, y encontré un enlace a una página muy buena para tener una idea comparativa de rendimiento entre los diferentes formas de poder armar el arreglo de discos inclusive teniendo en cuenta la cantidad de discos

Si, por supuesto, sé que existen los discos de estado sólido, pero cuando se necesita gran capacidad, y además teniendo en cuenta que en algunos países el costo puede ser prohibitivo tener múltiples discos grandes de estado sólido, me mantengo con discos mecánicos, lo más rápidos que da mi presupuesto

Primero que nada, aclarar que lo utilizo sólo como comparativa entre los diferentes arreglos que se pueden crear con una cantidad de discos, y además que esto está pensado para una máquina individual que uso como ambiente de pruebas virtualizado en las notas del blog, o sea que no tiene relación a un servidor productivo donde hay otras situaciones totalmente diferentes, por ejemplo accesos concurrentes a disco y donde se debe garantizar la disponibilidad

La información la he obtenido del siguiente enlace donde creo han hecho un buen trabajo: http://www.overclock.net/t/886768/samsung-spinpoint-f4-intel-ich10r-raid-tests
Mi labor se ha limitado a que en lugar de gráficos hacer una tabla numérica que me permite comparar más fácilmente los valores

Las pruebas de este enlace comparativo están hechas sobre una única máquina, y con hasta 6 discos mecánicos en uso, pero hay pruebas desde 2 en adelante, y yo aprovecharé para el uso de los 4 que dispongo

Hay además dos detalles a tener en cuenta:

  • Dispongo de 4 discos, pero uno lo utilizo para el sistema operativo y aplicaciones, y dejo los otros 3 para los datos. Entre otros motivos porque pienso que tendré mejor rendimiento, y además facilita las copias de seguridad. En mi caso los datos son las máquinas virtuales que llevaría tiempo reconstruir pero que no sería imposible
  • Una de las decisiones importantes a tener en cuenta es si deseamos tener tolerancia a fallas o no, ya que esto tiene un costo en el espacio de almacenamiento

Por mi parte opté por no implementar tolerancia a fallas mediante arreglos de discos para las máquinas virtuales, para privilegiar el espacio disponible y el rendimiento, pero cada uno debe analizar su propio entorno. Además de la necesidad de múltiples discos, un RAID1 tiene bajo aprovechamiento de espacio, y RAID5 no tiene el mejor rendimiento

Del disco del sistema operativo hago copia de seguridad frecuente, y del arreglo de discos donde guardo las máquinas virtuales no lo hago simplemente por no poder disponer de capacidad de almacenamiento suficiente. En el caso de perder las máquinas virtuales utilizadas en estas notas, llevará su tiempo rehacerlas pero no es algo que no pueda recuperar con un poco de trabajo, pero de todas formas tengo copia de seguridad de todas las máquinas virtuales “Base” ya que todas las que ven en las notas no son otra cosa que “clones” de estas “bases”

Entiendo que cada uno de los lectores sabe de qué se trata, cómo trabajan, ventajas e inconveniente de cada tipo de arreglo de discos en RAID. Y si necesitan alguna ayuda “para eso está Internet y un buen buscador” :)
Alcanza con aclarar que RAID0 es el único que no provee tolerancia a fallos, aunque como es sabido es el que provee mejor rendimiento, y por eso lo utilizo dada mi situación

La información de la nota fue obtenida mediante HD-Tune Pro v4.6, y el hardware utilizado fue: 2TB Samsung Spinpoint F4 HD204UI drives en motherboard Gigabyte X58A-UD5 Rev 2.0 con Intel ICH10R SATA RAID controller
No me interesa obtener los mismos valores, sólo comparar rendimiento entre los diferentes arreglos. En mi caso utilizo discos WD 1TB-Black 7200rpm

Esta es la tabla que he armado en base a los datos del enlace que he puesto antes

Single Disk
READ Min Max Avg AccTime Burst Rate CPU Usage
Single Disk 61,9 136,3 104,1 15,9 199,1 0,90%
WRITE Min Max Avg AccTime Burst Rate CPU Usage
Single Disk 61,9 159,8 103,5 14,6 172,4 0,90%
RAID0
READ Min Max Avg AccTime Burst Rate CPU Usage
RAID0 (2 disks) 114,1 256,6 188,8 19,8 4146,9 2,30%
RAID0 (3 disks) 154,9 361,1 271,9 18,2 3951,5 2,70%
RAID0 (4 Disks) 147,6 466,7 340,3 18,3 3990,5 3,20%
RAID0 (5Disks) 230,2 541,7 413,8 19,2 3509,4 3,40%
RAID0 (6Disks) 284,3 537,3 436,9 22,8 3725,8 3,10%
WRITE Min Max Avg AccTime Burst Rate CPU Usage
RAID0 (2 disks) (1) 102,5 242,0 195,0 14,2 4122,4 2,40%
RAID0 (2 disks) (2) 117,7 315,9 199,2 13,1 4176,4 1,70%
RAID0 (3 disks) (1) 77,4 256,8 220,7 8,9 3360,0 2,50%
RAID0 (3 disks) (2) 166,7 466,7 294,6 8,2 4112,9 2,40%
RAID0 (4 Disks) (1) 118,7 252,6 224,4 4,4 3751,9 2,80%
RAID0 (4 Disks) (2) 213,9 610,1 385,5 3,0 4174,0 3,20%
RAID0 (5Disks) (1) 194,4 252,4 225,7 1,6 3454,8 2,80%
RAID0 (5Disks) (2) 211,4 617,5 478,5 0,6 3977,5 3,80%
RAID0 (6Disks) (1) 188,0 251,0 225,8 0,4 3736,8 2,70%
RAID0 (6Disks) (2) 341,7 623,4 548,2 0,0 4049,3 4,40%
RAID1
READ Min Max Avg AccTime Burst Rate CPU Usage
RAID1 (2 disks) 50,4 127,5 93,7 17,4 4664,3 1,30%
WRITE Min Max Avg AccTime Burst Rate CPU Usage
RAID1 (2 disks) (1) 58,9 136,7 100,6 31,8 4194,7 1,50%
RAID1 (2 disks) (2) 53,6 158,5 99,8 34,6 4177,3 1,80%
RAID10
READ Min Max Avg AccTime Burst Rate CPU Usage
RAID10 (4 disks) 92,2 202,6 162,8 16,7 4109,5 2,00%
WRITE Min Max Avg AccTime Burst Rate CPU Usage
RAID10 (4 disks) (1) 112,1 230,0 289,9 16,7 3521,2 3,80%
RAID10 (4 disks) (2) 112,3 299,6 191,5 16,2 4184,6 3,10%
RAID5
READ Min Max Avg AccTime Burst Rate CPU Usage
RAID5 (6 disks) 133,0 288,1 210,7 17,6 3924,8 2,70%
WRITE Min Max Avg AccTime Burst Rate CPU Usage
RAID5 (6 disks) 29,5 44,4 39,5 23,2 4071,8 2,80%
(1) Write Back Cache Disabled
(2) Write Back Cache Enabled

 

Seguramente se debería hacer un buen análisis de estos resultados, pero por cuestiones de tiempo y conocimientos estadísticos me limité a comparar algunos valores como muestro a continuación


Comencé comparando los valores promedio de lectura de un disco único contra RAID0 de dos discos, y RAID1

READ Avg %
Single Disk 104,1 100,00%
RAID0 (2 disks) 188,8 181,36%
RAID1 (2 disks) 93,7 90,01%

Es evidente el aumento considerable de velocidad para un RAID0, mientras que RAID1 pierde aproximadamente un 10%. No es demasiado quizás pero hay que tenerlo en cuenta

Aunque por supuesto, si el objetivo fuera tolerancia a fallas, este valor es casi despreciable frente a la confiabilidad, el problema es que en RAID0 es aprovechable solamente el 50% del espacio disponible, y con RAID5 aunque mejora el tema capacidad, se resiente el rendimiento

 

Observando el incremento que produce RAID0 con dos discos busqué qué mejoras se obtienen incrementando el número de discos

READ Avg %
RAID0 (2 disks) 188,8 100,00%
RAID0 (3 disks) 271,9 144,01%
RAID0 (4 Disks) 340,3 180,24%
RAID0 (5 Disks) 413,8 219,17%
RAID0 (6 Disks) 436,9 231,41%

Es evidente el aumento a medida que se van agregando discos, aunque este porcentaje de incremento va disminuyendo gradualmente

 

Resumiendo lo visto hasta ahora: para lectura lo más rápido es RAID0 con cuanto más discos mejor, pero el límite lógico está alrededor de 4 o 5

 


Vamos a ver ahora qué pasa con escritura. Igual que en el caso anterior comencé comparando un único disco contra RAID0 con dos discos y RAID1. Aunque en este caso utilizando o no “Write Back Cache”

WRITE Avg %
Single Disk 103,5 100,00%
RAID0 (2 disks) (1) 195,0 188,41%
RAID0 (2 disks) (2) 199,2 192,46%
RAID1 (2 disks) (1) 100,6 97,20%
RAID1 (2 disks) (2) 99,8 96,43%

Enseguida se puede observar que RAID0 con dos discos prácticamente duplica el rendimiento, mientras que RAID1 podríamos afirmar que no afecta la performance

 

Y análogamente al análisis sobre lectura comparemos ahora el rendimiento de escritura con RAID0 incrementando el número de discos, y con o sin “Write Back Cache”

WRITE Avg % WRITE Avg %
RAID0 (2 disks) (1) 195,0 100,00% RAID0 (2 disks) (2) 199,2 100,00%
RAID0 (3 disks) (1) 220,7 113,18% RAID0 (3 disks) (2) 294,6 147,89%
RAID0 (4 Disks) (1) 224,4 115,08% RAID0 (4 Disks) (2) 385,5 193,52%
RAID0 (5 Disks) (1) 225,7 115,74% RAID0 (5 Disks) (2) 478,5 240,21%
RAID0 (6 Disks) (1) 225,8 115,79% RAID0 (6 Disks) (2) 548,2 275,20%

Podemos observar en la parte izquierda, que el rendimiento sin usar “Write Back Cache” se incrementa un poco pero luego se mantiene estable. Pero por otra parte se incrementa notablemente si está habilitado “Write Back Cache”, aunque igual que en el caso de lectura este aumento va disminuyendo gradualmente con la cantidad de discos, y aumenta el riesgo de pérdida de datos ante un apagado imprevisto

 


Y llegamos al final. Sé que esta nota seguramente traerá comentarios y discusiones, pero no pretende ser una análisis extrapolable para todos, está muy acotado su uso ya que lo he analizado para mi situación particular, aunque pienso que puede ser compartido por muchos. Para sólo nombrar algo más, en la tabla se incluyen valores para RAID5 y RAID10 que casi ni he mirado pero que dejo a disposición por si a alguen le sirven para hacer su propio análisis

En mi caso, y como comentaba al principio, opté por un disco dedicado al sistema operativo y las pocas aplicaciones que utilizo, y con los restantes tres discos armé un RAID0 donde almaceno las máquinas virtuales

Separé el disco del sistema operativo y aplicaciones para facilitar las copias de seguridad, y porque la independencia de discos siempre trae ventajas; piensen solamente que la falla de un disco en un RAID0 hace que se pierda todo el contenido

Podría haber puesto un quinto disco, en la otra controladora de disco que dispone mi máquina, pero leí y medí que es sumamente lenta (Marvell), mientras que la Intel que utilizo tiene mucho mejor rendimiento

 

Publica un comentario o deja una referencia: URL de la referencia.

Este espacio es para comentarios sobre la nota. No es un sitio de soporte

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

A %d blogueros les gusta esto: