Los sistemas RAID son algo que cada día se hacen más relevantes en el mundo del consumidor de PC y son algo que comentamos a menudo en los podcasts de #HablandoDeHardware (que por cierto podéis escuchar en directo todos los Lunes a las 22:00) pero sobretodo, son algo que muchos todavía desconocen y en muchos casos son algo de lo que disponen sin siquiera saberlo.
Por esto y porque nos lo habéis pedido reiteradamente, os contamos todo lo que sabemos sobre RAID y como usarlo en según qué casos para que al final de este artículo podáis explorar un poco en vuestro equipo y sacarle ese partidazo extra que nos puede proporcionar tal tecnología.
RAID, ¿Qué es?
El sistema RAID (Redundant Array of Independent Disks) es una tecnología de virtualización de almacenamiento de datos que combina múltiples discos (magnéticos [HDD] o de estado sólido [SSD]) en una sola unidad lógica con el fin de redundancia de datos (seguridad), aumento de tasa de transferencia (velocidad) o en ciertos tipos de RAID, ambos.
¿Cómo funciona?
Los datos se distribuyen a lo largo de los discos de formas distintas denominadas como niveles de RAID dependiendo del nivel de redundancia o aumento de tasa de transferencia requerida. Los distintos niveles se denominan como RAID seguido por un número (por ejemplo, RAID 0 o RAID 1). Cada nivel provee un balance de pros y cons según nuestras necesidades. Todos los niveles por encima de RAID 0 (no inclusive) proveen protección contra sectores no recuperables y errores de lectura además del completo fallo de disco. A parte de esto, hay 3 métodos de obtener RAID, los denominados “Hardware RAID”, “Software RAID” y “Firmware RAID”.
Historia resumida:
El término RAID fue inventado por David Patterson, Garth A. Gibson y Randy Katz en la universidad de Berkeley, California en 1987. En concepto sin embargo, existen (o al menos en parte) desde 1977, en 1983 la compañía DEC empezó a suministrar sistemas de discos RA8X (ahora conocido como RAID 1) y en 1986 IBM registró una patente que se convertiría en lo que hoy en día es RAID 5. Conforme la tecnología se hacía más presente en la industria, la palabra que representa “I” en el acrónimo, paso a ser “Independent (independiente)” en vez de “Inexpensive (no caro o, lo más probable en esos tiempos, asequible)”.
Hasta hace unos años, RAID era algo no solo común si no esencial y exclusivo por su prohibitivo coste a nivel industrial, donde raro era ver un servidor o sistema de cualquier tipo que no usase esta tecnología en un nivel u otro. Hoy en día sin embargo donde SATA es el estándar e IDE ha desaparecido, se ha vuelto una tecnología donde, a niveles básicos, es barata de fabricar por lo que gran parte de placas base de consumo la incluyen a un nivel u otro.
¿Qué niveles puedo usar?
Os vamos a explicar solo los niveles que podemos encontrar en las placas de consumo hoy en día y sin mucho tecnicismo por no liaros con los niveles que no suelen figurar en dichos sistemas (más bien reservados para servidores y otros sistemas no comunes fuera de la industria) Dicho esto, aquí os dejo los niveles que hoy en día existen por si tenéis curiosidad: Convencionales: 0, 1, 2, 3, 4, 5, 5E, 6E. Híbridos (o anidados): 0+1, 1+0 (o 10), 30, 50, 100, 10+1. Propietarios: 50EE, Double Parity, 1.5, 7, S (o Parity RAID), Matrix (no, no como la película), Linux MD RAID 10, IBM ServeRAID 1E, Z.
RAID 0 consiste en usar 2 o más discos (cualquier cantidad por encima de 2, inclusive) “en (in) stripe (en raya, o “seguidos”)”. Sea cual sea el sistema operativo que usemos, detectará tales discos como una sola unidad lógica (solo veremos un disco) del tamaño de almacenamiento de todos los discos juntos y con mayor velocidad. La fórmula para saber la velocidad bajo nuestra experiencia es la siguiente:
“Velocidad del disco más lento” x “cantidad de discos” – “5% del total”.
A diferencia de todos los demás niveles de RAID, este nivel no tiene ningún tipo de seguridad o redundancia, si uno de los discos muere, no solo perdemos lo que contenga ese disco si no que, en la gran mayoría de los casos, sin sistemas especialidad no podremos recuperar la información del resto de los discos asignados a este nivel puesto que los archivos estarán incompletos (RAID 0 no discrimina sobre que bit va en que disco ya que recordemos que usa la unidad lógica como si solo fuese un solo disco). De ahí aunque las velocidades se ven muy incrementadas, no se recomienda usar más de 2 discos en RAID 0 por los riesgos que conlleva de pérdida de datos en el caso de fallo de disco.
Como nota final sobre RAID 0, al usar la velocidad del disco más lento como base, no se recomienda hacer RAID 0 con HDD y SSD puesto que se malgasta la velocidad nativa de los SSDs. Hay que intentar hacer RAID 0 siempre con discos de la misma o parecida velocidad como miembros de tal.
RAID 1 es el nivel básico de redundancia de discos. Hace falta 2 o más discos para hacer RAID 1 pero siempre tendrá que ser una cantidad de discos par (2, 4, 6, 8, 10, etc). Al usar RAID 1 perdemos uso de uno de cada 2 discos. Nuestro sistema operativo verá una sola unidad Lógica del tamaño del disco con menos capacidad y con velocidad del disco más lento de los discos que tengamos asignados en RAID 1.
Cada bit que se escriba se escribe simultáneamente en todos los discos que formen parte del RAID 1 por lo que si un disco sufre errores de lectura o tiene sectores dañados no afectará al uso de nuestro equipo, es más, si uno de los discos muere completamente, podremos seguir usando nuestro equipo como si no pasase nada, simplemente se nos avisará de que X disco debe ser reemplazado lo antes posible.
Este sistema nos protege de pérdida de datos con el sacrificio de no tener acceso a la capacidad de almacenamiento de la mitad de los discos que usemos. Un sistema RAID 1 puede sobrevivir a la muerte instantánea de hasta la mitad de los discos asignados, en tal caso, simplemente reemplazamos los discos muertos y sincronizamos el sistema. Hoy en día todo este proceso se puede hacer sin siquiera apagar nuestro equipo gracias al “hot plug” del que dispone SATA (siempre y cuando lo tengas activo en bios/uefi) y es el sistema más comúnmente usado para servidores básicos.
Al igual que con RAID 0, conviene usar discos de la misma velocidad ya que se basará en la velocidad del disco más lento (la diferencia siendo que en RAID 0 experimentamos altibajos de velocidad según en qué disco esté escribiendo si usamos discos de velocidades distintas pero en RAID 1 siempre irá a la velocidad del disco más lento) y además considerar que a diferencia de RAID 0, aquí si hay que usar discos del mismo tamaño puesto que se basará en el tamaño del disco más pequeño (si usamos un disco de 500Gb y otro de 1Tb, nuestro RAID 1 se quedará en solo 500Gb).
RAID 5 no vamos a tocarlo a penas ya que aunque está disponible en varias placas de consumo, hoy en día simplemente no es recomendado por tener un coste de escrituras incrementadas muy alto reduciendo así considerablemente la vida de nuestros discos. Su intención original es ampliar el funcionamiento de RAID 1 con un coste menor en discos (no a nivel monetario si no a nivel de discos “consumidos” en lo que a redundancia y uso de almacenamiento se refiere.
En resumen, RAID 5 requiere 3 discos como mínimo, al igual que en RAID 1, es un sistema de redundancia, pero a diferencia de RAID 1, no perdemos el 50% del almacenamiento con fin de redundancia, si no solo el 33%. La información espejo, a diferencia de RAID 1 siendo directa, se guarda en todos los discos, de ahí el incremento y costo en operaciones de escritura continua y que no se recomiende mucho hoy en día puesto que RAID 6 (no disponible en placas de consumo) soluciona este problema y prácticamente reemplaza a RAID 5 en lo que a servidores y sistemas de industria se refiere.
RAID Híbrido (0+1 y 1+0) es en esencia, un RAID de 2 niveles RAID juntos. Nos centramos en RAID 0 y RAID 1. Por un lado tenemos la velocidad y atractivo (sobre todo en SSDs) que nos ofrece RAID 0 pero siempre tendremos ese pequeño miedo de que si uno de los discos que forman parte de nuestro RAID 0 muere, perdemos la información en todos los que formen parte de tal. Por otro lado tenemos la paz mental que nos aporta RAID 1 pero el lastre de no ganar en velocidad y “perder” como tal el uso de uno de los discos ya que está siempre ahí como una forma de “backup”. De esto sale el “genial, si, genial, para que vamos a negarlo” RAID Híbrido que nos proporciona en un solo RAID las ventajas de ambos, y solo alguna desventaja, no todas. Dentro de este tipo de RAID tenemos 2 tipos.
RAID 0+1 crea 2x sistemas de RAID 0 siguiendo las reglas que nos suponen los RAID 0 (velocidad y capacidad sin redundancia) pero añadiendo el factor “1 o Espejo” que nos permite dar redundancia a un sistema que normalmente no tendría).
Este sistema puede sostener una o más pérdidas en uno de los 2 sistemas RAID 0 que componen un RAID 0+1, incluso la totalidad de los discos que componen uno de los 2 RAID 0, pero si se pierden discos (cualquier cantidad) en ambos RAID 0, perdemos la totalidad de los datos (y ahí el lado malo que le toca por parte de RAID 0). En resumen, tendríamos que perder un disco en cada RAID 0 que compone nuestro RAID 0+1 a la vez. Aunque muy poco probable, no es imposible y debido a este riesgo, este nivel se ha dejado de usar mucho a nivel empresarial.
RAID 1+0 (o simplemente, RAID 10) es, en lo que a mí respecta, el ideal puesto que nos ofrece algo parecido a 0+1 pero con menos desventajas. 1+0. A diferencia de 0+1 crea un RAID 0 entre conjuntos de RAID 1 (no un RAID 1 entre 2 RAID 0). Al igual que en 0+1, obtenemos ese incremento de velocidad, eso sí, algo meno pero pueden morir discos siempre y cuando no sean todos los discos de uno de los RAID 1.
Su uso ideal sería RAID 1 de 4 discos + RAID 1 de 4 discos dándonos así la capacidad de 4 discos con la velocidad de 2 de estos discos en RAID 0 (siguiendo la fórmula de tal mencionada en la explicación de 0) con la seguridad de que es increíblemente improbable de que mueran los 4 discos de uno de los RAID 1 de golpe (si mueren 2 y 2, 3 y 1 o cualquier cantidad menor, podremos seguir trabajando como si nada).
Un ejemplo ideal para uso personal serían 8 SSD de 256Gb en 1+0 dándonos así 1Tb de capacidad usable, 1Gb/s de transferencia y seguridad de que tendríamos que ser la persona con la peor suerte del mundo para perder nuestros datos por fallo de disco.
¿Qué métodos puedo usar para obtener RAID?
Niveles o tipos de RAID a parte, hay 3 denominaciones o formas de obtener y usar RAID. En algunos casos tendremos más de uno de estos métodos a nuestra disposición pero son bastante diferentes y están organizados por preferencia, es decir, aunque tengamos a nuestra disposición más de una forma de hacerlo, siempre tendremos claro que forma elegir. A continuación os los explicamos en orden de peor a mejor opción de uso.
Software RAID
Esta función no requiere de ningún hardware específico. Prácticamente lo único que necesitamos es Windows 7 o posterior o ciertas distros de Linux. La ventaja obvia siendo que podemos tener RAID en cualquier tipo de sistema sin preocuparnos de si es compatible o no siempre que tengas el sistema operativo adecuado y además podemos usar discos de cualquier tipo de tamaño y velocidad sin problema. La desventaja sin embargo es notable sobretodo en equipos de baja potencia puesto que RAID por software usa una cantidad de recursos de procesador y ram notables, no disponemos de la opción de cambiar un disco fácilmente (con hardware y firmware raid podemos sacar un disco, meter otro, sincronizar y listo), no es conveniente usar software RAID con el disco que tengamos para el sistema operativo puesto que si falla, no podremos arrancar el sistema operativo y por extensión, solucionar el problema.
Firmware RAID
Este tipo de RAID es el que más común será entre vosotros a día de hoy puesto que viene a referirse a los sistemas de RAID integrados en placa base. La diferencia principal entre esta solución y Hardware RAID y a la misma vez la similitud principal entre este tipo y Software RAID es que seguimos dependiendo de nuestro procesador y memoria para el funcionamiento pero la realidad es que las placas donde están disponible esta función conjunto a la potencia de los procesadores y memorias de estos últimos años hacen que ni nos demos cuenta de esa “pérdida” de recursos que tenemos por usar este tipo.
Hardware RAID
Nos venimos a referir a las controladoras por PCI/PCI-E que disponen de su propio procesador y memoria lo cual hace que nuestro RAID no necesite de nuestro procesador o memoria para funcionar y por lo tanto dejando los recursos de nuestro sistema completamente para tal, por otro lado, el problema principal es que si vuestra tarjeta de RAID muere, necesitareis otra con exáctamente la misma controladora para recuperar datos y reestablecer vuestro RAID lo cual puede ser un problema si la controladora en cuestión es vieja y/o está descatalogada. Dicho esto, las controladoras que no tengan procesador y memoria propia entran dentro de la categoría de Firmware RAID y no esta. Por desgracia, las que si entran, suelen ser prohibitivamente caras por lo que suelen estar reservadas al mundo de los servidores y sistemas que requieran una seguridad y eficiencia máxima.