martes, 28 de agosto de 2007

Historia

A Norman Ouchi de IBM le fue concedida en 1978 la Patente USPTO nº 4,092,732, titulada «Sistema para recuperar datos almacenados en una unidad de memoria averiada» (System for recovering data stored in failed memory unit), cuyas demandas describen los que más tarde sería denominado escritura totalmente dividida (full striping). Esta patente de 1978 también menciona la copia espejo (mirroring o duplexing), que más tarde sería denominada RAID 1, y la protección con cálculo de paridad dedicado, que más tarde sería denominada RAID 4, que eran ya arte previo en aquella época.
La tecnología RAID fue definida por primera vez en 1987 por un grupo de informáticos de la Universidad de California, Berkeley. Este grupo estudió la posibilidad de usar dos o más discos que aparecieran como un único dispositivo para el sistema.
En 1988, los niveles RAID 1 a 5 fueron definidos formalmente por David A. Patterson, Garth A. Gibson y Randy H. Katz en el ensayo «Un Caso para Conjuntos de Discos Redundantes Económicos (RAID)» —A Case for Redundant Arrays of Inexpensive Disks (RAID)—, publicado en la Conferencia SIGMOD de 1988. El término «RAID» se usó por vez primera en este ensayo, que dio origen a toda la industria de los conjuntos de discos.

Ventajas de RAID

Tolerancia a fallos: RAID protege contra la pérdida de datos
Mejora del Rendimiento/ Velocidad: RAID permite a varias unidades trabajar en paralelo, lo que aumenta el rendimiento del sistema.
Mayor Fiabilidad: RAID emplea dos técnicas para aumentar la fiabilidad:
La redundancia de los datos implica el almacenamiento de los mismos datos en más de una unidad. Es muy eficaz pero también es muy costoso.
La paridad de datos se realiza mediante un algoritmo matemático. Es menos costoso que la redundancia, ya que no requiere el uso de un conjunto redundante de unidades de disco.
Alta Disponibilidad: Se divide en dos aspectos:
La integridad de los datos, capacidad de obtener los datos adecuados en cualquier momento. Reparación dinámica de sectores (debidos a errores de software)
La tolerancia a fallos capacidad para mantener los datos disponibles en caso de que se produzcan uno o varios fallos en el sistema.

Niveles de RAID

La elección de los diferentes niveles de RAID va a depender de las necesidades del usuario en lo que respecta a factores como seguridad, velocidad, capacidad, coste, etc.
Cada nivel de RAID ofrece una combinación específica de tolerancia a fallos (redundancia), rendimiento y coste, diseñadas para satisfacer las diferentes necesidades de almacenamiento. La mayoría de los niveles RAID pueden satisfacer de manera efectiva sólo uno o dos de estos criterios. No hay un nivel de RAID mejor que otro; cada uno es apropiado para determinadas aplicaciones y entornos informáticos. De hecho, resulta frecuente el uso de varios niveles RAID para distintas aplicaciones del mismo servidor. Oficialmente existen siete niveles diferentes de RAID (0-6), definidos y aprobados por el el RAID Advisory Board (RAB). Luego existen las posibles combinaciones de estos niveles (10, 50,...).
Los niveles RAID 0, 1, 0+1 y 5 son los más populares.

RAID 0: Disk Striping "La más alta transferencia, pero sin tolerancia a fallos".


También conocido como "separación ó fraccionamiento".
Los datos se desglosan en pequeños segmentos y se distribuyen entre varias unidades. Este nivel de "array" o matriz no ofrece tolerancia al fallo.
El fallo de cualquier disco de la matriz tendría como resultado la pérdida de los datos y sería necesario restaurarlos desde una copia de seguridad.
Por lo tanto, RAID 0 no se ajusta realmente al acrónimo RAID. Consiste en una serie de unidades de disco conectadas en paralelo que permiten una transferencia simultánea de datos a todos ellos, con lo que se obtiene una gran velocidad en las operaciones de lectura y escritura.
La velocidad de transferencia de datos aumenta en relación al número de discos que forman el conjunto. Esto representa una gran ventaja en operaciones secuenciales con ficheros de gran tamaño.
Por lo tanto, este array es aconsejable en aplicaciones de tratamiento de imágenes, audio, video o CAD/CAM, es decir, almacenamiento a gran velocidad pero que no requiera tolerancia a fallos.
Se necesita un mínimo de dos unidades de disco para implementar una solución RAID 0.

RAID 1: Mirroring "Redundancia. Más rápido que un disco y más seguro"


También llamado "Mirroring" o "Duplicación" (Creación de discos en espejo).
Se basa en la utilización de discos adicionales sobre los que se realiza una copia en todo momento de los datos que se están modificando.
RAID 1 ofrece una excelente disponibilidad de los datos mediante la redundancia total de los mismos. Para ello, se duplican todos los datos de una unidad o matriz en otra. De esta manera se asegura la integridad de los datos y la tolerancia al fallo, pues en caso de avería, la controladora sigue trabajando con los discos no dañados sin detener el sistema.
Los datos se pueden leer desde la unidad o matriz duplicada sin que se produzcan interrupciones. RAID 1 es una alternativa costosa para los grandes sistemas, ya que las unidades se deben añadir en pares para aumentar la capacidad de almacenamiento.
RAID 1 es una buena solución para las aplicaciones que requieren redundancia cuando hay sólo dos unidades disponibles. Los servidores de archivos pequeños son un buen ejemplo.
Se necesita un mínimo de dos unidades para implementar una solución RAID 1

RAID 2: "Acceso paralelo con discos especializados. Redundancia a través del código Hamming"


El RAID nivel 2 adapta la técnica usada para detectar y corregir errores en memorias de estado sólido.
RAID 2 no ha sido a penas implementado en productos comerciales, lo que también es debido a que requiere características especiales en los discos y no usa discos estándares.

RAID 3: "Acceso síncrono con un disco dedicado a paridad"


Dedica un único disco al almacenamiento de información de paridad.
La información de ECC (Error Checking and Correction) se usa para detectar errores.
La operación I/O accede a todos los discos al mismo tiempo.
Se necesita un mínimo de tres unidades para implementar una solución RAID 3.

RAID 4: "Acceso Independiente con un disco dedicado a paridad."


Dedica un disco para guardar la información de paridad de los otros discos.
Este nivel de RAID se implementa poco comercialmente.
Se necesita un mínimo de tres unidades para implementar una solución RAID 4.
La diferencia con el RAID 3 está en que se puede acceder a los discos de forma individual.

RAID 5: "Acceso independiente con paridad distribuida."


Este array ofrece tolerancia al fallo, pero además, optimiza la capacidad del sistema permitiendo una utilización de hasta el 80% de la capacidad del conjunto de discos. Esto lo consigue mediante el cálculo de información de paridad y su almacenamiento alternativo por bloques en todos los discos del conjunto.
Si cualquiera de las unidades de disco falla, se puede recuperar la información en tiempo real, sobre la marcha, mediante una simple operación de lógica de O exclusivo, sin que el servidor deje de funcionar.
Así pues, para evitar el problema de cuello de botella que plantea el RAID 4 con el disco de comprobación, el RAID 5 no asigna un disco específico a esta misión sino que asigna un bloque alternativo de cada disco a esta misión de escritura.
Al distribuir la función de comprobación entre todos los discos, se disminuye el cuello de botella y con una cantidad suficiente de discos puede llegar a eliminarse completamente, proporcionando una velocidad equivalente a un RAID 0.
RAID 5 es el nivel de RAID más eficaz y el de uso preferente para las aplicaciones de servidor básicas para la empresa.
Comparado con otros niveles RAID con tolerancia a fallos, RAID 5 ofrece la mejor relación rendimiento-coste en un entorno con varias unidades.
Este nivel de array es especialmente indicado para trabajar con sistemas operativos multiusuarios.
Se necesita un mínimo de tres unidades para implementar una solución RAID 5.
Su resultado óptimo de capacidad se obtiene con siete o más unidades.
RAID 5 es la solución más económica por megabyte, que ofrece la mejor relación de precio, rendimiento y disponibilidad para la mayoría de los servidores.

RAID 6: "Acceso independiente con doble paridad"


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 a las caídas de disco, ofreciendo dos niveles de redundancia. Hay pocos ejemplos comerciales en la actualidad, ya que su coste de implementación es mayor al de otros niveles RAID, ya que las controladoras requeridas que soporten esta doble paridad son más complejas y caras que las de otros niveles RAID. Así pues, comercialmente no se implementa.

Combinación de Niveles RAID

Algunos Niveles RAID pueden combinarse en un mismo Arreglo de Discos. Es muy común encontrar Sistemas Disk Array que admiten la combinación de 0+1 es decir, un striping de discos (RAID 0) espejados (RAID 1). Esta combinación requiere de por lo menos 4 discos (un mínimo de 2 discos en striping más igual cantidad espejando ese striping). Esta combinación brinda alta confiabilidad y velocidad, pero es ideal para bajas capacidades (el 50% de los discos está dedicado a la redundancia).

La tolerancia a fallas y la capacidad

Un Sistema Disk Array configurado en un Nivel RAID tolerante a fallas, ocupará determinada capacidad para albergar los datos de paridad.
Tomemos como ejemplo un Sistema Disk Array compuesto por 4 discos de 20GB cada uno, de modo que nuestro Sistema tendrá 80GB de capacidad total (4 x 20GB).
• Si lo configuramos en RAID 1, el 50% de la capacidad total estará dedicada a la redundancia, de modo que tendremos 40GB de capacidad disponible para albergar datos.
• Si al mismo sistema lo configuramos en RAID 3 o en RAID 5, un 20% de la capacidad total estará dedicada a los datos de paridad de manera que tendremos (aprox.) 60GB disponibles para almacenar datos.
• Si en cambio lo configuramos en RAID 3 o en RAID 5 más un disco en hot-spare para que tolere la falla de dos discos, tendremos entonces 40GB de capacidad disponible.

Back-up

El Disk Array y el Back-Up

Un Disk Array nos brinda seguridad de trabajo con nuestros datos, ya que en caso que falle algún componente o de hecho, se dañe alguno de los discos rígidos, el Sistema seguirá funcionando ininterrumpidamente y Ud. no perderá sus datos -dependiendo de los niveles de seguridad que Ud. haya elegido-.
Sin embargo, tener los datos en un Sistema Disk Array no significa que los datos estén resguardados. El resguardo de datos se hace para que sea lo que fuere que ocurra con nuestros discos rígidos, ya sean fallas del hardware, errores o siniestros -como robo, incendio, inundaciones, boicot, error humano, derrumbes en el edificio donde esté el sistema, etc.- que provoquen la pérdida parcial o total de nuestros datos; tengamos una copia de los datos de el día anterior o por lo menos de una semana atrás. Esa copia es el backup, que debe realizarse sobre una cinta o un medio óptico, y debe guardarse en un lugar físico distinto y alejado de donde se encuentran los discos. Entonces un Sistema Disk Array requiere indefectiblemente el Back-up.

Actualmente, todo el mundo experimenta el continuo incremento de la cantidad de datos que necesita archivar, consultar y transmitir. Los datos de computación son de misión crítica y nadie debería poner en riesgo sus negocios por no haberse preocupado de resguardar sus datos. Una estrategia de back-up adecuada es el seguro más efectivo contra incendios, inundaciones, crash de discos, errores humanos, robos, boicots o virus. Todas esas cosas pueden provocar la pérdida de sus datos y con ellos los datos de sus clientes, sus proyectos, y negocios; o -en el mejor de los casos- horas y horas de operaciones para recuperar los datos.
Además de sus funciones de backup, un sistema de almacenamiento en cinta es útil en otras aplicaciones como el almacenamiento jerárquico, el archivo, o la distribución de datos.
Recordar que: Sólo hay dos tipos de datos... Los datos que han sido 'backupeados" y los que no se han perdido... TODAVIA.


El costo de no hacer back-up

Una posibilidad diaria: que ocurra un desastre. Y actualmente, puede ocurrir. Incluso muy frecuentemente ocurre la pérdida de archivos aislados. El costo de recuperar esos datos puede ser muy significativo. La pérdida de archivos y datos, implica una gran pérdida de tiempo y también la pérdida de negocios o clientes en situaciones críticas o si no puede encontrar la información cuando la necesita.