|
Tour
técnico .
Raid
.
Raid
0 .
Raid
1 .
Raid 5
.
Raid 1 + 0
Raid
5
El Raid 5 utiliza una división de datos a nivel de bloques distribuyendo la información de paridad entre todos los discos miembros del conjunto, se implementa con soporte hardware para el cálculo de la paridad.
En el momento en el que un bloque de datos es escrito en un Raid 5, se genera un bloque de paridad dentro de la misma división (stripe). Un bloque está compuesto de muchos sectores consecutivos de disco. Una serie de bloques (un bloque de cada uno de los discos que componen el Raid 5) se denomina colectivo de división (stripe).
El disco utilizado por el bloque de paridad está escalonado de una división a la siguiente (bloques de paridad distribuidos). La escritura en un Raid 5 es costosa en términos de operaciones de disco y tráfico entre los mismos y la controladora, ya que si otro bloque, o alguna porción del mismo, es escrita en esa misma división, el bloque de paridad es recalculado y vuelto a escribir.
En las operaciones de lectura de datos no se leen los bloques de paridad, ya que ocasionaría una sobrecarga innecesaria y una disminución del rendimiento. Los bloques de paridad solo se leen cuando la lectura de un sector de datos provoca un error de control de redundancia cíclica (CRC). Dado el caso, para reconstruir el sector erróneo, se utiliza el sector en la misma posición relativa dentro de cada uno de los bloques de datos restantes en la división y dentro del bloque de paridad en la división. El error CRC se oculta así al resto del sistema. Del mismo modo, si fallase un disco del conjunto, para reconstruir los datos del disco que ha fallado (al vuelo).
Cuando el sistema detecta que un disco ha fallado, como hemos explicado en el párrafo anterior, se denomina Modo Interno de Recuperación de Datos (Interim Data Recovery Mode), lo único que realiza es informar al sistema operativo para que éste pueda notificar al administrador que una unidad necesita ser reemplazada: las aplicaciones en ejecución siguen funcionando ajenas al fallo.
Las lecturas y escrituras continúan de manera normal en el conjunto de discos, aunque con alguna degradación de rendimiento. La diferencia entre el Raid 4 y el Raid 5 es qie, el Raid 5 (en Modo Interno de Recuperación de Datos) es sensiblemente más rápido, ya que cuando el CRC y la paridad están en el disco que falló, los cálculos no tienen que realizarse, al contrario que en Raid 4, que si uno de los disco de datos falla, los cálculos tienen que realizarse en cada acceso.
Para implementar una solución Raid 5 se necesitan un mínimo de tres unidades, aunque un resultado óptimo de capacidad se obtiene con siete o más unidades.
Aunque en la práctica es común limitar el número de unidades, el número máximo de discos en un grupo de redundancia Raid 5 es ilimitado. El inconveniente principal en utilizar grupos de redundancia mayores radica en una mayor probabilidad de fallo simultáneo de dos discos, un mayor tiempo de reconstrucción y una mayor probabilidad de hallar un sector irrecuperable en el transcurso de una reconstrucción. Cuando mayor es el número de disco en un Raid 5, el MTBF (tiempo medio entre fallos) puede ser más bajo que en un único disco. Esto es debido a que la probabilidad de que falle un segundo disco en los N-1 restantes de un conjunto, el tiempo necesario para detectar, reemplazar y recrear dicho disco es mayor que la probabilidad de fallo de un único disco.
Al someter a un Raid 5 a cargas de trabajo de escrituras más pequeñas que una división (stripe) su rendimiento es malo, debido a que la paridad debe ser actualizada para cada escritura, lo que exige realizar secuencias de lectura, modificaciones y escritura tanto para el bloque de datos como para el de paridad.
Para reducir este problema de rendimiento se opta por el uso de cachés de escritura no volátiles. Si durante una escritura activa se detecta un fallo del sistema, la paridad de una división (stripe) puede quedar en un estado inconsistente con los datos. Si no es detectado y reparado a tiempo pueden perderse datos ya que se usará una paridad incorrecta para reconstruir el bloque perdido en dicha división, siendo conocido como agujero de escritura.
|