Concepto y definición de RAID
Un Sistema RAID, o Matriz Redundante de Discos Independientes, es un método de almacenamiento de datos que distribuye la información entre varios discos duros para mejorar la redundancia de datos, la seguridad, el rendimiento del sistema y la velocidad de lectura y escritura.
Este enfoque innovador ofrece una solución robusta para el almacenamiento y manejo de datos, con múltiples niveles de configuración RAID disponibles para satisfacer distintos requisitos y escenarios de uso.
Historia
El término “RAID” fue inventado por David Patterson , Garth A. Gibson y Randy Katz en la Universidad de California, Berkeley en 1987. En su artículo de junio de 1988 "A Case for Redundant Arrays of Inexpensive Disks (RAID)", presentado en la conferencia SIGMOD , argumentaron que las unidades de disco de mainframe de mayor rendimiento de la época podían ser superadas en rendimiento por una serie de unidades de bajo costo que se habían desarrollado para el creciente mercado de computadoras personales.
Aunque las fallas aumentarían en proporción a la cantidad de unidades, al configurar la redundancia, la confiabilidad de una matriz podría superar con creces la de cualquier unidad grande.
Aunque todavía no se utiliza esa terminología, las tecnologías de los cinco niveles de RAID mencionados en el artículo de junio de 1988 se utilizaron en varios productos antes de la publicación del artículo, incluidos los siguientes:
- La duplicación (RAID 1) estaba bien establecida en la década de 1970, incluidos, por ejemplo, los sistemas Tandem NonStop.
- En 1977, Norman Ken Ouchi de IBM presentó una patente que revela lo que posteriormente se denominó RAID 4.
- Alrededor de 1983, DEC comenzó a distribuir unidades de disco RA8X duplicadas del subsistema (ahora conocidas como RAID 1) como parte de su subsistema HSC50.
- En 1986, Clark et al. en IBM presentó una patente que revela lo que posteriormente se denominó RAID 5.
- Alrededor de 1988, DataVault de Thinking Machines usaba códigos de corrección de errores (ahora conocidos como RAID 2) en una matriz de unidades de disco. Un enfoque similar se utilizó a principios de la década de 1960 en el IBM 353 .
Posteriormente, los fabricantes de la industria redefinieron el acrónimo de RAID para qué significa "Matriz redundante de discos independientes".
Información general
Muchos niveles de RAID emplean un esquema de protección contra errores llamado "paridad", un método ampliamente utilizado en tecnología de la información para proporcionar tolerancia a fallas en un conjunto de datos dado.
La mayoría usa XOR simple , pero RAID 6 usa dos paridades separadas basadas respectivamente en la suma y la multiplicación en un campo de Galois particular o en la corrección de errores de Reed-Solomon.
RAID también puede proporcionar seguridad de datos con unidades de estado sólido (SSD) sin el gasto de un sistema totalmente SSD. Por ejemplo, un SSD rápido se puede duplicar con una unidad mecánica.
Para que esta configuración proporcione una ventaja de velocidad significativa, se necesita un controlador apropiado que utilice el SSD rápido para todas las operaciones de lectura. Adaptec llama a esto "RAID híbrido".
Tipos de configuraciones RAID
RAID 0

El RAID 0, a veces denominado striping, divide los datos en bloques que se escriben simultáneamente en dos o más discos. Esta configuración mejora significativamente la velocidad de lectura y escritura, pero no proporciona redundancia de datos.
RAID 0 (también conocido como conjunto de bandas o volumen seccionado ) divide (" bandas") los datos de manera uniforme en dos o más discos, sin información de paridad , redundancia o tolerancia a fallas.
Dado que RAID 0 no proporciona tolerancia a fallas ni redundancia, la falla de una unidad hará que falle todo el arreglo; como resultado de tener datos seccionados en todos los discos, la falla dará como resultado una pérdida total de datos.
Esta configuración se implementa típicamente teniendo la velocidad como objetivo previsto. RAID 0 se utiliza normalmente para aumentar el rendimiento, aunque también se puede utilizar como una forma de crear un gran volumen lógico a partir de dos o más discos físicos.
Se puede crear una configuración RAID 0 con discos de diferentes tamaños, pero el espacio de almacenamiento agregado a la matriz por cada disco está limitado al tamaño del disco más pequeño.
Por ejemplo, si un disco de 120 GB está seccionado junto con un disco de 320 GB, el tamaño de la matriz será 120 GB × 2 = 240 GB. Sin embargo, algunas implementaciones de RAID permiten que los 200 GB restantes se utilicen para otros fines.
El diagrama de esta sección muestra cómo se distribuyen los datos en franjas Ax en dos discos, con A1: A2 como la primera franja, A3: A4 como la segunda, etc. Una vez que se define el tamaño de la franja durante la creación de un RAID 0, debe mantenerse en todo momento. Dado que se accede a las bandas en paralelo, una matriz RAID 0 de n unidades aparece como un solo disco grande con una velocidad de datos n veces mayor que la velocidad de un solo disco.
Rendimiento RAID 0
Una matriz RAID 0 de n unidades proporciona velocidades de transferencia de lectura y escritura de datos hasta n veces más altas que las velocidades de las unidades individuales, pero sin redundancia de datos.
Como resultado, RAID 0 se usa principalmente en aplicaciones que requieren un alto rendimiento y pueden tolerar una menor confiabilidad, como en la informática científica o los juegos de computadora.
Algunas pruebas de rendimiento de las aplicaciones de escritorio muestran que el rendimiento de RAID 0 es ligeramente mejor que el de una sola unidad. Otro artículo examinó estas afirmaciones y concluyó que "la creación de bandas no siempre aumenta el rendimiento (en ciertas situaciones, en realidad será más lento que una configuración sin RAID), pero en la mayoría de las situaciones producirá una mejora significativa en el rendimiento ".
Los puntos de referencia sintéticos muestran diferentes niveles de mejoras de rendimiento cuando se utilizan varios HDD o SSD en una configuración RAID 0, en comparación con el rendimiento de una sola unidad. Sin embargo, algunos puntos de referencia sintéticos también muestran una caída en el rendimiento para la misma comparación.
RAID 1
Véase también: RAID 1E

Diagrama de una configuración de RAID 1
Conocido como espejo, RAID 1 duplica los mismos datos en dos discos diferentes. Ofrece una copia de seguridad en tiempo real y una gran seguridad de datos, pero a costa de la capacidad total de almacenamiento.
RAID 1 consiste en una copia exacta (o espejo ) de un conjunto de datos en dos o más discos; un par duplicado RAID 1 clásico contiene dos discos. Esta configuración no ofrece paridad, división o expansión del espacio de disco en varios discos, ya que los datos se reflejan en todos los discos que pertenecen a la matriz y la matriz solo puede ser tan grande como el disco miembro más pequeño.
Este diseño es útil cuando el rendimiento de lectura o la confiabilidad es más importante que el rendimiento de escritura o la capacidad de almacenamiento de datos resultante.
La matriz seguirá funcionando mientras al menos una unidad miembro esté operativa.
Rendimiento RAID 1
Cualquier solicitud de lectura puede ser atendida y manejada por cualquier unidad de la matriz; por lo tanto, dependiendo de la naturaleza de la carga de E / S, el rendimiento de lectura aleatoria de una matriz RAID 1 puede ser igual a la suma del rendimiento de cada miembro, mientras que el rendimiento de escritura permanece al nivel de un solo disco.
Sin embargo, si se utilizan discos con diferentes velocidades en una matriz RAID 1, el rendimiento de escritura general es igual a la velocidad del disco más lento.
Los puntos de referencia sintéticos muestran distintos niveles de mejoras de rendimiento cuando se utilizan varios HDD o SSD en una configuración RAID 1, en comparación con el rendimiento de una sola unidad. Sin embargo, algunos puntos de referencia sintéticos también muestran una caída en el rendimiento para la misma comparación.
RAID 2

Diagrama de una configuración de RAID 2
Estos niveles de RAID son menos comunes y utilizan técnicas sofisticadas de corrección de errores y striping a nivel de bit o bloque. Sin embargo, son generalmente menos eficientes y más costosos que otros niveles de RAID.
RAID 2 , que rara vez se usa en la práctica, divide los datos a nivel de bit (en lugar de bloque) y usa un código Hamming para la corrección de errores . El controlador sincroniza los discos para que giren en la misma orientación angular (alcanzan el índice al mismo tiempo), por lo que generalmente no puede atender múltiples solicitudes simultáneamente.
Sin embargo, dependiendo de un código Hamming de alta velocidad , muchos ejes funcionarían en paralelo para transferir datos simultáneamente, de modo que son posibles "velocidades de transferencia de datos muy altas" como, por ejemplo, en DataVault donde 32 bits de datos fueron transmitidos simultáneamente.
Con todas las unidades de disco duro implementando la corrección de errores internos, la complejidad de un código Hamming externo ofrecía pocas ventajas sobre la paridad, por lo que RAID 2 rara vez se ha implementado; es el único nivel original de RAID que no se utiliza actualmente.
RAID 3

Diagrama de una configuración RAID 3 de bloques de seis bytes y dos bytes de paridad , se muestran dos bloques de datos en diferentes colores.
RAID 3 , que rara vez se utiliza en la práctica, consta de bandas a nivel de bytes con un disco de paridad dedicado.
Una de las características de RAID 3 es que generalmente no puede atender múltiples solicitudes simultáneamente, lo que sucede porque cualquier bloque de datos, por definición, se distribuirá entre todos los miembros del conjunto y residirá en la misma ubicación física en cada disco.
Por lo tanto, cualquier operación de Entrada / Salida requiere actividad en todos los discos y normalmente requiere ejes sincronizados.
Esto lo hace adecuado para aplicaciones que exigen las tasas de transferencia más altas en lecturas y escrituras secuenciales largas, por ejemplo, edición de video sin comprimir.
Las aplicaciones que realizan lecturas y escrituras pequeñas desde ubicaciones de disco aleatorias obtendrán el peor rendimiento de este nivel.
El requisito de que todos los discos giraran sincrónicamente (al mismo tiempo ) agregó consideraciones de diseño que no proporcionaron ventajas significativas sobre otros niveles de RAID.
Tanto RAID 3 como RAID 4 fueron rápidamente reemplazados por RAID 5.
RAID 3 generalmente se implementaba en hardware, y los problemas de rendimiento se abordaban mediante el uso de cachés de disco grandes.
RAID 4

Diagrama de una configuración RAID 4 con disco de paridad dedicado con cada color que representa el grupo de bloques en el bloque de paridad respectivo (una franja)
RAID 4 consta de bandas a nivel de bloque con un disco de paridad dedicado . Como resultado de su diseño, RAID 4 proporciona un buen rendimiento de las lecturas aleatorias, mientras que el rendimiento de las escrituras aleatorias es bajo debido a la necesidad de escribir todos los datos de paridad en un solo disco.
En el diagrama 1, una solicitud de lectura para el bloque A1 sería atendida por el disco 0. Una solicitud de lectura simultánea para el bloque B1 tendría que esperar, pero una solicitud de lectura para B2 podría ser atendida simultáneamente por el disco 1.
RAID 5

Diagrama de un diseño RAID 5 con cada color que representa el grupo de bloques de datos y el bloque de paridad asociado (una franja). Este diagrama muestra el diseño asincrónico izquierdo
El RAID 5 utiliza striping a nivel de bloque con paridad distribuida para proporcionar tanto rendimiento como protección de datos. Requiere al menos tres discos y puede soportar la falla de uno de ellos sin pérdida de datos.
RAID 5 consta de bandas a nivel de bloque con paridad distribuida. A diferencia de RAID 4, la información de paridad se distribuye entre las unidades. Requiere que todas las unidades menos una estén presentes para funcionar. En caso de falla de una sola unidad, las lecturas posteriores se pueden calcular a partir de la paridad distribuida de manera que no se pierdan datos. RAID 5 requiere al menos tres discos.
Hay muchos diseños de datos y paridad en una matriz de unidades de disco RAID 5 dependiendo de la secuencia de escritura en los discos, es decir:
- la secuencia de bloques de datos escritos, de izquierda a derecha o de derecha a izquierda en la matriz de discos, de los discos 0 a N, y
- la ubicación del bloque de paridad al principio o al final de la franja, y
- la ubicación del primer bloque de una franja con respecto a la paridad de la franja anterior.
La figura muestra
- Bloques de datos escritos de izquierda a derecha,
- El bloque de paridad al final de la franja y
- El primer bloque de la siguiente franja que no está en el mismo disco que el bloque de paridad de la franja anterior.
Se puede designar como un diseño RAID 5 asíncrono izquierdo y este es el único diseño identificado en la última edición de The Raid Book publicado por el desaparecido Raid Advisory Board.
En un diseño síncrono , el primer bloque de datos de la siguiente banda se escribe en la misma unidad que el bloque de paridad de la banda anterior.
En comparación con RAID 4, la paridad distribuida de RAID 5 equilibra el estrés de un disco de paridad dedicado entre todos los miembros de RAID. Además, el rendimiento de escritura aumenta ya que todos los miembros de RAID participan en el servicio de solicitudes de escritura. Aunque no será tan eficiente como una configuración de bandas (RAID 0), debido a que la paridad aún debe escribirse, esto ya no es un cuello de botella.
Dado que el cálculo de paridad se realiza en la franja completa, los pequeños cambios en la matriz experimentan amplificación de escritura: en el peor de los casos, cuando se va a escribir un solo sector lógico, es necesario leer el sector original y el sector de paridad correspondiente , los datos originales se eliminan de la paridad, los nuevos datos se calculan en la paridad y se escriben tanto el nuevo sector de datos como el nuevo sector de paridad.
RAID 6

Diagrama de una configuración de RAID 6, que es idéntica a RAID 5, excepto por la adición de un segundo bloque de paridad.
Similar al RAID 5, pero incluye una paridad adicional para una mayor protección de datos. El RAID 6 puede soportar la falla de dos discos simultáneamente.
RAID 6 amplía RAID 5 agregando otro bloque de paridad ; por lo tanto, utiliza bandas a nivel de bloque con dos bloques de paridad distribuidos en todos los discos miembros.
Al igual que en RAID 5, hay muchos diseños de matrices de discos RAID 6 dependiendo de la dirección en la que se escriben los bloques de datos, la ubicación de los bloques de paridad con respecto a los bloques de datos y si se escribe o no el primer bloque de datos de una franja posterior. a la misma unidad que el último bloque de paridad de la banda anterior. La figura de la derecha es solo uno de muchos de estos diseños.
Según la Storage Networking Industry Association (SNIA), la definición de RAID 6 es: "Cualquier forma de RAID que pueda continuar ejecutando solicitudes de lectura y escritura en todos los discos virtuales de una matriz RAID en presencia de dos fallas de disco concurrentes. Se han utilizado varios métodos, incluidos los cálculos de datos de verificación dual (paridad y Reed-Solomon ), los datos de verificación de paridad dual ortogonal y la paridad diagonal, para implementar el nivel 6 de RAID ".
Rendimiento RAID 6
RAID 6 no tiene una penalización de rendimiento para las operaciones de lectura, pero sí tiene una penalización de rendimiento en las operaciones de escritura debido a la sobrecarga asociada con los cálculos de paridad.
El rendimiento varía mucho según cómo se implemente RAID 6 en la arquitectura de almacenamiento del fabricante: en software, firmware o mediante el uso de firmware y ASIC especializados para cálculos de paridad intensivos. RAID 6 puede leer hasta la misma velocidad que RAID 5 con el mismo número de unidades físicas.
Cuando se utiliza paridad dual diagonal u ortogonal, es necesario un segundo cálculo de paridad para las operaciones de escritura. Esto duplica la sobrecarga de la CPU para escrituras RAID-6, en comparación con los niveles RAID de paridad única. Cuando se utiliza un código Reed Solomon, el segundo cálculo de paridad es innecesario. Reed Solomon tiene la ventaja de permitir que toda la información de redundancia esté contenida dentro de una franja determinada.
RAID 10
Una combinación de RAID 1 y RAID 0, RAID 10 proporciona los beneficios de ambos: redundancia de datos y alto rendimiento. Sin embargo, requiere un mínimo de cuatro discos y solo utiliza la mitad de la capacidad total de almacenamiento.
RAID 10 es un estándar más nuevo que al igual que RAID 0 y 6, no era una de las técnicas RAID originales. Al igual que en RAID 1, se crean espejos y, además, se aplica una franja RAID 0 a todas las unidades, uniéndolas.
RAID 10 es muy rápido y ofrece una buena tolerancia a fallas en la unidad, pero requiere el doble de almacenamiento para crear el espejo como sin él. Por lo tanto, también es dos veces más caro por TB que RAID 5.
Si bien se encuentra en algunos sistemas de TI de gran capacidad y alto rendimiento, y es útil para requisitos de almacenamiento de videovigilancia muy grandes, RAID 10 no es común ni necesario en la mayoría de las implementaciones más pequeñas en la actualidad.
Al igual que RAID 6, RAID 10 crecerá en importancia en el futuro a medida que las implementaciones de almacenamiento más grandes se vuelvan más comunes para las implementaciones de seguridad física.
Ventajas y desventajas de cada tipo de configuración RAID
Cada configuración RAID tiene sus propias ventajas y desventajas, dependiendo de los requisitos específicos de rendimiento, redundancia de datos y seguridad. Por ejemplo, RAID 0 ofrece una alta velocidad de lectura y escritura pero no tiene redundancia de datos. Por otro lado, RAID 1 ofrece redundancia completa pero a costa de la capacidad de almacenamiento.
En comparación, RAID 5 y RAID 6 ofrecen un equilibrio entre rendimiento y redundancia, mientras que RAID 10 proporciona tanto alto rendimiento como redundancia, aunque a costa de la capacidad de almacenamiento.
Cómo configurar un sistema RAID
La configuración de un sistema RAID depende del hardware específico (discos duros, controlador RAID) y del software utilizado. Normalmente, los pasos incluyen la selección del nivel de RAID adecuado, la instalación de los discos duros en el sistema, la configuración del controlador RAID y la configuración del sistema operativo para reconocer el array RAID.
El primer paso es elegir el tipo de configuración RAID que mejor se adapte a sus necesidades. Deberá considerar factores como la cantidad de discos disponibles, la necesidad de redundancia de datos, la velocidad de lectura y escritura requerida, y la capacidad total de almacenamiento necesaria.
Después de seleccionar el tipo de RAID, el siguiente paso es instalar físicamente los discos duros en su sistema. Esto puede implicar la instalación de discos en una caja de discos duros o en una bahía de discos dentro de un servidor.
El siguiente paso es configurar el controlador RAID. Este es un dispositivo que maneja la lógica y las operaciones de un sistema RAID. Necesitará acceder a la interfaz de usuario del controlador RAID (a menudo a través de un programa de software o una interfaz web) para configurar el tipo de RAID y otros ajustes.
Finalmente, es posible que deba configurar su sistema operativo para reconocer y utilizar el array RAID. Esto puede implicar la instalación de controladores adicionales y la configuración de las preferencias de almacenamiento dentro del sistema operativo.
Usos y aplicaciones de RAID en diferentes contextos, como servidores y videovigilancia
Los sistemas RAID son ampliamente utilizados en una variedad de contextos. En los servidores, los sistemas RAID son esenciales para garantizar la redundancia de datos y el alto rendimiento necesarios para manejar grandes volúmenes de tráfico de datos.
Los servidores que manejan datos críticos a menudo utilizan RAID 5, RAID 6 o RAID 10 para protegerse contra la pérdida de datos debido a fallas en los discos duros.
En el contexto doméstico, los sistemas RAID se utilizan a menudo en dispositivos de Almacenamiento Conectado a la Red (NAS). Estos dispositivos proporcionan almacenamiento compartido para hogares y pequeñas empresas, y a menudo utilizan RAID para mejorar el rendimiento y la seguridad de los datos.
Finalmente, los sistemas RAID también se utilizan en sistemas de videovigilancia. Estos sistemas requieren grandes cantidades de almacenamiento para guardar las grabaciones de vídeo y a menudo utilizan RAID para proporcionar redundancia de datos y alto rendimiento.
RAID es el método más común y menos costoso para proporcionar redundancia para video grabado. Los datos del archivo de video se escriben en varias unidades, por lo que si falla una unidad (o más unidades según el RAID), se puede recuperar el almacenamiento. Las arquitecturas RAID más comunes utilizadas en el almacenamiento de vigilancia son RAID 5 (1 unidad redundante) y RAID 6 (2 unidades redundantes).
Las unidades redundantes con RAID no se suman a la capacidad de almacenamiento total del sistema, por lo que hay un costo adicional de almacenamiento. Además, el almacenamiento RAID puede tardar horas en recuperarse y reconstruirse cuando falla una unidad, lo que puede afectar significativamente el rendimiento del sistema.
La redundancia es un método de protección de datos diseñado como una medida a prueba de fallas en tiempo real contra fallas del disco duro.
Una característica de redundancia común que se encuentra en servidores y cajas NAS para evitar la pérdida de datos es RAID (que significa Matriz redundante de discos independientes), que crea múltiples copias de archivos en varios discos duros.
Si un disco duro de la matriz falla, los otros discos duros toman el relevo sin (generalmente) ninguna interrupción. Una copia de seguridad, por otro lado, no brinda protección en tiempo real, pero sí brinda protección contra un conjunto mayor de problemas, que incluyen unidades defectuosas, robo de dispositivos, incendios o incluso la eliminación accidental de archivos.
En pocas palabras, el almacenamiento de datos redundante proporciona una protección contra fallas en tiempo real contra fallas del disco duro en lugar de una copia de seguridad real de sus datos.
La idea es que los otros discos duros de la matriz puedan activarse inmediatamente y salvar el día sin tiempo de inactividad.
Este tipo de redundancia se usa generalmente en servidores o cajas NAS donde el tiempo de inactividad de la recuperación de un disco duro defectuoso no es una opción.
Y ese es realmente el propósito principal del almacenamiento redundante: confiabilidad y tiempo de actividad. Si un disco duro falla y no hay redundancia de datos, puede eliminar temporalmente todos los datos hasta que se pueda reemplazar el disco duro defectuoso y se pueda restaurar una copia de seguridad.
La redundancia no es tan importante para los consumidores habituales como usted y como yo, pero es fundamental para las empresas que dependen del almacenamiento de datos.
Esto es especialmente cierto para las empresas que ofrecen almacenamiento en la nube o alojamiento de archivos: cualquier tipo de tiempo de inactividad es perjudicial para el negocio.
Hay muchas formas de perder datos: eliminación accidental, corrupción de archivos, falla de la unidad, malware, errores de software, robo, daño y más. La redundancia solo protege contra fallas en la unidad, mientras que una verdadera copia de seguridad protege contra cada uno de estos factores (o al menos la mayoría de ellos).
Tomemos como ejemplo la eliminación accidental de archivos. Si elimina accidentalmente un archivo, la redundancia no lo salvará, ya que la copia redundante del archivo en la configuración RAID también se elimina.
Sin embargo, la copia de seguridad tendría ese archivo eliminado accidentalmente todavía intacto en un medio de almacenamiento independiente completamente separado. Es por eso que siempre debe hacer una copia de seguridad incluso de su NAS.
Conclusión
En conclusión, los sistemas RAID son una solución de almacenamiento de datos extremadamente flexible y potente que puede adaptarse a una amplia gama de necesidades y contextos. Ya sea que necesite almacenamiento de alto rendimiento para un servidor de alta demanda, o simplemente una forma segura de guardar sus archivos personales en casa, hay una configuración RAID que puede satisfacer sus necesidades.