Antes que nada, esto no lo escribí yo, al final cito la fuente y es probable que no sea exacta esta información. Buscando info de discos en RAID, encontré este artículo y quí pegué las partes que me resultaron más importantes.

¿Que es RAID?

RAID es una forma de almacenar los mismos datos en distintos lugares (por tanto de modo redundante) en múltiples discos duros. Al colocar los datos en discos múltiples, las operaciones I/O (input/output, de entrada y salida) pueden superponerse de un modo equilibrado, mejorando el rendimiento del sistema. Dado que los discos múltiples incrementan el tiempo medio entre errores (mean time between failure, MTBF), el almacenamiento redundante de datos incrementa la tolerancia a fallos.

Un RAID, para el sistema operativo, aparenta ser un sólo disco duro lógico. El RAID emplea la técnica conocida como "striping" (bandeado o creación de bandas), que incluye la partición del espacio de almacenamiento de cada disco en unidades que van de un sector (512 bytes) hasta varios megabytes. Las bandas de todos los discos están interpaginadas (interleaved) y se accede a ellas en orden.

En un sistema de un solo usuario donde se almacenan grandes registros (como imágenes médicas o de otro tipo), las bandas generalmente se establecen para ser muy pequeñas (quizá de 512 bytes) de modo que un solo registro esté ubicado en todos los discos y se pueda acceder a él rápidamente leyendo todos los discos a la vez.

¿Porqué usar RAID?

Las operaciones de I/O a disco son relativamente lentas, primordialmente debido a su carácter mecánico. Una lectura o una escritura involucra, normalmente, dos operaciones. La primera es el posicionamiento de la cabeza lecto/grabadora y la segunda es la transferencia desde o hacia el propio disco.
El posicionamiento de la cabeza está limitado por dos factores: el tiempo de búsqueda (seek time) y el retardo por el giro del disco hasta la posición de inicio de los datos (latencia rotacional). La transferencia de datos, por su parte, ocurre de a un bit por vez y se ve limitada por la velocidad de rotación y por la densidad de grabación del medio.
Una forma de mejorar el rendimiento de la transferencia es el uso de varios discos en paralelo, esto se basa en el hecho de que si un disco solitario es capaz de entregar una tasa de transferencia dada, entonces dos discos serían capaces, teóricamente, de ofrecer el doble de la tasa anterior, lo mismo sucedería con cualquier operación.
La adición de varios discos debería extender el fenómeno hasta un punto a partir del cual algún otro componente empezará a ser el factor limitante.
Muchos administradores o encargados de sistemas intentan llevar a cabo esta solución en forma básicamente manual, distribuyendo la información entre varios discos de tal forma de intentar asegurar una carga de trabajo similar para cada uno de ellos. Este proceso de "sintonía" podría dar buenos resultados de no ser por dos factores principales:
1º No consigue mejorar las velocidades de transferencia de archivos individuales, sólo mejora la cantidad de archivos accedidos en forma concurrente.
2º Es obvio que el balance no es posible de mantener en el tiempo debido a la naturaleza dinámica de la información.

Una forma bastante más efectiva de conseguir el objetivo es el uso de un arreglo de discos, el cual según la definición del RAID Consultory Board es "una colección de discos que integran uno o más subsistemas combinados con un software de control el cual se encarga de controlar la operación del mismo y de presentarlo al Sistema Operativo como un sólo gran dispositivo de almacenamiento". Dicha pieza de software puede ser integrada directamente al Sistema Operativo o estar en el propio arreglo; así como el arreglo puede ser interno o externo.

Novell Netware incluye, desde hace algún tiempo, soporte para arreglos de discos. El espejado y la duplicación de discos son ejemplos de arreglos basados en software.

Las soluciones de arreglos basadas en hardware son principalmente implementadas mediante el uso de controladoras SCSI (Small Computer System Interface) especializadas, las cuales a menudo están dotadas de procesadores propios para liberar a la CPU del sistema de la tarea de control y de cachés para mejorar aún más el desempeño.

Para Netware cualquiera de las dos soluciones, software o hardware, será visualizada como un único y gran disco virtual.

Así pues un arreglo de discos ofrecerá un mejor desempeño debido a que dividirá en forma automática los requerimientos de lectura/escritura entre los discos que lo conforman. Por ejemplo, si una operación de lectura/escritura involucra a cuatro bloques de 4 Kb cada uno, entonces un arreglo de 4 discos podría, teóricamente, entregar cuatro veces la tasa de operación de un disco único, esto debido a que el disco único sólo podría atender a un bloque en forma simultánea, mientras que en el arreglo cada disco podría manejar un sólo bloque operando ellos al mismo tiempo

En la práctica, sin embargo, dichos niveles no se obtienen debido, principalmente, a la carga de trabajo inherente al control del propio arreglo. Además el uso de varios discos se emplea para construir cierto nivel de redundancia de los datos y es este nivel de redundancia y la forma de implementarlo lo que crea los niveles de RAID.

¿Quién debería usar los RAID?

Aquellos de ustedes que necesiten controlar grandes cantidades de datos (como los administradores de sistemas), se beneficiarían del uso de la tecnología RAID. La primera razón para usar RAID es:

  • aumento de la velocidad
  • aumento de la capacidad de archivo
  • gran eficacia en recuperarse de un fallo del sistema


RAID: Hardware vs. Software

Existen dos posibilidades de realizar un sistema basado en la tecnología RAID: RAID Hardware o RAID Software.

RAID Hardware

Las soluciones hardware gestionan el subsistema RAID independientemente del host, presentándole a este un solo disco.

Un ejemplo de RAID hardware podría ser el conectado al controlador SCSI que presenta al sistema un único disco SCSI. Un sistema RAID externo se encarga de la gestión del RAID con el controlador localizado en el subsistema externo de los discos. Todo el subsistema está conectado a un host a través de un controlador SCSI normal y se le presenta al host como un solo disco.

Existen también controladores RAID en forma de tarjetas que se comportan como un controlador SCSI con el sistema operativo, pero gestionan todas las comunicaciones reales entre los discos de manera autónoma. En estos casos, basta con conectar los discos a un controlador RAID como lo haría con un controlador SCSI, pero después podrá configurarlo como un controlador RAID sin que el sistema operativo note la diferencia.

RAID Software

El RAID Software implementa los diferentes niveles de RAID en el código del kernel que tienen que ver con la gestión del disco (block device). Ofrece además la solución menos costosa, el RAID software funciona con discos IDE menos costosos así como con discos SCSI. Con las rápidas CPU de hoy en día, las prestaciones de un RAID software pueden competir con las de un RAID hardware.

El driver MD del kernel de Linux es un ejemplo de que la solución RAID es completamente independiente del hardware. Las prestaciones de un RAID basado en el software depende de las prestaciones y de la carga del CPU.

Arreglos paralelos vs. independientes

Arreglos paralelos: éstos son aquellos en que cada disco participa en todas las operaciones de entrada/salida. Este tipo de arreglo ofrece tasas altísimas de transferencia debido a que las operaciones son distribuidas a través de todos los discos del arreglo y ocurren en forma prácticamente simultánea. La tasa de transferencia será muy cercana, 95%, a la suma de las tasas de los discos miembros, mientras que los índices de operaciones de entrada/salida serán similares a las alcanzadas por un disco individual. En síntesis, un arreglo paralelo accesará sólo un archivo a la vez pero lo hará a muy alta velocidad. Algunas implementaciones requieren de actividades adicionales como la sincronización de discos.

Los RAID de niveles 2 y 3 se implementan con arreglos paralelos.

Arreglos independientes: son denominados así aquellos arreglos en los cuales cada disco integrante opera en forma independiente, aún en el caso de que le sea solicitado atender varios requerimientos en forma concurrente. Este modelo ofrece operaciones de entrada/salida sumamente rápidas debido a que cada disco está en posición de atender un requerimiento por separado. De esta forma las operaciones de entrada/salida serán atendidas a una velocidad cercana, 95%, a la suma de las capacidades de los discos presentes, mientras que la tasa de transferencia será similar a la de un disco individual debido a que cada archivo está almacenado en sólo un disco.

Los niveles 4 y 5 de RAID se implementan con arreglos independientes, mientras que los niveles 0 y 1 pueden ser implementados tanto en forma de arreglos independientes como en arreglos paralelos. Netware lo implementa como arreglos independientes a nivel del propio Sistema Operativo y, por lo tanto, no precisa de hardware o software adicional.

Tipos de RAID:

Lineal

Diferentes discos se enlazan uno detrás de otro para que el sistema vea un solo disco más grande. Si falla uno perdemos todo el sistema de ficheros.

RAID 0

La información se graba y se lee en paralelo entre varios discos. Como no hay redundancia el riesgo de fallos aumenta, pero el rendimiento es muy bueno.

RAID 1 : Mirrored Disk Array (MDA)

Conjunto de discos en espejo:

La configuración de nivel 1 de Raid o disco en espejo incluye dos unidades de disco:

1° unidad de datos y una unidad de replica. Cuando se describen datos en una unidad, también se escriben en la otra. El disco redundante es una replica exacta del disco de datos, por lo que se conoce también como disco espejo. Los datos pueden leerse de cualquiera de las 2 unidades de forma que si se avería la unidad de datos es posible acceder a la unidad de replica, con lo que el sistema puede seguir funcionando. Con el nivel de Raid se obtiene la misma velocidad de lectura/ escritura que una configuración normalizada de disco, por lo que constituye la mejor opción para aplicaciones que contienen un gran número de operaciones de escritura.

Ventajas

  • Mayor rendimiento en las lecturas de datos de las lecturas convencionales.
  • Podemos recuperar todos los datos en caso de error en unos de los discos ya que si un disco suspende la operación el otro continua disponible.


Inconvenientes

  • Bastante caro ya que necesitamos el doble de espacio que el necesario.
  • Moderada lentitud en la escritura de datos ya que la hemos de escribir en dos localizaciones.


Ambientes en donde implementarlos

Raid1 esta diseñado para sistemas en donde la disponibilidad de información es esencial y su reemplazo resultaría difícil y costoso (mas costoso que reponer el disco en si).

Típico en escrituras aleatorias pequeñas con tolerancia a fallas. El problema de este tipo de arreglos es el costo que implica duplicar el disco.

Raid 2 : Hamming code for Error Correction

Es el primer nivel de Raid que usa código de correcciones de error utilizando la " generación Hamming" de código de error.

Con único de paridad solo se puede detectar un único error, pero si esta interesado en la recuperación de más errores son necesarios más discos adicionales. Sistemas de nueve discos.

Este nivel cuenta con varios discos para bloques de redundancia y corrección de errores. La división es a nivel de bits, cada byte se graba con un bit de paridad en cada uno de los discos y un bit de paridad en el noveno. El acceso es simultaneo a todas las unidades tanto en operaciones de escritura como lectura. Algunos de estos discos son empleados para códigos de error, los cuales se emplean para referencias de los datos en caso de que falle uno de los discos. Este nivel tiene un costo bastante elevado ya que necesitamos muchos discos para mantener los códigos de error. Gracias a como están distribuidos los datos en los discos se consigue mejorar la velocidad de transferencia principalmente en la lectura ya que podemos emplear todos los discos en paralelo. Estos discos aunque proporcionen un buen rendimiento no son muy empleados ya que los niveles 1 –3 – 5 proporcionan una mayor relación costo/ rendimiento

Ventajas

• Se emplea para mejorar la demanda y también la velocidad de transferencia.

• Podemos recuperar los datos gracias a los discos de código de error.

Inconvenientes

• Solución cara ya que requeriremos muchos discos para guardar los códigos de error.

• Tiempo de escritura de datos bastante lentos, incluso aunque los datos se separen el los diferentes discos

Raid 3

Sistemas de disco en paralelo con disco de paridad para corrección de errores.
Conocido también como Striping con paridad delicada.
Utiliza también un disco de protección de información separado para almacenar información de control codificada con lo que se logra una forma mas eficaz de proporcionar redundancia de datos. Este control de información codificada o paridad proviene de los datos almacenados en los discos y permite la reconstrucción de información en caso de fallas. Se requieren como mínimo 3 discos y se utiliza la capacidad de un disco para la información de control.
Los datos se dividen fragmentos que se transfieren a los discos que funcionan en paralelo, lo que permiten enviar mas datos de una sola vez, y aumentar en forma sustancial la velocidad general de transferencia de datos. Esta ultima característica convierte a este nivel en idóneo para que estas aplicaciones que requieran la transferencia de grandes ficheros contiguos hacia y desde el ordenador central.

Resultan mas adecuados para sistemas en los que transfieren grandes cantidades de datos secuencialmente , ejemplo audio, video. Para estos es el nivel Raid mas eficiente ya que nunca es necesario leer modificar, escribir el bloque de paridad. Es menos apropiado para el tipo de acceso de base de datos en los cuales se necesitan transferir pequeñas unidades de datos de manera aleatoria.

No obstante en aquellos entornos en los que muchos usuarios desean leer y escribir múltiple registros aleatorios, las peticiones de operaciones de entrada /salida simultaneas pueden sobrecargar y ralentizar el sistema. En el nivel 3 de Raid los discos participan en cada transacción, atendiendo cada petición de Entrada /Salida de una en una. Por consiguiente el nivel 3 de Raid no es una opción adecuada para operaciones transaccionales, en la que la mayor parte del tiempo se emplea en buscar pequeños registros esparcidos aleatoriamente en los discos.

Ventajas

•Alto rendimiento para aplicaciones de velocidad de transferencia alta.
• Gracias al disco de paridad podemos recuperar datos.

Inconvenientes

•Si perdemos el disco de paridad perdemos toda la información redundante que teníamos
• Tipo de escritura de datos bastante lento.

RAID 4 Independient Disk Array (IDA)

Sistemas de discos independientes con disco de control de errores .

En el nivel 4 de raid los bloques de datos pueden ser distribuidos a través de un grupo de discos para reducir el tiempo de transferencia y explotar toda la capacidad de transferencia de datos de la matriz de disco .El nivel 4 de Raid es preferible al nivel 2 de Raid para pequeños bloques de datos , por que en este nivel , los datos son distribuidos por sectores y no por bits .Otra ventaja del nivel 4 de RAID frente a los niveles 2 y 3 es que al mismo tiempo puede estar activa mas de una operación de lectura escritura sobre el conjunto de discos .

Cada disco graba un bloque de datos distinto, y un disco adicional graba un código de corrección de errores. Si falla un disco, su información se puede recomponer; solo perdemos la capacidad de un disco, pero éste está muy saturado.

El nivel 4 de RAID tiene división a nivel de bloques y el acceso al arreglo de discos es paralelo , pero no simultaneo . Posee un delicado aparidad y correccion de errores . La operación de escritura se realiza en forma secuencial y la lectura en paralelo ,

Ventajas :

• Buen rendimiento en las escrituras de datos
• Tiene integridad de datos

Inconvenientes

• Si perdemos el disco de parida , perdemos toda la información redundante que Teniamos .
• Meno rendiemiento en las lecturas de datos

RAID 5

igual que el anterior, pero el disco que graba el código de corrección se va alternando. Rápido, seguro, y sólo pierde la capacidad de un disco...pero necesita al menos 3 discos.

RAID-6

Este tipo es similar al RAID-5, pero incluye un segundo esquema de paridad distribuido por los distintos discos y por tanto ofrece tolerancia extremadamente alta a los fallos y las caídas de disco. Hay pocos ejemplos comerciales en la actualidad.

RAID-7

Este tipo incluye un sistema operativo incrustado de tiempo real como controlador, haciendo las operaciones de caché a través de un bus de alta velocidad y otras características de un ordenador sencillo. Un vendedor ofrece este sistema.

Raid 10

La información se distribuyen en bloques como el Raid 0 y adicionalmente , cada disco se duplica como raid 1 , creando un segundo nivel de arreglo se conoce como "Striping de arreglos duplicados " . Se requieren , dos canales , dos discos para cada canal y se utilizan el 50 % de la capacidad para información de control

Ventajas

• Este nivel ofrece un 100 % de redundancia de la información y un soporte para grandes volúmenes de datos , donde el precio no es un factor importante .

Ambientes donde implementarlo

Ideal para sistemas de emisión critica , donde se requiera mayor confiabilidad de la información , ya que pueden fallar dos discos inclusive (uno por cada canal) y los datos todavía se mantienen en linea .Es apropiado tambien en escritura aleatorias pequenas .

Raid 30

Es ideal para aplicaciones no interactiva , tal como señales de grafico e imágenes .Se conoce tambien como Striping de arreglos de paridad dedicada .La información es distribuidad atravez de los discos , como en Raid 0 y utiliza paridad dedicada , como Raid 3 , en un segundo canal , requiere minimo 6 discos.

Ventajas

• Proporciona una alta confiabilidad igual que el Raid 10 ya que tambien es capaz de tolerar dos fallas físicas en canales diferentes , manteniendo la información disponible

Ambientes donde implementarlo :

Raid 30 es mejor para aplicaciones no interactivas , tal como señales de video , graficos , que procesan secuencialmete grandes archivos y requieren alta velocidad y disponibilidad

Raid 50

Esta diseñado apar aplicaciones que requieren un almecenamiento altamente confiable una elevada tasa de lectura y un buen rendimiento en la transferencia de datos con un nivel de Raid 50 , la información se freparte en lso discos y se usa parida distribuidad , po eso se conoce como Striping de arreglo de paridad distribuidas .Se requiere minimo 6 discos

Ventajas

• Se logra confiabilidad de la información , un buen rendimiento en gral , y ademas soporta grandes volúmenes de datos. Igualmente si dos discos sufren fallas físicas en difirentes canales , la información no se pierde .

Ambientes donde implementarlo

Raid 50 es ideal para aplicaiones que requieran un almacenamiento altamente confiable , una elevada tasa de lectura , y un buen rendimiento en la transferencia de datos .A este nivel se encuentran aplicaciones de oficina con muchos usuarios accediendo apequeños archivos , al igual que procesamiento de transacciones .

RAID-53. Este tipo ofrece un conjunto de bandas en el cual cada banda es un conjunto de discos RAID-3. Esto proporciona mejor rendimiento que el RAID-3, pero a un costo mucho mayor.

Pero de todos estos los que más destacan son los niveles 0,1,3,5, y 10 o RAID 0&1. Todos los demás vienen siendo variaciones de estos últimos.

Acrónimos

RAID Redundant Array of independent Disks
SLED Single Large Expensive Disk
HD Hard Disk
MTBDL Mean Time before Data Loss
MTBF Mean Time Between failures
DSA Data Striping Without Parity
MDA Mirrored Disk Array
PDA Parallel Disk Array
IDA Independient Disk Array

Glosario

Duplex controler: Controladora doble. Son controladoras de disco que pueden trabajar de modo simple o de forma doble, para que la carga de la controladora sea distribuida y más eficaz.
Hot swap: Son discos que se reemplazan en caliente. Esto quiere decir que si alguno de los discos RAID se estropeara físicamente bastaría con quitarlo y poner otro sin tener que apagar el sistema.
Hot spare: Disco sobrante. Es un disco que permanece siempre en el sistema esperando a que uno se estropee y entre directamente en funcionamiento.
Integridad de los datos: Es la capacidad que tiene un disco de aguantar un error de grabación de corrupción o perdida de datos. Para tal efecto se tiene que seleccionar un disco RAID o alguna alternativa. El nivel de integridad es uno de los primeros criterios que ser han de investigar.
Mirroring: Haciendo espejo. Es un nivel de RAID (el nivel 1) que pasa por hacer una copia integra de un disco en otro.
Paridad: Es una información redundante que es guardada para regenerar datos perdidos por un error en el disco. La paridad se genera haciendo XOR sobre los datos de los discos y guardándolo en otro disco o en un disco dedicado a ese efecto, esto dependerá del nivel de RAID que usemos.
Reconstrucción o regeneración: Cuando un disco falla la información redundante en los discos y los datos en los discos buenos son usados para regenerar la información del disco averiado.
Redundat Power Supplies: Fuente de alimentación redundante. El sistema consta de dos fuentes de alimentación. Si uno se estropea se pone en marcha, pudiéndose cambiar la estropeada en caliente.
Sistemas Basados en Velocidad de Demanda: Son aquellos en que se requieren un gran numero de demandas de E/S en el menor tiempo posible. Una alta velocidad de demanda es típica en sistemas multiusuario o en aplicaciones de bases de datos en las que se generan un gran numero de pequeñas demandas de E/S. En este caso cada disco del conjunto puede procesar una demanda simultáneamente.
Sistemas Basados en Velocidad de Transferencia: Son aquellos que intentan satisfacer una sola demanda con la máxima velocidad. Un claro ejemplo son las aplicaciones de ingeniería científicas imágenes, etc.
En estos sistemas el tamaño de la demanda es mucho más grande que en los sistemas basados en velocidad de demanda, para el que emplea todos los discos del conjunto en paralelo para satisfacer una mayor demanda en el mínimo tiempo posible.


Escrito por
Claudio Seror
Técnico electrónico y tercer año de analista de sistemas

_____________
Fuente