raid bases datos 2

19
RAID

Upload: barto

Post on 25-May-2015

907 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Raid bases datos 2

RAID

Page 2: Raid bases datos 2

Discos• Los discos son posibles cuellos de botella para el

rendimiento de sistemas y la confiabilidad de sistema de almacenamiento. – El rendimiento del disco ha mejorado continuamente

• Tiempos de acceso a disco mejora 10% por año• Velocidad de transferencia mejora 20% por año

– El rendimiento del microprocesador ha avanzado mucho más rápidamente

• 50% o más por año

• Discos contienen elementos mecánicos – Más probabilidades de fallos que las partes

electrónicas• Si un disco falla todos los datos almacenados en él

se pierden.

Page 3: Raid bases datos 2

Arreglo de discos

• Arreglo de varios discos– Aumentar rendimiento– Mejorar la confiabilidad

• Rendimiento– Reparto de Datos: Reparto de bloques de un archivo a

lo largo de múltiples unidades de disco.• Confiabilidad

– Redundacia: Se mantiene información redundante, organizada ya que si hay fallo se pueda usar para reconstruir el contenido del disco que falló.

Page 4: Raid bases datos 2

RAID: Redundant Arrays of Independent Disks

• Arreglos redundantes de discos independientes– Arreglos de discos que implementan una

combinación de Reparto de Datos y Redundancia.

• Niveles de RAID– Cada uno representa una distinta

combinación de Confiabilidad y Rendimiento.

Page 5: Raid bases datos 2

Reparto de Datos – Data Striping• Los datos son segmentados en particiones

de igual tamaño distribuidos sobre múltiples discos.

• El tamaño de la partición se llama la Unidad de Reparto.– Usualmente se distribuyen con el algoritmo

round robing. Si tenemos D discos, la partición i se escribe en el disco i mod D.

• Si muchas E/S del tamaño de bloque son hechas y los bloques están en diferentes discos se procesan los pedidos en paralelo y se reduce el tiempo de respuesta promedio.

Page 6: Raid bases datos 2

Redundancia

• Tener más discos aumenta el rendimiento pero disminuye la confiabilidad.

• Si el MTTF de un disco es 50.000 horas (Unos 5.7 años), entonces el MTTF de un arreglo de 100 discos es solo 50.000/100 = 500 horas o 21 días.– Las fallas ocurren al principio y al final de sus

vidas

Page 7: Raid bases datos 2

Confiabilidad de un arreglo de discos

• Se puede aumentar almacenando información redundante.– Aumenta el MTTF de un arreglo de discos

• Redundancia:1. Decidir dónde almacenar la información reduntante.

(En un número pequeño de discos de chequeo o distribuirla uniformemente entre los discos)

2. Cómo calcular la información redundante.

(Información de paridad, un disco extra de chequeo contiene información que puede ser usada para recuperarse de un fallo) Reconstrucción de la información perdida requiere leer todos los datos de los discos y los discos de chequeo.

Page 8: Raid bases datos 2

Redundancia

• Por ejemplo: con 10 discos adicionales con información redundante el MTTF de nuestro ejemplo anterior con 100 discos aumenta más de 250 años.

• En un sistema RAID el arreglo de discos se divide en Grupos de Confiabilidad– Un grupo de confiabilidad consiste en un set

de discos de datos y un set de discos de chequeo

– El # de discos de chequeo depende del nivel de RAID escogido

Page 9: Raid bases datos 2

Niveles de Redundancia

Page 10: Raid bases datos 2

RAID Nivel 0: No Redundante

• Usa Reparto de Datos para incrementar el máximo ancho de banda disponible.

• No se mantiene información redundante• Solución de menor costo• Problema con la confiabilidad, MTTF disminuye

linealmente con el número de discos en el arreglo• Tiene el mejor rendimiento de escritura (no se

actualiza información redundante)• No tiene el mejor nivel de lectura (los sistemas

con redundancia tienen una opción de programar accesos de discos)

Para el ejemplo de 4 discos la solución RAID nivel 0 consiste de sólo 4 discos de datos. Independiente del número de discos de datos el espacio efectivo utilizado de un sistema RAID nivel 0 es siempre 100%

Page 11: Raid bases datos 2

Nivel 1: Espejo• La solución más cara• Se mantienen dos copias idénticas de los datos en

dos discos diferentes• Cada escritura de un bloque de disco requiere

escribir en ambos• Se pueden distribuir lecturas entre dos discos y

permitir lecturas paralelas de diferentes bloques de discos que conceptualmente residen en el mismo disco

• No reparte los datos en discos diferentes• La velociad de transferencia para un pedido es

comparable a la velocidad de transferencia de un disco

Para el ejemplo de 4 discos la solución RAID nivel 1 consiste en cuatro discos de datos y cuatro discos de chequeo con datos de espejo. El espacio efectivo utilizado es 50%, independiente del número de discos de datos.

Page 12: Raid bases datos 2

Nivel 0+1: Reparto y Espejo

• También referido como RAID Nivel 10• Combina Reparto y Espejo• Pedidos de lectura del tamaño de un bloque de

disco pueden programarse a un disco o a una imagen de espejo

• El costo de escritura es análogo al del RAID nivel 1.

Para el ejemplo de 4 discos la solución RAID nivel 0+1 es igual al del Nivel 1 consiste en cuatro discos de datos y cuatro discos de chequeo. El espacio efectivo utilizado es 50%, independiente del número de discos de datos.

Page 13: Raid bases datos 2

Nivel 2: Códigos correctores de errores• La unidad de reparto es un sólo bit

– En un arreglo de discos con D discos, la unidad más pequeña de transferencia para una lectura es un set de D bloques

– El nivel 2 es bueno para pedidos grandes, ya que para cada peido el ancho de banda agregado de todos los discos es usado. El nivel 2 es malo para pedidos pequeños del tamaño de un bloque individual por la misma razón.

• El esquema de redundancia es el Hamming Code

• El número de discos de chequeo crece logarítmicamente con el número de discos de datos.

Para el ejemplo de 4 discos la solución RAID 2 necesita cuatro discos de datos y tres discos de chequeo.

Page 14: Raid bases datos 2

Ciclo leer-modificar-escribir

• Si C es el número de discos de chequeo• Escribir un bloque requiere leer D

bloques en memoria, modificar D+C bloques y escribir D+C bloques en disco

Para el ejemplo de 4 discos la solución RAID 2 necesita cuatro discos de datos y tres discos de chequeo. El espacio efectivo utilizado es 57%, y aumenta con el número de discos de datos.Por ejemplo con 10 discos, se necesitan 4 de chequeo y el espacio efectivo utilizado es de 71%. Con 25 discos, cinco discos de chequeo y el espacio efectivo utilizado es de 83%.

Page 15: Raid bases datos 2

Nivel 3:bits de paridad intercalada

• El esquema de redundancia en el nivel mejora costos del nivel 1 guarda mpas información redundante de la que es necesaria

• El código Hamming puede identificar qué disco ha fallado pero los controladores de disco pueden detectar fácilmente qué disco ha fallado

• Los discos de chequeo no necesitan guardar información para identificar el disco que falló

• Es suficiente la información para recuperar datos perdidos

• Tiene un sólo disco de chequeo con información de paridad

• Parecido al nivel 2, procesa un E/S cada vez y la unidad de transferencia mínima es D bloques

• Escribir requiere un ciclo leer-modificar-escribir.

Page 16: Raid bases datos 2

Nivel 4: bloque de paridad intercalada

• Tiene una unidad de reparto de un bloque de disco• Pedidos de lectura del tamaño de un bloque pueden ser

respondidos enteramente por el disco donde el bloque se encuentra

• Grandes pedidos de lectura todavía pueden utilizar el ancho de bando agregado de los D discos

• La escritura de un sólo bloque requiere un ciclo leer-modificar-escribir, pero sólo un disco de datos y el disco de chequeo se involucran

• La paridad en el disco de chequeo se puede actualizar sin leer todos los bloques en los D discos– La nueva paridad se obtiene:

NuevaParidad=(DatosViejo XOR Datosnuevo) XOR ViejaParidad

Para el ejemplo de 4 discos la solución RAID 3 y 4 necesita cuatro discos de datos y un disco de chequeo. El espacio efectivo utilizado es 80%, y aumenta con el número de discos de datos, ya que siempre se necesita un solo disco de chequeo.

Page 17: Raid bases datos 2

Nivel 5: bloque de paridad intercalada distribuidos

• Mejora el nivel 4 ya que distribuye los bloques de paridad uniformemente sobre todos los discos, en vez de un solo de chequeo

• Ventajas:1. Pedidos de escritura pueden procesarse en paralelo y el cuello de botella de un

sólo disco de chequeo se puede eliminar.2. Pedidos de lectura tiene un nivel más alto de paralelismo, ya que los datos se

distribuyen en todos los discos. En lo sistemas con un sólo disco de chequeo este no participa en lecturas.

• Tiene el mejor rendimiento de todos los niveles RAID con redundancia para pedidos grandes y pequeños de lectura y grandes pedidos de escritura.

• Pedidos pequeños de escritura todavía requieren un ciclo leer-modificar-escribir y son menos eficientes que el RAID nivel 1.

Para el ejemplo de 4 discos la solución RAID 5 necesita cinco discos en total. El espacio efectivo utilizado es el mismo que el nivel 3 y 4.

Page 18: Raid bases datos 2

Nivel 6: Redundancia P+Q• La motivación del nivel 6 es la observación que la

recuperación de un fallo de un sólo disco no es suficiente en discos de arreglos muy grandes:– Un segundo disco puede fallar antes de

reemplazar a un disco que ya ha fallado• Utiliza códigos de Reed-Solomon para recuperarse

de hasta dos fallos de discos simultáneos• Requiere conceptualmente dos discos de chequeo

pero distribuye uniformemente información redundante a nivel de bloque como el Nivel 5

• El rendimiento para pedidos grandes y pequeños de lectura y grandes pedidos de escritura es análogo al nivel 5 ya que dos bloques con información redundante deben actualizarse.

Para el ejemplo de 4 discos la solución RAID 6 necesita seis discos en total. El espacio efectivo utilizado es del 66%.

Page 19: Raid bases datos 2

Elección de niveles de RAID• Si la pérdida de datos no es un problema RAID nivel 0

mejora el rendimiento general del sistema al menor costo• RAID nivel 0+1 es superior al nivel 1

– Subsistemas de almacenamiento pequeño donde el costo de espejo es moderado

– Aplicaciones con alto porcentaje de escrituras en su carga de trabajo (el mejor rendimiento de escritura)

• RAID nivel 2 siempre inferior al 3• RAID nivel 4 siempre inferior al 5 • RAID nivel 3 es apropiado para grandes pedidos de

transferencia de muchos bloques contiguos– Malo para pedios pequeños de un solo bloque

• RAID nivel 5 es una buena solución de uso general– Alto rendimiento para pedidos grandes y pequeños

• RAID nivel 6 es apropiado si un nivel de confiabilidad más alto se requiere