Indice
1.
Introduccion
2.
¿Que es 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.
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:
- 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.
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
Edad: 23 años
Universidad La
Salle
Lic. en Informática
Cancún, Quintana Roo México