Sistemas Raid

Indice
1. Introduccion
2. ¿Que es RAID?
3. Funcionamiento del RAID
4. Ventajas de los discos RAID5. Tipos de RAID

1. Introduccion

Gracias a la uní versificación de la informática, más personas están en contacto con el mundo de los ordenadores, ya sea para uso personal o profesional. Todo ha servido para una evolución más rápida de los diferentes componentes de los ordenadores. Desde hace 20 años la capacidad de proceso de los procesadores ha aumentado un 40 % cada año. En el mismo periodo de tiempo, los discos han doblado su capacidad cada año, mientras que su costo se ha reducido a la mitad. Desgraciadamente, el aumento del rendimiento de los discos duros ha sido menos importante en comparación con el rendimiento del sistema, ya que tan solo ha mejorado un 50 % durante la última década.

Por lo que teníamos y tenemos un problema con los discos duros, que son menos eficaces que el redimiendo general del sistema, provocando una descompensación entre el tratamiento de la información del sistema (muy rápido) y la lectura - grabación de datos en el disco duro(muy lenta). Para ello se invento un sistema para guardar información en varios discos duros a la vez por lo que acceso se hacia más rápido ya que la carga se distribuía entre los diferentes discos duros, a esto se le llamo cadenas redundantes de discos de bajo costo (RAID). Pero a la hora de saber como podemos optimizar nuestro RAID nos encontrábamos con algunos problemas, como puede ser encontrar la perfecta relación calidad precio 

En este Trabajo se intentará explicar que es RAID que tipos existen y que modelo es el que mejor se ajusta a las necesidades de cada usuario.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2. ¿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.

En un sistema multiusuario, un mejor rendimiento demanda que se establezca una banda lo suficientemente ancha para contener el registro de tamaño típico o el de mayor tamaño. Esto permite acciones I/O superpuestas en los distintos discos.

3. Funcionamiento del RAID

Básicamente el RAID es un sistema el cual permite almacenar información en una cantidad de discos (n), de tal forma que agilice el proceso maquina-disco.

El sistema RAID evitará en lo más posible la pérdida de data de la siguiente manera:

Los discos optimizados para RAID poseen circuitos integrados que detecta si el disco está fallando, de ser así este circuito se encargará por encima del tiempo real de sacar la información y almacenarla en los otros discos, o si es el caso en el "hot spare".

Un hot spare es un disco que permanece siempre en el sistema esperando a que otro se estropee y él entre directamente en funcionamiento.

Una de las ventajas del sistema RAID es la posibilidad, con los discos hot swap, de conectarlos y desconectarlos en "caliente", es decir, que si un disco falla no hará falta el apagar el sistema para remplazarlo.

Otras de las ventajas de RAID:

  1. Reconstrucción y 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 de disco averiado.

Striping Es el acto de unir dos o más discos físicos en un solo disco lógico con el fin de dividir los datos entre los diferente discos para ofrecer una significativa mejora en el rendimiento del conjunto de los discos.

 

 

Los datos son divididos a través de los discos. La lectura y escritura es compartida

 

 

La búsqueda de datos clásica fuerza a la lectura y escritura a no recordar su posición

 

resultando más movimientos de cabezas y peor eficiencia

 

 

La lectura de datos es etiquetada y reordenada. Los movimientos de las cabezas de lectura - escritura se realizan mas eficientemente cuando se buscan datos.

Historia del RAID

 

El término RAID hizo su debut oficial en 1989 en forma de un paper publicado por David Paterson, Garth Gibson y Randy Katz, todos ellos de la Universidad de California. El paper se titulaba "A case for Redundant Array of Inexpensive Disks".

 

En dicho trabajo el equipo definió cinco niveles para arreglos de discos cuyas funciones eran ofrecer mejoras en el rendimiento, confiabilidad, tasa de transferencia y tasas de lectura/escritura. Cada nivel tiene sus propias ventajas y desventajas, las cuales iremos revisando en el transcurso de la lectura.

Desde entonces, múltiples fabricantes han introducido y/o desarrollado variaciones a estos cinco niveles originales y las han bautizado en acuerdo a las genialidades de sus respectivos Departamentos de Marketing. Para propósitos de esta lectura usaremos las definiciones especificadas por el RAID Advisory Board, que es una institución conformada por un grupo de 40 empresas entre fabricantes y desarrolladores interesados en el tema de RAID y en su estandarización.

En el trabajo original el término RAID se refería a Redundant Array of Inexpensive Disks como una contraposición directa a los SLED (Single Large Expensive Disks). Sin embargo, las increíbles bajas en los precios de los discos duros han ocasionado que los SLED prácticamente desaparezcan, por lo tanto, el significado de la sigla ha cambiado y en la actualidad se la traduce como Redundant Array of Independent Disks.

4. Ventajas de los discos RAID

El rendimiento general del sistema aumenta ya que pueden funcionar de forma paralela con los diferentes discos del conjunto.

Dependiendo del nivel de RAID que escojamos, si uno de los discos del conjunto falla, la unidad continúa funcionando, sin pérdida de tiempo ni de datos. La reconstrucción de los datos del disco que ha fallado se hace de forma automática sin intervención humana. En el caso de algunos sistemas operativos la regeneración de datos se hace desde software por ejemplo en el Windows NT, aunque en estos sistemas se pueden usar controladoras RAID que sí regenerarían los datos automáticamente.

La capacidad global del disco aumentará, ya que se suman las capacidades de los diferentes discos que componen el conjunto.

¿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:

No consigue mejorar las velocidades de transferencia de archivos individuales, sólo mejora la cantidad de archivos accesados en forma concurrente.
Es obvio que el balance no es posible de mantener en el tiempo debido a la naturaleza eminentemente 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 residir 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. Más recientemente fabricantes independientes han ofrecido al mercado arreglos de discos basados en software que pueden correr en formato NLM (Netware Loadable Module) sobre un Servidor Netware.

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 cada uno y como operan 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.

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 español: 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 por cualquiera de las categorías, sin perjuicio de suelan ser implementados en forma de arreglos independientes.
Stripping y mirroring
RAID a niveles 0, 1 y 0 & 1 puede ser implementado, tanto en forma de arreglos independientes o paralelos. Netware lo implementa como arreglos independientes a nivel del propio Sistema Operativo y, por lo tanto, no precisa de hardware o software adicional.

5. Tipos de RAID

Como ya se mencionaron hay al menos nueve tipos de RAID además de un grupo no redundante (RAID-0)
RAID-0. Esta técnica tiene bandeado paro no tiene redundancia de datos. Ofrece el mejor rendimiento pero no tolerancia a los fallos.

RAID-1. Este tipo también se conoce como creación de discos espejo y consiste de al menos dos discos duros que duplican el almacenamiento de datos. No hay bandeado. El rendimiento de la lectura se mejora pues cualquiera de los dos discos puede leerse al mismo tiempo. El rendimiento de escritura es el mismo que el del almacenamiento en un solo disco. El RAID-1 proporciona el mejor rendimiento y la mejor tolerancia a fallos en un sistema multiusuario.

RAID-2. Este tipo usa bandeado en todos los discos, con algunos de estos dedicados a almacenar información de verificación y corrección de errores (error checking and correcting, ECC). No tiene ninguna ventaja sobre el RAID-3.

RAID-3. Este tipo usa bandeado y dedica un disco al almacenamiento de información de paridad. La información de verificación de errores (ECC) incrustada se usa para detectar errores. La recuperación de datos se consigue calculando el O exclusivo (XOR) de la información registrada en los otros discos. Dado que una operación I/O accede a todos los discos al mismo tiempo, el RAID-3 no puede traslapar I/O. Por esta razón, el RAID-3 es mejor para sistemas de un solo usuario con aplicaciones que contengan grandes registros.

RAID-4. Este tipo usa grandes bandas, lo cual significa que podemos leer registros de cualquier disco individual. Esto nos permite aprovechar la I/O traslapada para las operaciones de lectura. Dado que todas las operaciones de escritura tienen que actualizar el disco de paridad, no es posible la superposición I/O para ellas. El RAID-4 no ofrece ninguna ventaja sobre el RAID-5.

RAID-5. Este tipo incluye un grupo rotatorio de paridad, con lo que resuelve las limitaciones de escritura en RAID-4. Así, todas las operaciones de lectura y escritura pueden superponerse. El Raid 5 almacena información de paridad pero no datos redundantes (aunque la información de paridad puede usarse para reconstruir datos). El RAID-5 exige al menos tres y usualmente cinco discos en el conjunto. Es mejor para los sistemas multiusuario en los cuales el rendimiento no es crítico, o que realizan pocas operaciones de escritura.


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. Este tipo ofrece un conjunto de bandas en el que cada banda es un grupo de discos RAID-1. Esto proporciona mejor rendimiento que el RAID-1, pero a un costo mucho mayor.

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. En la siguiente página explicaremos más a fondo las ventajas y la forma de configuración de estos últimos niveles.

 

RAID 0: Este tipo de arreglo utiliza una técnica llamada "striping", la cual distribuye la información en bloques entre los diferentes discos. Es el único nivel de RAID que no duplica la información, por lo tanto no se desperdicia capacidad de almacenamiento. Se requieren mínimo dos discos.


RAID 0


Ventajas: RAID-0 permite acccesar más de un disco a la vez, logrando una tasa de transferencia más elevada y un rápido tiempo de acceso. Por no utilizar espacio en información redundante, el costo por Megabyte es menor.

Desventaja: No existe protección de datos. No existe información en cuanto a

Paridad.

Ambientes donde implementarlo: Es una buena alternativa en sistemas donde sea más importante el rendimiento que la seguridad de los datos. Es decir ambientes que puedan soportar una pérdida de tiempo de operación para poder reemplazar el disco que falle y reponer toda la información.

 

RAID 1: Este nivel de RAID usa un tipo de configuración conocido como "mirroring", ya que la información de un disco es completamente duplicada en otro disco. Así mismo, también se puede duplicar el controlador de disco (duplexing). Se desperdicia el 50% de la capacidad y sólo maneja dos discos.

 

 



RAID 1

 

 

Ventajas: Se protege la información en caso de falla tanto del disco como del controlador (en caso de duplex), ya que si un disco suspende su operación el otro continua disponible. De este modo se evita la pérdida de información y las interrupciones del sistema debido a fallas de discos.

Desventajas: Gran consumo de necesidades hardware, 100% paridad y coste alto pues es necesario el doble de discos.

Ambientes donde implementarlo: RAID-1 está diseñado para sistemas donde la disponibilidad de la información es esencial y su reemplazo resultaría difícil y costoso (más costoso que reponer el disco en sí). Típico en escrituras aleatorias pequeñas con tolerancia a fallas. El problema de este tipo de arreglos es el costo que implica duplicar los discos.

 

RAID 3: Conocido también como "striping con paridad dedicada", utiliza un disco de protección de información separado para almacenar información de control codificada. Esta información de control codificada o paridad proviene de los datos almacenados en los discos y permite la reconstrucción de la información en caso de falla. Se requieren mínimo tres discos y se utiliza la capacidad de un disco para la información de control.

 

RAID 3

 

Ventajas: RAID-3 proporciona una alta disponibilidad del arreglo, así como una tasa de transferencia elevada, mejorando de ese modo el rendimiento del sistema.

Desventajas: Un disco de paridad dedicado puede convertirse en un cuello de botella porque cada cambio en el grupo RAID requiere un cambio en la información de paridad. No plantea una solución al fallo simultáneo en dos discos. Está especialmente recomendado para aplicaciones que requieran archivos de datos de un gran tamaño (vídeo, imágenes, DataWare House).

Ambientes donde implementarlo: Es típico para transferencia larga de datos en forma serial , tal como aplicaciones de imágenes o video

RAID 5: Este nivel de RAID es conocido como "striping con paridad distribuida", ya que la información se reparte en bloques como RAID-0, pero un bloque de cada disco se dedica a la paridad. Es decir la data codificada se añade como otro sector que rota por los discos igual que los datos ordinarios. Se requieren mínimo tres discos.

 

 

 

 


RAID 5

 

Ventajas: Es el esquema de protección de información más usado comúnmente, ya que proporciona un buen rendimiento general con una mínima pérdida de capacidad. Además el sistema tiene suficiente redundancia para ser tolerante a fallos.

Desventajas: Menores prestaciones que en RAID 1. No plantea una solución al fallo simultáneo en dos discos.


Ambientes donde implementarlo: Es recomendable para aplicaciones intensas de entrada/salida y de lectura/escritura, tal como procesamiento de transacciones.

RAID 10: Es un nivel de arreglo de discos, donde la información se distribuye en bloques como en RAID-0 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 utiliza el 50% de la capacidad para información de control. También se le conoce como RAID 0&1

 

 

 


RAID 10

 

 

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.

Desventajas: Coste elevado, gran overhead y 100% de redundancia

Ambientes donde implementarlo: Ideal para sistemas de misión crítica 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 línea. Es apropiado también en escrituras aleatorias pequeñas. 

Glosario

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 él 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 pérdida de datos. Para tal efecto se tiene que seleccionar un disco RAID o una alternativa. El nivel de integridad es uno de los primeros criterios que se han de investigar.

Mirroring: Haciendo espejo. Es un nivel de RAID (el nivel 1) que pasa por hacer una copia íntegra 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 un XOR sobre los datos de los discos y aguardándolo en otro disco o en un disco dedicado a este efecto, esto dependerá del nivel RAID que usemos.

RAID: Redundat Array of Inexpensive Disk Conjunto de discos con información redundante de bajo costo. Reconstrucción o regeneración: Cuando un disco falla la informacón redundante en los discos y los datos en los discos buenos son usados para regenerar la informacón del disco averiado.

Striping: es el acto de unir dos o más discos físicos en un solo disco lógico con el fin de dividir los datos entre los diferentes discos para ofrecer una significativa mejora en el rendimiento del conjunto de los discos.

 

Trabajo enviado y realizado por:
Francisco Armando Dueñas Rodríguez
fduenas_@hotmail.com
Edad: 23 años
Universidad La Salle
Lic. en Informática
Cancún, Quintana Roo México