Todos los ordenadores, así como smartphone, entre otros equipos informáticos, disponen de unidad de almacenamiento. Hoy en día tenemos rendimientos excepcionales gracias a los SSD, pero hace años no era así. Debido a la lentitud de los HDD y otras necesidades, se desarrollaron las configuraciones RAID de discos duros.
Algo que se permite en la informática es la anidación de unidades de almacenamiento. Esto no es más que la combinación de diferentes unidades de almacenamiento para que operen en conjunto. Básicamente, tenemos dos tipos de configuraciones RAID: las que buscan aumentar el rendimiento y las que quieren evitar perdida de datos mediante respaldo de los datos.
Hace años, las configuraciones RAID 0 eran muy habituales entre los aficionados a los videojuegos. ¿El motivo? Los discos duros mecánicos (HDD) eran muy lentos y limitaban el rendimiento del sistema. Para corregir el problema, los usuarios combinaban varios HDD para así aumentar las velocidades de transferencia y, por consiguiente, el rendimiento. Actualmente, esta práctica es muy rara porque los SSD ofrecen velocidades de transferencia enormes.
¿Qué es RAID y que significa?
RAID es un acrónimo del inglés que significa Redundant Array of Independent Disks, literalmente «matriz de discos independientes redundantes». Debes saber que no todas estas configuraciones ofrecen redundancia, es depende del caso. Además, existen diferentes tipos o maneras en las que se ofrece redundancia.
La idea primaría de las configuraciones RAID es proteger la información almacenada en la unidad de almacenamiento ante fallos. Aunque hay diferentes configuraciones que obvian esta parte y solo buscan mejorar las velocidades de transferencia. Incluso, existen configuraciones avanzadas que ofrecen ambas características.
Fundamentalmente, lo que se hace es generar un único volumen de unidades de almacenamiento que funcionan en conjunto. Básicamente, tenemos dos tipos de configuraciones, como son las siguientes:
- Disk mirroring: Es un tipo de configuración RAID que busca redundancia de datos ante un posible fallo en una de las unidades de almacenamiento
- Disk stripping: Esta configuración RAID que no busca redundancia, sino conseguir mayores velocidades de transferencia de datos
Cómo funciona un RAID de discos duros
Un sistema RAID funciona emplazando los datos en varios discos duros, y permitiendo que las operaciones de entrada y salida (I/O) funcionen de manera balanceada, mejorando el rendimiento. En otras palabras, o bien los datos se escriben en ambos discos al mismo tiempo, o bien se escribe un dato en uno, y otro dato en otro para repartir el trabajo. Los sistemas RAID se presentan en el sistema operativo como si fueran un único disco lógico, dado que consisten en un solo volumen.
Dicho de otra manera, lo que hacen es almacenar una información dividida entre varias unidades distintas. De esta manera se accede a ellos en paralelo y se duplica la velocidad de acceso. Sin embargo, en el caso de los discos duros esta función no se suele encontrar en los PC domésticos.
Para que un sistema RAID funcione es necesaria la presencia de una controladora RAID, y puede ser o bien por hardware, o bien por software. A día de hoy, la gran mayoría de PC de usuario ya cuentan con una controladora RAID por software integrada en la BIOS de la placa base, y de hecho las controladoras por hardware tan solo se usan en entornos empresariales a día de hoy.
Configuraciones RAID de tipo simple
Actualmente existen muchos tipos de configuraciones de este tipo. Las más típicas y soportadas por cualquier controladora de placa base del mercado son las RAID 0, 1 y 5. Pero, existen muchos otros tipos de configuraciones que vienen a «solucionar» diferentes problemas que nos pueden surgir en el día a día cuando mantenemos y manipulamos un sistema de estas características.
Dentro de este primer apartado veremos las configuraciones que se denominan simples. Estas son diferentes tipos de configuraciones basadas en configuración única y más adelante veremos las configuraciones anidadas, que son la combinación de varias de estas configuraciones simples.
RAID 0
Es un tipo de configuración stipping, por lo que no ofrece redundancia de datos. Para este tipo de configuración se requieren al menos dos unidades de almacenamiento y el número máximo viene determinado por la controladora. Windows y cualquiera sistema operativo vera esta configuración cómo si fuera un único disco duro, sin importar de la cantidad de unidades instaladas.
Nota: La configuración RAID 0 se desarrolló para los discos duros mecánicos o HDD, que eran extremadamente lentos y así se conseguía aumentar el rendimiento. También se la conoce como configuración RAID Gaming, precisamente, porque muchos aficionados a los videojuegos la usaban en sus ordenadores como centros para almacenar información, por lo que necesitaban que todo el sistema fuera lo más rápido posible (para lo que permitía la tecnología mecánica de esas unidades).
Lo que se hace en esta configuración es que los datos se escriben secuencialmente. Si tenemos dos discos, uno denominado HDD1 y el otro HDD2, lo que hace es partir la información y escribirla primero en el HDD1 y luego en el HDD2, y así hasta almacenar toda la información.
Gracias a este sistema se permite prácticamente duplicar la velocidad de escritura y también, de lectura. Debemos tener en cuenta que no se suman las velocidades. Si cada unidad ofrece una velocidad de escritura de 2500 MB/s, en esta configuración teóricamente deberían ofrecer 5000 MB/s de escritura. La realidad es que se pierde entre el 10-25% de rendimiento.
Pero, esta configuración tiene un grave problema. Si cualquiera de las unidades usadas en la RAID 0 sufre un daño, toda la información se perderá sin remedio por lo que, tal vez, prefieras decantarte por otro estándar más fiable en ese sentido.
RAID 1
Pasamos a la primera configuración de tipo mirroring o de espejo. Este tipo de configuración busca realizar una copia de seguridad de los datos almacenados. La información se escribe de manera simultáneamente en los discos duros de manera simultánea. Se requiere de al menos dos unidades y el límite está determinado por la controladora por o que ganaos, respecto del Raid 0, ese punto de tener a salvo la información mientras una de las unidades esté operativa y funcional.
Dicha configuración tiene un gran problema. Aunque lo normal es pensar que primero la información se guarda en el disco duro primario y luego se copia en el secundario, esto no es así. La realidad es que la información se escribe en los dos discos duros al mismo tiempo. Esto supone una reducción en la velocidad de escritura de hasta un 25%, pero la velocidad de lectura podría subir en hasta un 25%.
Lo bueno de esta configuración es que, si se daña una de las unidades, se puede recuperar la información almacenada. No es habitual, pero ambas unidades se podrían dañar al mismo tiempo, en ese caso, la información se pierde y no tendremos opción de volver a recuperarla de ninguna manera. Eso sí, estamos hablando de una de las casuísticas menos habituales de las que podemos sufrir al utilizar uno de estos sistemas.
Algo que debemos tener en cuenta es que las dos unidades de almacenamiento deben tener la misma capacidad. Si emparejamos un disco duro de 500 GB con uno de 1 TB, solo se utilizarán 500 GB de la unidad de 1 TB, independientemente de si es primaria o secundaria, por lo que estaríamos desperdiciendo un espacio que podría utilizarse para otra cosa. Así qe recordad instalar siempre componentes con la misma capacidad.
RAID 2
Vamos ahora con una configuración muy poco habitual y que es un poco bastante compleja de entender. La configuración RAID 2 es básicamente una RAID 0 pero que agrega la corrección de errores mediante el código Hamming.
Para este tipo de configuraciones necesitamos de al menos tres discos duros. Los dos primeros actúan como una RAID 0 y el tercero actúa como un disco de verificación de los datos.
Una de las singularidades de RAID 2 es la sincronización de los discos duros. En HDD lo que se hace es sincronizar el giro de los discos para que giren en la misma orientación. Mientras que, en los SSD, se empieza siempre en las mismas celdas y sigue un patrón. Debido a estas particularidades técnicas, se impide atender varias solicitudes de manera simultánea.
Aquí los datos se dividen a nivel de bit, no a nivel de bloque o paquete, haciendo que este sistema sea muy complejo. Realmente es un sistema muy extraño de ver, por su complejidad y costes.
Presenta otro problema, se requieren de un mínimo de 39 discos, de los cuales 32 serían de almacenamiento a nivel de bits individuales y 7 unidades para corrección de errores.
RAID 3
Pasamos a otra de esas configuraciones posibles, pero extremadamente raras por su complejidad. Aquí los datos de distribuyen en los discos duros a nivel de byte, en vez de a nivel de bloque. Se añade un disco duro que únicamente hace la función de paridad.
Esta configuración exige al menos tres unidades de disco duro, dos para almacenamiento y una para paridad. Algo interesante es que los discos duros para almacenamiento actúan como en una configuración RAID 0. La tercera unidad es donde se almacenan los bytes de paridad. Esto permite que, si se pierde un byte de datos por cualquier fallo, se consigue recuperar mediante el disco de paridad.
Como las unidades primarias actúan en RAID 0, se aumenta mucho la velocidad de lectura y escritura. Presenta un problema y es que los discos duros son usados de manera simultánea en todo momento. Esto genera un impedimento de realización de peticiones simultaneas.
RAID 4
Tiene bastantes similitudes con la RAID 3, con la salvedad que la unidad de almacenamiento se divide en bloques y no en bytes. Lo que nos ofrece esta configuración es que cada disco duro funcione independiente del resto. La configuración RAID 4 requiere de un total de cuatro discos duros, tres irán destinados a datos y el cuarto será de paridad.
Este sistema es muy interesante, ya que, si la controladora lo permite, la configuración puede aceptar peticiones de lectura simultánea. Debería también soportar múltiples peticiones de escritura y en teoría, las soporte. Tiene un problema y es que la paridad de un solo disco puede generar cuello de botella.
RAID 5
Esta configuración de discos duros con paridad distribuida es bastante utilizada en la actualidad. Las unidades de almacenamiento se dividen en bloques donde se almacena la información. Dentro del conjunto de bloques, uno se destina a paridad, para garantizar la redundancia de datos.
La paridad lo que nos permite es reconstruir los datos guardados en un disco duro, si este termina fallando. El bloque de paridad, por otro lado, se almacena en un disco duro distinto para poder restaurar la información.
Se requiere para este tipo de configuración de al menos tres discos duros para así poder garantizar la redundancia de los datos.
Tiene un gran inconveniente este sistema y es que solo permite el fallo de un disco duro a la vez. Si por cualquier casualidad se dañaran dos de las unidades de almacenamiento que conforman la RAID 5, la información se perderá. Además, si se diera un error durante el proceso de restauración, toda la información almacenada se perderá.
RAID 6
Vamos ahora con una versión avanzada o mejorada de la configuración RAID 5. Los discos duros, en este caso no tienen un bloque de paridad, tienen dos bloques de paridad. Así tenemos que el bloque de paridad no está solo en un disco duro, sino que está en dos.
Una configuración peculiar que permite aumentar la tolerancia a fallos de unidades de almacenamiento, permitiendo que dos discos duros fallen de manera simultánea. También lo hace más resistente a posibles fallos en la restauración del disco duro. Aquí también se puede dar la perdida de información, pero requiere que más de dos unidades de almacenamiento fallen.
Para esta configuración RAID 6 se requieren de al menos cuatro unidades de disco duro. Destacar que esta configuración no es óptima si vamos a instalar muchas unidades de almacenamiento, ya que cuantos más discos duros, más probabilidad de fallo.
RAID 5E y RAID 6E
Variante que incluye unidades de disco duro adicionales en estado de preparados (hot spare) o en espera (standby spare). Son unidades disponibles para cualquiera de las unidades principales. Este sistema agrega unidades adicionales que reducen el tiempo de reconstrucción y labores de administración si hay fallos.
Las unidades en espera no conforman parte realmente del conjunto, pero están asociadas. El sistema de gestión, si detecta un fallo, utiliza esta unidad en reserva para reconstruir el sistema. Dicha configuración encarece el sistema pero aumenta la seguridad y reduce el tiempo de reconstrucción.
Configuraciones RAID de tipo anidado
Estas son configuraciones avanzadas que combinan dos o más configuraciones de RAID simple. Según las necesidades que tengamos, podremos hacer una configuración u otra. Aquí tenemos una configuración principal y dentro de esta, pueden existir diferentes tipos de configuraciones RAID en varios niveles. Sobre todo, este tipo de configuraciones se utilizan en el sector empresarial.
RAID 01
La primera configuración anidada que veremos es la de espejado de divisiones. Aquí tenemos un nivel RAID 1 que es principal o superior y dentro de este tenemos dos conjuntos de RAID 0. Destacar que a esta configuración también se la denomina RAID 0+1.
Tenemos un primer conjunto de al menos dos unidades de almacenamiento en configuración RAID 0 donde se escriben los datos. Luego tenemos un segundo conjunto de igual cantidad de discos duros también en RAID 0. Debido a que están unidos mediante un RAID 1, los datos escritos en el primer conjunto RAID 0, se escriben en el segundo conjunto.
Este sistema tiene un problema importante de escalabilidad. Las dos configuraciones RAID 0 deben tener siempre la misma cantidad de discos duros. Si añadimos un disco duro en la primera configuración RAID 0, debemos agregar otro en la segunda configuración. Además, los discos duros deben tener siempre la misma capacidad que los discos duros ya instalados.
Destacar que este sistema ofrece una tolerancia a fallos bastante limitada. Esta configuración soporta que todos los discos duros de una de las dos configuraciones RAID 0 falle. Si se diera el caso de fallo simultaneo en un disco duro de la configuración principal y la de respaldo, los datos se perderían para siempre.
RAID 10
Básicamente, tenemos una configuración de división de espejos. Aquí lo que tenemos es una RAID 0 principal con al menos dos subniveles en configuración RAID 1. Podemos encontrar esta configuración denominada también como RAID 1+0.
Lo que sucede aquí es que la información se guarda de manera secuencial en las dos configuraciones RAID 1. Básicamente cada una de las RAID 1 actúa como si fuera un único disco duro, escribiéndose la información secuencialmente. Además, al ser una RAID 1, los datos se almacenan en el disco duro destinado para el espejado de los datos.
Este sistema permite tener una redundancia de datos y una elevada velocidad de lectura y escritura. Pero presenta un problema y es que, si fallasen todos los discos duros de una de las configuraciones RAID 1, se perdería la información de todo el conjunto.
Indicar que para la configuración RAID 10 se requieren de, como mínimo, cuatro discos duros.
Linux MD RAID 10
Sistema RAID propio del kernel de Linux denominado de múltiple disco (denominada md; multiple disk o disco múltiple). Lo interesante de este sistema es que igual permite crear una configuración RAID 1+0 convencional o un sistema único RAID 10 con ciertas extensiones.
Dicho sistema permite el espejado de ‘k’ bloques en ‘n’ unidades cuando ‘k’ no es divisible por ‘n’. Se hace repitiendo cada bloque ‘k’ veces al escribirlo en un conjunto RAID 0 subyacente de ‘n’ unidades. Supone una equivalencia a una configuración RAID 10 convencional.
RAID 30
Pasamos ahora a un sistema con conjunto de paridad dedicado. Aquí tenemos una RAID 0 principal con una combinación de RAID 3. Indicar que a veces a este sistema se le denomina RAID 3+0.
Se basa este sistema en una combinación de dos conjuntos RAID 3 con división de los datos. Los datos se distribuyen entre los diferentes bloques que conforman este sistema. Posteriormente se hace una división en partes más pequeñas y se calcula la paridad mediante la aplicación de un XOR en cada uno. Aquí la información se escribe en todos los discos duros, salvo en el destinado a la paridad.
Dicho sistema nos permite una elevada velocidad de transferencia con gran fiabilidad. Pero al mismo tiempo, presenta diferentes problemas importantes. El más importante es el coste, ya que se requieren de al menos seis unidades de almacenamiento.
Únicamente permite el fallo en uno de los discos duros que conforman el conjunto RAID 3. Si se dañara más de una unidad, todos los datos serían inservibles. Además, el tiempo de restauración necesario desde que se detecta el fallo hasta que termina la reconstrucción es bastante largo y es un periodo de vulnerabilidad para el conjunto.
RAID 50
Vamos ahora con un sistema de paridad de alta velocidad. Aquí tenemos un nivel RAID 0 principal del que penden varias configuraciones RAID 5. Lo que nos permite este sistema es una buena redundancia y grandes velocidades de transferencia.
La gran fortaleza de este sistema es que existe paridad de los datos con una elevada transferencia de datos. Suele darse mucho en aplicaciones donde la tolerancia de fallos, capacidad y rendimiento son críticos.
Pero, este sistema presenta grandes problemas. El principal es el coste, ya que requiere de al menos seis unidades de almacenamiento. También permite solo el fallo de una unidad de almacenamiento de cada configuración RAID 5, si fallarán más unidades toda la información se perdería.
Algo peculiar de esta configuración es su construcción más habitual. Lo normal es crear una RAID 50 con siete unidades de almacenamiento. Esta séptima unidad no realiza ningún trabajo salvo que falle una de las unidades de almacenamiento. Lo que tenemos es un disco duro de reserva en línea, para empezar la reconstrucción de inmediato.
RAID 60
Otro tipo de configuración es este de paridad adicional de alta velocidad. Aquí tenemos un primer nivel RAID 0 del que penden varios sistemas RAID 6 que proporcionan paridad doble.
Este sistema es muy interesante porque ofrece un elevado grado de seguridad, al existir paridad doble d ellos datos. Al mismo tiempo, obtenemos grandes velocidades de lectura y escritura. Un sistema bastante potente, mejor que una configuración RAID 50.
Presenta varios inconvenientes, siendo el primero que necesitamos como mínimo ocho discos duros. Además, por cada RAID 6 adicional necesitaremos cuatro discos duros adicionales, algo que encarece el conjunto.
Como sucede en la configuración RAID 6, se permite el fallo de un máximo de dos unidades de almacenamiento al mismo tiempo en cada subconjunto.
RAID 100
Este es un sistema de conjuntos divididos que a su vez tiene una nueva división. Básicamente este es un conjunto de varias RAID 10 unidos mediante una RAID 0. Destacar que esta configuración se denomina también como RAID Cuadriculada o como RAID 10+0.
Permite esta configuración el soporte del daño en todos los discos dentro de una RAID 1, salvo en una unidad, sin que se pierda la información. Ese disco no dañado pasaría a ser el único punto de fallo del sistema dañado. Normalmente el nivel superior de la división se realiza mediante software.
Las configuraciones RAID de este tipo ofrecen varios beneficios, sobre todo con respecto a las RAID de nivel único. Como principales fortalezas tenemos la mejora en cuanto a la lectura aleatoria y se mitigan los puntos calientes de riesgo del conjunto.
No es una configuración habitual, es más, normalmente se utiliza en sistemas de bases de datos muy grandes. Mediante este tipo de configuración anidado se puede eliminar de manera virtual el límite de las unidades físicas.
Configuración especial JBOD
Vamos ahora con una configuración que tiene bastantes particularidades con respecto a las configuraciones RAID. Este tipo de configuración es comúnmente soportada por prácticamente cualquier sistema que soporta una RAID.
La configuración JBOD es realmente sencilla, pero no es bastante común su uso. Su principal inconveniente es que carece de redundancia de datos, como sucede en la agrupación RAID 0. Dicha configuración JBOD es el acrónimo de «Just a Bunch of Drives», que traducido sería «solo un montón de discos»
Esta configuración permite que cada unidad de almacenamiento sea independiente. Lo que permite es que, si una unidad sufre daños, solo se pierdan los datos de la unidad estropeada, mientras que el resto de discos duros sigue funcionando sin problemas. Vamos, que en realidad tenemos un gran disco duro virtual a partir de varias unidades de disco duro.
Como decíamos, este tipo de configuración carece de redundancia de datos y tampoco ofrece mejoras de rendimiento. Simplemente permite crear una gran unidad de almacenamiento y si uno de los discos falla, podríamos seguir usando la unidad virtual creada.
Algo muy interesante es que podemos combinar unidades de almacenamiento de capacidades distintas. Las configuraciones RAID requiere que todos los discos duros sean del mismo tamaño o se ajustará a la capacidad de la unidad más pequeña. Este sistema «suma» las capacidades, permitiendo usar al mismo tiempo un disco de 500 GB, uno de 1 TB y uno de 4 TB, por ejemplo, para tener un disco de 5.5 TB.
¿Qué configuraciones RAID puedo hacer en mi ordenador?
Cualquier ordenador soporta configuraciones RAID sin problemas, aunque no todas son soportadas a nivel doméstico. Aquí depende de dos factores: el fabricante del chipset y el modelo del mismo. El soporte RAID mayormente depende del chipset y, además, depende de las prestaciones del mismo. Así que puede ser que una placa base de gama alta soporte más configuraciones que una placa base de gama de entrada por el chipset que usa.
Intel ofrece soporte para las configuraciones RAID 0, 1, 5 y 10. AMD por su parte ofrece soporte para configuraciones RAID 0, 1 y 10. Lo normal es que ambos ofrezcan el mismo soporte para todas las gamas de chipset, pero puede no ser así. Esto se puede consultar en la web de Intel, pero no en la web de AMD ya que no ofrece esta información. Por otro lado, en la web del fabricante de la placa base, sabiendo el modelo, en la parte de especificaciones nos dirá que configuraciones RAID soporta tanto en SATA como en PCIe.
El motivo por el cual solo se soportan estas configuraciones está en que las configuraciones RAID 0, 1 y 10 son las consideradas interesantes para el usuario medio. La configuración RAID 5, pese a ser más avanzada, puede ser interesante por la paridad. Respecto al resto de configuraciones, algunas son difíciles de crear y otras muy costosas, dejándose solo para entornos profesionales.
Otra opción posible es adquirir una controladora especifica. Las controladoras comerciales suelen soportar RAID 0, 1, 5, 6, 10, 50 y 60, e implementar un reducido número de conectores. El problema de las controladoras RAID es que son bastante caras, costando los modelos más económicos sobre los 120-150 euros, haciéndolas poco o nada atractivas.
¿Cuáles son los mejores discos duros para hacer RAID?
No existen unidades específicas para configuraciones RAID, propiamente dichos. Las unidades de almacenamiento (ya sean SSD o HDD) enfocadas a configuraciones RAID se suelen catalogar como para NAS o Servidor. Estas unidades tienen características especiales, como mayor durabilidad.
Habitualmente, las unidades de almacenamiento para sistemas NAS se catalogan o identifican con el color rojo. Esta etiquetación nace de las unidades WD Red, que ha sido «imitado» por parte de la industria. Por ejemplo, Seagate los denomina como IronWolf, pero utiliza el color rojo para estas unidades de almacenamiento.
En caso de querer generar configuraciones RAID domésticas, como puedan ser del tipo 0, 1 y 5, que no van a tener una gran carga de trabajo, podríamos usar SSD. Solamente deberíamos fijarnos en los valores TBW (TeraBytes Writte) que nos dice la vida útil del SSD en ciclos de escritura. Nos dice la cantidad de información que podemos escribir antes de que presenten fallos.