RAID (redundant array of independent disks; o también redundant array of inexpensive disks) es una tecnología de almacenamiento que sirve para combinar varios discos físicos en una o más unidades lógicas, para obtener mejoras en el desempeño, redundancia de datos o ambas.
Los datos se distribuyen a través de los discos físicos de varias maneras (llamadas niveles), dependiendo de las necesidades de redundancia o rendimiento.
Los diferentes esquemas, (también conocidos como distribuciones o layouts), son nombrados con la palabra «RAID» seguida de un número, por ejemplo RAID 0 o RAID 1.
Cada configuración o nivel, provee de un balance diferente de confiabilidad, disponibilidad, rendimiento y capacidad.
Los niveles mayores a RAID 0 proveen protección contra errores de lectura de sectores, así como protección contra fallas físicas de uno o más de los discos miembros.
Conceptos básicos
Como se guardan los datos en un disco duro
Los datos se guardan en su nivel más básico como información binaria (orientación magnética del material en los platos físicos que después interpretamos como ceros y unos).
A continuación, se realiza la corrección de errores y otras conversiones, hasta organizar los fragmentos en un sistema llamado Tabla de asignación de archivos, que en ultima instancia sirve para acomodar dichos fragmentos en archivos legibles.
Como trabaja un RAID
El arreglo RAID típico inicia cuando son dos o más discos son reconocidos por la tarjeta controladora RAID.
Dicha tarjeta RAID presenta al usuario algunos parámetros de operación para configurar la forma en que la información será escrita y leída.
El arreglo se presenta al BIOS como una sola unidad, que se puede dividir en particiones lógicas según sea necesario.
El RAID puede emplear dos maneras de trabajar: Disk mirroring y Disk stripping.
Disk mirroring hace una copia idéntica de los datos en más de un disco.
Disk Stripping divide los datos en unidades que son distribuidas entre todos los discos del arreglo.
La integridad de la información depende de varios parámetros como son orden, rotación, paridad, tamaño de sector, desplazamiento, etc.
Tarjeta controladora y otros dispositivos RAID
Llamamos RAID de hardware a aquellos sistemas que tienen una tarjeta controladora RAID, que es la que se encarga de manejar el arreglo.
Estos sistemas son reconocidos por su desempeño y estabilidad aunque son costosos.
Existen otros tipos de RAID, como los de software, que podemos ver en unidades NAS o en motherboards Intel (con Intel Rapid), que son implementaciones más económicas que usan el CPU del equipo de manera intensiva.
Si bien un RAID de software puede ser más versátil, también es mas propenso a fallas y a errores de programación.
Existen controladoras RAID «híbridas», que utilizan el CPU y firmware para la administración del arreglo y que no siguen los parámetros de operación comunes.
Por esa razón, son más difíciles de mantener y de recuperar en caso de falla (por ejemplo, los servidores Dell Equallogic).
Niveles de RAID
En la definición original de 1998, los autores establecieron solo 6 tipos de RAID (del 0 al 5).
Este sistema de numeración permitía diferenciar las versiones de configuración y el cómo cada una de ellas usaba la paridad y distribuía los datos a través del arreglo.
El numero de niveles se ha expandido y ahora se clasifica en al menos 3 categorías: Estándar, anidados (nested) y No Estándar.
Niveles Estandar
RAID 0
Esta configuración suma las capacidades de los discos, y utiliza data stripping sin redundancia. Ofrece el mejor rendimiento pero no tiene tolerancia a fallos.
RAID 1
También llamado «espejo», porque todos los datos son escritos a cada disco al mismo tiempo.
Es una buena opción cuando la seguridad es más importante que el rendimiento.
Otra ventaja es que si falla un disco, se presenta una alerta pero el sistema sigue funcionando.
Es entonces cuando el operador puede sustituir el disco dañado por uno nuevo, y el sistema (automática o manualmente) reconstruye la tolerancia a fallos.
RAID 2
Este arreglo utilizaba stripping entre discos, con algunos de ellos dedicados a la revisión y corrección de errores.
Como no ofrece ventajas significativas ya no se usa en ningún equipo comercial.
RAID 3
RAID 4
Este nivel utiliza stripes más largos, por lo que podemos leer archivos diferentes desde cada disco (pero no los mismos archivos y no mayores al tamaño de cada stripe sencillo).
Todas las operaciones deben actualizar un solo disco de paridad, y como no ofrece ninguna ventaja sobre RAID 5, actualmente no se utiliza.
RAID 5
RAID 5 divide datos en bloques y distribuye la información de paridad entre todos los discos. Esto permite que en caso de falla de un disco pueda operar con todos los discos miembros menos uno.
Se requieren al menos 3 discos de la misma capacidad para implementarlo, pero como las tareas de escritura de la paridad son intensivas, se recomienda hacerlo al menos con 5 para aumentar el rendimiento.
El cálculo de paridad (XOR) permite que si un disco falla, las lecturas subsecuentes puedan ser calculadas desde la paridad distribuida, de modo que no se pierda información.
La manera mas eficiente de hacer dicho cálculo de paridad es a través de hardware, por lo que generalmente lo hace la tarjeta RAID (esta es una de las razones por las que el performance es mejor en un servidor que en un NAS).
Cuando un disco deja de funcionar, el rendimiento se degrada y durante la reconstrucción (rebuild) se es vulnerable a la falla de un segundo disco.
RAID 6
Similar a RAID 5, pero incluye un segundo esquema de paridad que se distribuye a través de todos los discos.
El uso de la paridad adicional permite que el arreglo siga funcionando aun en caso de falla de dos discos, pero esta protección extra implica menor velocidad y también aumenta el costo por Gb de almacenamiento.
Niveles anidados y no estandar
RAID anidados (nested)
A la combinación de niveles RAID se les llama «niveles anidados » o nested. En un sistema multidiscos podemos encontrar cualquier cantidad de combinaciones, aunque generalmente las tarjetas controladoras de RAID soportan solo algunos pocos.
Algunas tarjetas permiten anidar niveles RAID, es decir, que un RAID pueda usarse como elemento básico de otro en lugar de discos físicos.
La combinaciones son casi infinitas, pudiéndose encontrar arreglos más complejos, como RAID 0+1+5 (espejo sobre paridad única) o RAID 0+1+6 (espejo sobre paridad dual).
RAID 10 (o RAID 1+0)
En este nivel, los datos son copiados como espejo, y los espejos son divididos en stripes. Por eso se dice que es una «división de espejos».
El RAID 10 puede soportar la pérdida de varios discos, siempre y cuando ningún espejo pierda todos sus miembros.
El RAID 10 es la mejor elección para bases de datos de altas prestaciones, debido a que la ausencia de cálculos de paridad proporciona mayor velocidad de escritura.
RAID 01 (0+1)
En este RAID, los datos son divididos (stripping) en RAID 0 y después son copiados (mirroring). Por eso se dice que son un espejo de divisiones.
El RAID 0+1 ofrece las ventajas de un RAID 0 (velocidad y suma de capacidad de almacenamiento), y agrega la tolerancia a fallos hasta de dos discos siempre y cuando sean de su misma división RAID 0.
RAID no estándar
Existen categorías adicionales conocidas como niveles RAID no estándar (como 5E, 50EE, RAID 1.5, etc.), y RAID propietarios (como BeyondRAID, Intel Matrix RAID o StorageSpaces), cada una de ellas con sus ventajas y desventajas.
Debido a que son maneras complejas de almacenar datos, se recomienda mucho cuidado cuando hay alguna falla, pues es muy fácil destruir los archivos al intentar experimentos para recuperar la información.
Otros arreglos
Para saber más, puedes visitar los sitios de Wikipedia en español y en inglés.
Que hacer ahora
Nosotros somos especialistas en la recuperación de datos de arreglos RAID, NAS y servidores de todo tipo.
Haga clic aquí si desea solicitar ayuda ahora, estaremos encantados de poder servirle.
También puede volver al índice de RAID.