RAID

Contenido

·         1 Introducción

o    1.1 Diferencia entre los discos físicos y los discos lógicos

o    1.2 Lectura y escritura de datos

o    1.3 ¿Qué es RAID?

o    1.4 ¿Por qué usar RAID?

o    1.5 Historia

·         2 Conceptos básicos utilizados por los sistemas RAID

o    2.1 Caching

o    2.2 Espejo: Más de una copia de los datos

o    2.3 Desnudos: Parte de los datos está en otro disco

o    2.4 Corrección de errores y fallos

o    2.5 Repuestos calientes: usando más discos de los necesarios

o    2.6 Tamaño de las franjas y del trozo: la distribución de los datos en varios discos

o    2.7 Armando el disco: JBOD, concatenación o spanning

o    2.8 Clonación de la unidad

o    2.9 Diferentes configuraciones

·         3 Conceptos básicos: niveles simples de RAID

o    3.1 Niveles de RAID de uso común

§  3.1.1 RAID 0 "striping"

§  3.1.2 RAID 1 "espejo"

§  3.1.3 RAID 5 "striping con paridad distribuida"

§  3.1.4 Fotografías

o    3.2 Los niveles de RAID se usan menos

§  3.2.1 RAID 2

§  3.2.2 RAID 3 "striping con paridad dedicada"

§  3.2.3 RAID 4 "striping con paridad dedicada"

§  3.2.4 RAID 6

§  3.2.5 Imágenes

o    3.3 Niveles de RAID no estándar

§  3.3.1 Doble paridad / Paridad diagonal

§  3.3.2 RAID-DP

§  3.3.3 RAID 1.5

§  3.3.4 RAID 5E, RAID 5EE y RAID 6E

§  3.3.5 RAID 7

§  3.3.6 Intel Matrix RAID

§  3.3.7 Controlador RAID MD de Linux

§  3.3.8 RAID Z

§  3.3.9 Imágenes

·         4 Uniendo los niveles de RAID

·         5 Haciendo un RAID

o    5.1 Software RAID

o    5.2 RAID de hardware

o    5.3 RAID asistido por hardware

·         6 Diferentes términos relacionados con las fallas de hardware

o    6.1 Tasa de fallos

o    6.2 Tiempo medio de pérdida de datos

o    6.3 Tiempo medio de recuperación

o    6.4 Tasa de errores de bits irrecuperables

·         7 Problemas con RAID

o    7.1 Añadir discos más tarde

o    7.2 Fallos vinculados

o    7.3 Atomicidad

o    7.4 Datos irrecuperables

o    7.5 Fiabilidad de la caché de escritura

o    7.6 Compatibilidad del equipo

·         8 Lo que RAID puede y no puede hacer

o    8.1 Lo que puede hacer el RAID

o    8.2 Lo que RAID no puede hacer

·         9 Ejemplo

·         10 Referencias

·         11 Otros sitios web

RAID es un acrónimo que significa Redundant Array of Inexpensive Disks o Redundant Array of Independent Disks. RAID es un término usado en informática. Con RAID, varios discos duros se convierten en un disco lógico. Hay diferentes maneras de hacerlo. Cada uno de los métodos que pone los discos duros juntos tiene algunas ventajas y desventajas sobre el uso de las unidades como discos únicos, independientes entre sí. Las principales razones por las que se utiliza el RAID son:

  • Para que la pérdida de datos ocurra con menos frecuencia. Esto se hace teniendo varias copias de los datos.
  • Para obtener más espacio de almacenamiento al tener muchos discos más pequeños.
  • Para obtener más flexibilidad (los discos pueden cambiarse o añadirse mientras el sistema sigue funcionando)
  • Para obtener los datos más rápidamente.

No es posible lograr todos estos objetivos al mismo tiempo, por lo que hay que tomar decisiones.

También hay algunas cosas malas:

  • Ciertas opciones pueden proteger contra la pérdida de datos debido a que uno (o varios) discos fallaron. Sin embargo, no protegen contra la eliminación o la sobreescritura de los datos.
  • En algunas configuraciones, el RAID puede tolerar que uno o varios discos fallen. Después de que los discos que fallan han sido reemplazados, los datos deben ser reconstruidos. Dependiendo de la configuración y el tamaño de los discos, esta reconstrucción puede llevar mucho tiempo.
  • Ciertos tipos de errores harán imposible la lectura de los datos

La mayor parte del trabajo sobre RAID se basa en un documento escrito en 1988.

Las empresas han utilizado sistemas RAID para almacenar sus datos desde que se creó la tecnología. Hay diferentes maneras en las que se pueden hacer sistemas RAID. Desde su descubrimiento, el costo de construir un sistema RAID ha bajado mucho. Por esta razón, incluso algunos ordenadores y aparatos que se usan en casa tienen algunas funciones RAID. Estos sistemas pueden utilizarse para almacenar música o películas, por ejemplo.

Introducción

Diferencia entre los discos físicos y los discos lógicos

Un disco duro es una parte de un ordenador. Los discos duros normales utilizan el magnetismo para almacenar información. Cuando se utilizan los discos duros, están disponibles para el sistema operativo. En Microsoft Windows, cada disco duro obtendrá una letra de unidad (empezando por C:, A: o B: se reservan para las unidades de disquetes). Los sistemas operativos de tipo Unix y Linux tienen un árbol de directorios de una sola raíz. Esto significa que la gente que usa las computadoras a veces no sabe dónde está almacenada la información. (Para ser justos, muchos usuarios de Windows no saben también dónde están almacenados sus datos).

En la informática, los discos duros (que son hardware, y pueden ser tocados) a veces se llaman unidades o discos físicos. Lo que el sistema operativo muestra al usuario a veces se llama disco lógico. Un disco físico puede dividirse en diferentes secciones, llamadas particiones de disco. Por lo general, cada partición de disco contiene un sistema de archivos. El sistema operativo mostrará cada partición como un disco lógico.

Por lo tanto, para el usuario, tanto la configuración con muchos discos físicos como la configuración con muchos discos lógicos se verá igual. El usuario no puede decidir si un "disco lógico" es lo mismo que un disco físico, o si simplemente es una parte del disco. Las redes de área de almacenamiento (SAN) cambian completamente esta visión. Todo lo que es visible de una SAN es un número de discos lógicos.

Lectura y escritura de datos

En el ordenador, los datos se organizan en forma de bits y bytes. En la mayoría de los sistemas, 8 bits forman un byte. La memoria del ordenador utiliza la electricidad para almacenar los datos, los discos duros utilizan el magnetismo. Por lo tanto, cuando los datos se escriben en un disco, la señal eléctrica se convierte en magnética. Cuando se leen los datos del disco, la conversión se hace en la otra dirección: Una señal eléctrica se hace desde la polaridad de un campo magnético.

¿Qué es RAID?

Una matriz RAID une dos o más discos duros para que hagan un disco lógico. Hay diferentes razones por las que se hace esto. Las más comunes son:

  • Detener la pérdida de datos, cuando uno o más discos de la matriz fallan.
  • Conseguir una transferencia de datos más rápida.
  • Obteniendo la capacidad de cambiar de disco mientras el sistema sigue funcionando.
  • Uniendo varios discos para obtener más capacidad de almacenamiento; a veces se utilizan muchos discos baratos, en lugar de uno más caro.

El RAID se hace usando un hardware o software especial en el ordenador. Los discos duros unidos se verán entonces como un solo disco duro para el usuario. La mayoría de los niveles de RAID aumentan la redundancia. Esto significa que almacenan los datos más a menudo, o almacenan información sobre cómo reconstruir los datos. Esto permite que varios discos fallen sin que se pierdan los datos. Cuando se reemplaza el disco que ha fallado, los datos que debería contener se copian o reconstruyen a partir de los otros discos del sistema. Esto puede llevar mucho tiempo. El tiempo que toma depende de diferentes factores, como el tamaño de la matriz.

¿Por qué usar RAID?

Una de las razones por las que muchas empresas están usando RAID es que los datos del conjunto pueden ser usados simplemente. Aquellos que usan los datos no tienen por qué ser conscientes de que están usando RAID en absoluto. Cuando se produce un fallo y la matriz se recupera, el acceso a los datos será más lento. Acceder a los datos durante este tiempo también ralentizará el proceso de recuperación, pero esto sigue siendo mucho más rápido que no poder trabajar con los datos en absoluto. Sin embargo, dependiendo del nivel de RAID, es posible que los discos no fallen mientras se prepara el nuevo disco para su uso. Un disco que falle en ese momento hará que se pierdan todos los datos de la matriz.

Las diferentes formas de unir los discos se llaman niveles RAID. Un número mayor para el nivel no es necesariamente mejor. Los diferentes niveles RAID tienen diferentes propósitos. Algunos niveles RAID necesitan discos especiales y controladores especiales.

Historia

En 1978, un hombre llamado Norman Ken Ouchi, que trabajaba en IBM, hizo una sugerencia describiendo los planes para lo que más tarde se convertiría en RAID 5. Los planes también describían algo similar al RAID 1, así como la protección de una parte del RAID 4.

Trabajadores de la Universidad de Berkeley ayudaron a planificar la investigación en 1987. Intentaban hacer posible que la tecnología RAID reconociera dos discos duros en lugar de uno. Descubrieron que cuando la tecnología RAID tenía dos discos duros, tenía mucho mejor almacenamiento que con uno solo. Sin embargo, se estrellaba mucho más a menudo.

En 1988, David Patterson, Garth Gibson y Randy Katz escribieron sobre los diferentes tipos de RAID (1 a 5) en su artículo titulado "A Case for Redundant Arrays of Inexpensive Disks (RAID)". Este artículo fue el primero en llamar a la nueva tecnología RAID y el nombre se hizo oficial.

Un primer plano de 4 discos que forman una matriz RAID, integrada en un sistema de escritorio. Los pestillos azules permiten el intercambio de los discos mientras el sistema sigue funcionando.
Un primer plano de 4 discos que forman una matriz RAID, integrada en un sistema de escritorio. Los pestillos azules permiten el intercambio de los discos mientras el sistema sigue funcionando.

Se ha quitado un disco duro de la matriz.
Se ha quitado un disco duro de la matriz.

Conceptos básicos utilizados por los sistemas RAID

RAID utiliza algunas ideas básicas, que se describieron en el artículo "RAID: Almacenamiento secundario fiable y de alto rendimiento" de Peter Chen y otros, publicado en 1994.

Caching

El caché es una tecnología que también tiene sus usos en los sistemas RAID. Hay diferentes tipos de cachés que se utilizan en los sistemas RAID:

  • Sistema operativo
  • Controlador RAID
  • Matriz de discos de la empresa

En los sistemas modernos, una solicitud de escritura se muestra como hecha cuando los datos se han escrito en la caché. Esto no significa que los datos se hayan escrito en el disco. Las peticiones del caché no se manejan necesariamente en el mismo orden en que se escribieron en el caché. Esto hace posible que, si el sistema falla, a veces algunos datos no se han escrito en el disco en cuestión. Por esta razón, muchos sistemas tienen un caché que está respaldado por una batería.

Espejo: Más de una copia de los datos

Cuando se habla de un espejo, es una idea muy simple. En lugar de que los datos estén en un solo lugar, hay varias copias de los datos. Estas copias suelen estar en diferentes discos duros (o particiones de disco). Si hay dos copias, una de ellas puede fallar sin que los datos se vean afectados (ya que sigue estando en la otra copia). La duplicación también puede dar un impulso al leer los datos. Siempre se tomará del disco más rápido que responda. Sin embargo, la escritura de datos es más lenta, porque todos los discos necesitan ser actualizados.

Desnudarse: Parte de los datos está en otro disco

Con la separación, los datos se dividen en diferentes partes. Estas partes terminan en diferentes discos (o particiones de disco). Esto significa que la escritura de datos es más rápida, ya que se puede hacer en paralelo. Esto no significa que no haya fallos, ya que cada bloque de datos sólo se encuentra en un disco.

Corrección de errores y fallos

Es posible calcular diferentes tipos de sumas de control. Algunos métodos de cálculo de sumas de verificación permiten encontrar un error. La mayoría de los niveles de RAID que utilizan la redundancia pueden hacerlo. Algunos métodos son más difíciles de hacer, pero permiten no sólo detectar el error, sino también arreglarlo.

Repuestos calientes: usando más discos de los necesarios

Muchas de las formas de tener soporte de RAID algo se llama un repuesto caliente. Un hot spare es un disco vacío que no se utiliza en el funcionamiento normal. Cuando un disco falla, los datos pueden ser copiados directamente en el disco de repuesto caliente. De esta manera, el disco que falla debe ser reemplazado por un nuevo disco vacío para convertirse en el hot spare.

Tamaño de la franja y del trozo: la difusión de los datos en varios discos

El RAID funciona esparciendo los datos en varios discos. Dos de los términos que se utilizan a menudo en este contexto son el tamaño de las rayas y el tamaño de los trozos.

El tamaño del trozo es el bloque de datos más pequeño que se escribe en un solo disco de la matriz. El tamaño de la raya es el tamaño de un bloque de datos que se extenderá por todos los discos. De esta manera, con cuatro discos, y un tamaño de banda de 64 kilobytes (kB), se escribirán 16 kB en cada disco. El tamaño de la franja en este ejemplo es por lo tanto de 16 kB. Hacer que el tamaño de la banda sea mayor significará una mayor velocidad de transferencia de datos, pero también una mayor latencia máxima. En este caso, este es el tiempo necesario para obtener un bloque de datos.

Armando el disco: JBOD, concatenación o expansión

Muchos controladores (y también software) pueden armar discos de la siguiente manera: Toman el primer disco, hasta que termina, luego toman el segundo, y así sucesivamente. De esa manera, varios discos más pequeños se ven como uno más grande. Esto no es realmente RAID, ya que no hay redundancia. Además, el spanning puede combinar discos donde el RAID 0 no puede hacer nada. Generalmente, esto se llama sólo un montón de discos (JBOD).

Esto es como un pariente lejano del RAID porque el disco lógico está hecho de diferentes discos físicos. La concatenación se utiliza a veces para convertir varios discos pequeños en un disco útil más grande. Esto no se puede hacer con el RAID 0. Por ejemplo, JBOD podría combinar unidades de 3 GB, 15 GB, 5,5 GB y 12 GB en una unidad lógica de 35,5 GB, que suele ser más útil que las unidades solas.

En el diagrama de la derecha, los datos se concatenan desde el final del disco 0 (bloque A63) hasta el principio del disco 1 (bloque A64); desde el final del disco 1 (bloque A91) hasta el principio del disco 2 (bloque A92). Si se utilizara el RAID 0, entonces el disco 0 y el disco 2 se truncarían en 28 bloques, el tamaño del disco más pequeño de la matriz (disco 1) para un tamaño total de 84 bloques.

Algunos controladores RAID usan JBOD para hablar de trabajar en discos sin características RAID. Cada unidad aparece por separado en el sistema operativo. Este JBOD no es lo mismo que la concatenación.

Muchos sistemas Linux usan los términos "modo lineal" o "modo de apéndice". La implementación de Mac OS X 10.4 - llamada "Conjunto de discos concatenados" - no deja al usuario con ningún dato utilizable en las unidades restantes si una unidad falla en un conjunto de discos concatenados, aunque los discos funcionan por lo demás como se ha descrito anteriormente.

La concatenación es uno de los usos del Gestor de Volúmenes Lógicos en Linux. Puede ser usado para crear unidades virtuales.

Conducir el clon

La mayoría de los discos duros modernos tienen un estándar llamado Tecnología de Autocontrol, Análisis y Reporte (S.M.A.R.T). SMART permite monitorear ciertas cosas en un disco duro. Ciertos controladores permiten reemplazar un solo disco duro incluso antes de que falle, por ejemplo, porque S.M.A.R.T u otra prueba de disco reporta demasiados errores corregibles. Para ello, el controlador copiará todos los datos en un disco de repuesto caliente. Después de esto, el disco puede ser reemplazado por otro (que simplemente se convertirá en el nuevo hot spare).

Diferentes configuraciones

La configuración de los discos y la forma en que utilizan las técnicas anteriores afecta al rendimiento y la fiabilidad del sistema. Cuando se utilizan más discos, es más probable que uno de los discos falle. Debido a esto, hay que construir mecanismos para poder encontrar y corregir los errores. Esto hace que todo el sistema sea más fiable, ya que es capaz de sobrevivir y reparar el fallo.

 

JBOD con 3 discos de diferentes tamaños
JBOD con 3 discos de diferentes tamaños

Básico: niveles simples de RAID

Niveles de RAID de uso común

RAID 0 "striping"

El RAID 0 no es realmente un RAID porque no es redundante. Con el RAID 0, los discos se juntan simplemente para hacer un disco grande. Esto se llama "striping". Cuando un disco falla, todo el array falla. Por lo tanto, la RAID 0 rara vez se usa para datos importantes, pero la lectura y escritura de datos del disco puede ser más rápida con el "striping" porque cada disco lee parte del archivo al mismo tiempo.

Con el RAID 0, los bloques de discos que se suceden suelen estar colocados en discos diferentes. Por esta razón, todos los discos utilizados por un RAID 0 deben ser del mismo tamaño.

El RAID 0 se usa a menudo para el espacio de intercambio en Linux o sistemas operativos tipo Unix.

RAID 1 "espejando"

Con el RAID 1, se juntan dos discos. Ambos contienen los mismos datos, uno está "reflejando" al otro. Esta es una configuración fácil y rápida, ya sea implementada con un controlador de hardware o por software.

RAID 5 "striping con paridad distribuida"

El nivel 5 de RAID es lo que probablemente se usa la mayoría de las veces. Se necesitan al menos tres discos duros para construir una matriz de almacenamiento RAID 5. Cada bloque de datos se almacenará en tres lugares diferentes. Dos de estos lugares almacenarán el bloque tal cual, el tercero almacenará una suma de comprobación. Esta suma de comprobación es un caso especial de un código Reed-Solomon que sólo utiliza la adición de bits. Normalmente, se calcula usando el método XOR. Como este método es simétrico, un bloque de datos perdido puede ser reconstruido a partir del otro bloque de datos y la suma de comprobación. Para cada bloque, un disco diferente contendrá el bloque de paridad que contiene la suma de comprobación. Esto se hace para aumentar la redundancia. Cualquier disco puede fallar. En general, habrá un disco que contenga la suma de control, así que la capacidad total utilizable será la de todos los discos excepto uno. El tamaño del disco lógico resultante será el de todos los discos juntos, excepto uno que contiene la información de paridad.

Por supuesto, esto es más lento que el nivel 1 de RAID, ya que en cada escritura, todos los discos deben ser leídos para calcular y actualizar la información de paridad. El rendimiento de lectura del RAID 5 es casi tan bueno como el del RAID 0 para el mismo número de discos. Excepto por los bloques de paridad, la distribución de los datos en los discos sigue el mismo patrón que en la RAID 0. La razón por la que RAID 5 es ligeramente más lento es que los discos deben saltarse los bloques de paridad.

Un RAID 5 con un disco fallado seguirá funcionando. Está en modo degradado. Un RAID 5 degradado puede ser muy lento. Por esta razón, a menudo se añade un disco adicional. Esto se llama disco de repuesto caliente. Si un disco falla, los datos se pueden reconstruir directamente en el disco adicional. El RAID 5 también se puede hacer en software con bastante facilidad.

Principalmente debido a problemas de rendimiento de las matrices RAID 5 fallidas, algunos expertos en bases de datos han formado un grupo llamado BAARF-la Batalla contra cualquier Raid 5.

Si el sistema falla mientras hay escrituras activas, la paridad de una raya puede ser inconsistente con los datos. Si no se repara antes de que un disco o bloque falle, puede producirse una pérdida de datos. Se usará una paridad incorrecta para reconstruir el bloque que falta en esa banda. Este problema se conoce a veces como "agujero de escritura". Se suelen utilizar cachés de batería y técnicas similares para reducir la posibilidad de que esto ocurra.

Fotos

·        

RAID 0 simplemente pone los diferentes bloques en los diferentes discos. No hay redundancia.

·        

Con la redada 1 cada bloque está ahí en ambos discos

·        

El RAID 5 calcula sumas de control especiales para los datos. Tanto los bloques con la suma de comprobación como los que tienen los datos se distribuyen en todos los discos.

Los niveles de RAID se usan menos

RAID 2

Esto fue usado con computadoras muy grandes. Se necesitan discos caros especiales y un controlador especial para usar el RAID de nivel 2. Los datos se distribuyen a nivel de bits (todos los demás niveles utilizan acciones a nivel de bytes). Se realizan cálculos especiales. Los datos se dividen en secuencias estáticas de bits. Se juntan 8 bits de datos y 2 bits de paridad. Luego se calcula un código Hamming. Los fragmentos del código Hamming se distribuyen en los diferentes discos.

El RAID 2 es el único nivel de RAID que puede reparar errores, los otros niveles de RAID sólo pueden detectarlos. Cuando descubran que la información necesaria no tiene sentido, simplemente la reconstruirán. Esto se hace con cálculos, usando la información de los otros discos. Si esa información falta o es incorrecta, no pueden hacer mucho. Debido a que utiliza códigos de Hamming, el RAID 2 puede encontrar qué parte de la información es errónea, y corregir sólo esa parte.

El RAID 2 necesita al menos 10 discos para funcionar. Debido a su complejidad y a la necesidad de un hardware muy caro y especial, el RAID 2 ya no se utiliza mucho.

RAID 3 "striping con paridad dedicada"

El nivel de ataque 3 es muy parecido al nivel de ataque 0. Se añade un disco adicional para almacenar la información de paridad. Esto se hace mediante la adición de bits del valor de un bloque en los otros discos. La información de paridad se almacena en un disco separado (dedicado). Esto no es bueno, porque si el disco de paridad falla, la información de paridad se pierde.

El nivel 3 de RAID se suele hacer con al menos 3 discos. Una configuración de dos discos es idéntica a la de un RAID de nivel 0.

RAID 4 "striping con paridad dedicada"

Esto es muy similar al RAID 3, excepto que la información de paridad se calcula sobre bloques más grandes, y no sobre bytes individuales. Esto es como el RAID 5. Se necesitan al menos tres discos para un arreglo de RAID 4.

RAID 6

El nivel 6 del RAID no era un nivel original del RAID. Añade un bloque de paridad adicional a una matriz de RAID 5. Necesita al menos cuatro discos (dos discos para la capacidad, dos discos para la redundancia). RAID 5 puede ser visto como un caso especial de un código Reed-Solomon. RAID 5 es un caso especial, aunque sólo necesita ser añadido en el campo Galois GF(2). Esto es fácil de hacer con los XOR. El RAID 6 amplía estos cálculos. Ya no es un caso especial, y todos los cálculos deben hacerse. En el RAID 6 se utiliza una suma de control adicional (llamada polinomio), normalmente de GF (28). Con este enfoque es posible protegerse contra cualquier número de discos fallidos. RAID 6 es para el caso de utilizar dos sumas de verificación para protegerse contra la pérdida de dos discos.

Como en el RAID 5, la paridad y los datos están en discos diferentes para cada bloque. Los dos bloques de paridad también se encuentran en discos diferentes.

Hay diferentes maneras de hacer el RAID 6. Son diferentes en su rendimiento de escritura, y en la cantidad de cálculos necesarios. Ser capaz de hacer escrituras más rápidas normalmente significa que se necesitan más cálculos.

El RAID 6 es más lento que el RAID 5, pero permite que el RAID continúe con dos discos cualquiera que haya fallado. El RAID 6 se está haciendo popular porque permite reconstruir un array después de un fallo de un solo disco, incluso si uno de los discos restantes tiene uno o más sectores defectuosos.

Fotos

·        

El RAID 3 es muy parecido al RAID nivel 0. Se añade un disco extra que contendrá una suma de control para cada bloque de datos.

·        

El RAID 4 es similar al RAID nivel 3, pero calcula la paridad sobre bloques de datos más grandes

·        

El RAID 6 es similar al RAID 5, pero calcula dos sumas de control diferentes. Esto permite que dos discos fallen, sin pérdida de datos.

Niveles de RAID no estándar

Doble paridad / Paridad diagonal

El RAID 6 utiliza dos bloques de paridad. Estos se calculan de forma especial sobre un polinomio. El RAID de doble paridad (también llamado RAID de paridad diagonal) utiliza un polinomio diferente para cada uno de estos bloques de paridad. Recientemente, la asociación de la industria que definió el RAID dijo que el RAID de doble paridad es una forma diferente del RAID 6.

RAID-DP

RAID-DP es otra forma de tener doble paridad.

RAID 1.5

El RAID 1.5 (que no debe confundirse con el RAID 15, que es diferente) es una implementación de RAID patentada. Al igual que el RAID 1, sólo utiliza dos discos, pero hace tanto striping como mirroring (similar al RAID 10). La mayoría de las cosas se hacen en hardware.

RAID 5E, RAID 5EE y RAID 6E

RAID 5E, RAID 5EE y RAID 6E (con la E añadida de Enhanced) se refieren generalmente a diferentes tipos de RAID 5 o RAID 6 con un repuesto caliente. Con estas implementaciones, la unidad de reserva en caliente no es una unidad física. Más bien existe en forma de espacio libre en los discos. Esto aumenta el rendimiento, pero significa que un hot spare no puede ser compartido entre diferentes matrices. El esquema fue introducido por IBM ServeRAID alrededor de 2001.

RAID 7

Se trata de una aplicación patentada. Añade el caching a un arreglo de RAID 3 o RAID 4.

Matriz Intel RAID

Algunas placas principales de Intel tienen un chip RAID que tiene esta característica. Utiliza dos o tres discos, y luego los divide en partes iguales para formar una combinación de niveles RAID 0, RAID 1, RAID 5 o RAID 1+0.

Controlador RAID MD de Linux

Este es el nombre del controlador que permite hacer software RAID con Linux. Además de los niveles normales de RAID 0-6, también tiene una implementación de RAID 10. Desde el Kernel 2.6.9, RAID 10 es un nivel único. La implementación tiene algunas características no estándar.

RAID Z

Sun ha implementado un sistema de archivos llamado ZFS. Este sistema de archivos está optimizado para manejar grandes cantidades de datos. Incluye un administrador de volumen lógico. También incluye una característica llamada RAID-Z. Evita el problema llamado agujero de escritura RAID 5 porque tiene una política de copia sobre escritura: No sobreescribe los datos directamente, sino que escribe nuevos datos en una nueva ubicación del disco. Cuando la escritura se realiza con éxito, los datos antiguos se eliminan. Evita la necesidad de operaciones de lecturamodificación-escritura para pequeñas escrituras, porque sólo escribe tiras completas. Los bloques pequeños se reflejan en lugar de estar protegidos por paridad, lo que es posible porque el sistema de archivos conoce la forma en que está organizado el almacenamiento. Por lo tanto, puede asignar espacio extra si es necesario. También existe el RAID-Z2, que utiliza dos formas de paridad para lograr resultados similares a los del RAID 6: la capacidad de sobrevivir hasta dos fallos de disco sin perder datos.

Fotos

·        

Diagrama de una configuración RAID DP (Doble Paridad).

·        

Una configuración Matrix RAID.

Uniendo los niveles de RAID

Con RAID se pueden juntar diferentes discos para obtener un disco lógico. El usuario sólo verá el disco lógico. Cada uno de los niveles de RAID mencionados anteriormente tiene puntos buenos y malos. Pero RAID también puede funcionar con discos lógicos. De esta manera, uno de los niveles RAID arriba mencionados puede ser usado con un conjunto de discos lógicos. Mucha gente lo nota escribiendo los números juntos. A veces, escriben un "+" o un "&" en medio. Las combinaciones más comunes (usando dos niveles) son las siguientes:

  • RAID 0+1: Dos o más matrices RAID 0 se combinan en una matriz RAID 1; esto se llama un espejo de rayas
  • RAID 1+0: Igual que el RAID 0+1, pero con los niveles de RAID invertidos; Banda de espejos. Esto hace que el fallo del disco sea más raro que el de la RAID 0+1 anterior.
  • RAID 5+0: Ponerle una raya a varios RAID 5 con un RAID 0. Un disco de cada RAID 5 puede fallar, pero hace que ese RAID 5 sea el único punto de falla; si otro disco de ese arreglo falla, todos los datos del arreglo se perderán.
  • RAID 5+1: Refleja un conjunto de RAID 5: En una situación en la que el RAID está compuesto por seis discos, cualquiera de los tres puede fallar (sin que se pierdan datos).
  • RAID 6+0: Desmonta varios arreglos de RAID 6 sobre un RAID 0; dos discos de cada RAID 6 pueden fallar sin pérdida de datos.

Con seis discos de 300 GB cada uno, una capacidad total de 1,8 TB, es posible hacer un RAID 5, con 1,5 TB de espacio utilizable. En ese arreglo, un disco puede fallar sin pérdida de datos. Con el RAID 50, el espacio se reduce a 1,2 TB, pero un disco de cada RAID 5 puede fallar, además de que se produce un notable aumento del rendimiento. El RAID 51 reduce el tamaño utilizable a 900 GB, pero permite que fallen tres discos cualquiera.

·        

RAID 0+1: Varios arreglos de RAID 0 se combinan con un RAID 1

·        

RAID 1+0: Más robusto que el RAID 0+1; soporta múltiples fallos de disco, siempre y cuando no fallen dos discos que hagan un espejo.

·        

RAID 5+1: Cualquiera de estos tres discos puede fallar, sin pérdida de datos.

Haciendo un RAID

Hay diferentes maneras de hacer un RAID. Puede hacerse con software o con hardware.

Software RAID

Un RAID se puede hacer con software de dos maneras diferentes. En el caso de RAID por software, los discos se conectan como los discos duros normales. Es el ordenador el que hace funcionar el RAID. Esto significa que para cada acceso la CPU también necesita hacer los cálculos para el RAID. Los cálculos para el RAID 0 o el RAID 1 son simples. Sin embargo, los cálculos para RAID 5, RAID 6, o uno de los niveles combinados de RAID pueden ser mucho trabajo. En un RAID de software, arrancar automáticamente desde un array que ha fallado puede ser algo difícil de hacer. Por último, la forma en que se hace el RAID en el software depende del sistema operativo utilizado; por lo general, no es posible reconstruir una matriz de RAID por software con un sistema operativo diferente. Los sistemas operativos suelen utilizar particiones de disco duro en lugar de discos duros enteros para hacer arreglos RAID.

RAID de hardware

Un RAID también puede ser hecho con hardware. En este caso, se utiliza una controladora de disco especial; esta tarjeta controladora oculta el hecho de que está haciendo RAID al sistema operativo y al usuario. Los cálculos de la información de suma de comprobación y otros cálculos relacionados con la RAID se realizan en un microchip especial en esa controladora. Esto hace que el RAID sea independiente del sistema operativo. El sistema operativo no verá el RAID, verá un solo disco. Los diferentes fabricantes hacen RAID de diferentes maneras. Esto significa que un RAID construido con una controladora de hardware RAID no puede ser reconstruido por otra controladora RAID de otro fabricante. Las controladoras RAID por hardware suelen ser caras de comprar.

RAID asistido por hardware

Es una mezcla entre RAID por hardware y RAID por software. El RAID por hardware utiliza un chip controlador especial (como el RAID por hardware), pero este chip no puede hacer muchas operaciones. Sólo está activo cuando se inicia el sistema; tan pronto como el sistema operativo está completamente cargado, esta configuración es como el RAID de software. Algunas placas madre tienen funciones RAID para los discos conectados; la mayoría de las veces, estas funciones RAID se realizan como RAID asistido por hardware. Esto significa que se necesita un software especial para poder utilizar estas funciones RAID y para poder recuperarse de un disco que ha fallado.

Diferentes términos relacionados con las fallas de hardware

Hay diferentes términos que se usan cuando se habla de fallos de hardware:

Tasa de fracaso

La tasa de fallos es la frecuencia con la que un sistema falla. El tiempo medio hasta el fallo (MTTF) o el tiempo medio entre fallos (MTBF) de un sistema RAID es el mismo que el de sus componentes. Después de todo, un sistema RAID no puede proteger contra los fallos de sus discos duros individuales. Sin embargo, los tipos más complicados de RAID (cualquier cosa que vaya más allá del "striping" o la "concatenación") pueden ayudar a mantener los datos intactos incluso si falla un disco duro individual.

Tiempo medio de pérdida de datos

El tiempo medio hasta la pérdida de datos (MTTDL) da el tiempo medio antes de que se produzca una pérdida de datos en un conjunto determinado. El tiempo medio hasta la pérdida de datos de un determinado RAID puede ser mayor o menor que el de sus discos duros. Esto depende del tipo de RAID utilizado.

Tiempo medio de recuperación

Las matrices que tienen redundancia pueden recuperarse de algunos fallos. El tiempo medio de recuperación muestra el tiempo que tarda una matriz fallida en volver a su estado normal. Esto añade tanto el tiempo para reemplazar un mecanismo de disco fallido como el tiempo para reconstruir el array (es decir, para replicar los datos por redundancia).

Tasa de errores de bits irrecuperables

La tasa de errores de bits irrecuperables (UBE) indica el tiempo que una unidad de disco no podrá recuperar los datos después de utilizar códigos de comprobación de redundancia cíclica (CRC) y múltiples reintentos.

Problemas con RAID

También hay ciertos problemas con las ideas o la tecnología detrás de RAID:

Agregar discos más tarde

Ciertos niveles de RAID permiten ampliar el conjunto simplemente añadiendo discos duros, en un momento posterior. La información, como los bloques de paridad, a menudo está dispersa en varios discos. Añadir un disco a la matriz significa que es necesaria una reorganización. Tal reorganización es como una reconstrucción del array, puede llevar mucho tiempo. Cuando esto se hace, el espacio adicional puede no estar disponible todavía, porque tanto el sistema de archivos de la matriz, como el sistema operativo necesitan ser informados de ello. Algunos sistemas de archivos no admiten ser cultivados después de haber sido creados. En tal caso, es necesario hacer una copia de seguridad de todos los datos, volver a crear la matriz con la nueva disposición y restaurar los datos en ella.

Otra opción para agregar almacenamiento es crear un nuevo arreglo, y dejar que un administrador de volumen lógico maneje la situación. Esto permite hacer crecer casi cualquier sistema RAID, incluso el RAID1 (que por sí mismo está limitado a dos discos).

Fallos vinculados

El mecanismo de corrección de errores en RAID asume que los fallos de los discos son independientes. Es posible calcular la frecuencia con la que puede fallar un equipo y disponer la matriz para que la pérdida de datos sea muy improbable.

En la práctica, sin embargo, los discos se compraban a menudo juntos. Tienen más o menos la misma edad, y se han usado de manera similar (llamado desgaste). Muchos discos fallan debido a problemas mecánicos. Cuanto más vieja es una unidad, más desgastadas están sus partes mecánicas. Las piezas mecánicas que son viejas tienen más probabilidades de fallar que las que son más jóvenes. Esto significa que los fallos de los accionamientos ya no son estadísticamente independientes. En la práctica, existe la posibilidad de que un segundo disco también falle antes de que el primero se haya recuperado. Esto significa que la pérdida de datos puede ocurrir a un ritmo significativo, en la práctica.

Atomicidad

Otro problema que también ocurre con los sistemas RAID es que las aplicaciones esperan lo que se llama Atomicidad: O se escriben todos los datos, o no se escribe ninguno. La escritura de los datos se conoce como una transacción.

En las matrices RAID, los nuevos datos suelen escribirse en el lugar donde estaban los antiguos. Esto se conoce como actualización en el lugar. Jim Gray, un investigador de bases de datos escribió un artículo en 1981 donde describía este problema.

Muy pocos sistemas de almacenamiento permiten la semántica de la escritura atómica. Cuando un objeto se escribe en un disco, un dispositivo de almacenamiento RAID suele escribir todas las copias del objeto en paralelo. Muy a menudo, sólo hay un procesador responsable de la escritura de los datos. En tal caso, las escrituras de datos en los diferentes discos se superpondrán. Esto se conoce como escritura superpuesta o escritura escalonada. Por lo tanto, un error que ocurra durante el proceso de escritura puede dejar las copias redundantes en diferentes estados. Lo que es peor, puede dejar las copias en el estado anterior o en el nuevo. Sin embargo, el registro se basa en que los datos originales estén en el estado antiguo o en el nuevo. Esto permite respaldar el cambio lógico, pero pocos sistemas de almacenamiento proporcionan una semántica de escritura atómica en un disco RAID.

El uso de una caché de escritura con batería puede resolver este problema, pero sólo en un escenario de fallo de energía.

El soporte transaccional no está presente en todos los controladores RAID de hardware. Por lo tanto, muchos sistemas operativos lo incluyen para protegerse contra la pérdida de datos durante una escritura interrumpida. Novell Netware, a partir de la versión 3.x, incluía un sistema de seguimiento de transacciones. Microsoft introdujo el seguimiento de transacciones a través de la función de registro en NTFS. El sistema de archivos WAFL de NetApp lo resuelve al no actualizar nunca los datos en su lugar, como lo hace ZFS.

Datos irrecuperables

Algunos sectores de un disco duro pueden haberse vuelto ilegibles debido a un error. Algunas implementaciones de RAID pueden hacer frente a esta situación moviendo los datos a otro lugar y marcando el sector en el disco como malo. Esto sucede a aproximadamente 1 bit en 1015 en las unidades de disco de clase empresarial, y 1 bit en 1014 en las unidades de disco normales. Las capacidades de los discos están aumentando constantemente. Esto puede significar que, a veces, un RAID no puede ser reconstruido, porque tal error se encuentra cuando se reconstruye el array después de un fallo de disco. Ciertas tecnologías, como el RAID 6, intentan solucionar este problema, pero sufren una penalización de escritura muy alta, es decir, la escritura de datos se vuelve muy lenta.

Fiabilidad de la caché de escritura

El sistema de disco puede reconocer la operación de escritura tan pronto como los datos estén en la caché. No necesita esperar hasta que los datos hayan sido escritos físicamente. Sin embargo, cualquier corte de energía puede significar una pérdida significativa de datos en la cola de la caché.

Con el RAID de hardware, se puede usar una batería para proteger esta caché. Esto a menudo resuelve el problema. Cuando falla la alimentación, el controlador puede terminar de escribir la caché cuando vuelve la alimentación. Sin embargo, esta solución puede fallar: la batería puede haberse agotado, la alimentación puede haber estado desconectada durante demasiado tiempo, los discos se pueden trasladar a otra controladora y la propia controladora puede fallar. Ciertos sistemas pueden hacer controles periódicos de la batería, pero éstos utilizan la propia batería y la dejan en un estado en el que no está completamente cargada.

Compatibilidad del equipo

Los formatos de disco en diferentes controladores RAID no son necesariamente compatibles. Por lo tanto, puede que no sea posible leer un arreglo RAID en un hardware diferente. En consecuencia, un fallo de hardware que no sea de disco puede requerir el uso de un hardware idéntico, o una copia de seguridad, para recuperar los datos.

Lo que RAID puede y no puede hacer

Esta guía fue tomada de un hilo en un foro relacionado con RAID. Se hizo para ayudar a señalar las ventajas y desventajas de elegir un RAID. Está dirigida a la gente que quiere elegir el RAID ya sea para aumentar el rendimiento o la redundancia. Contiene enlaces a otros hilos de su foro que contienen reseñas anecdóticas generadas por los usuarios sobre sus experiencias con RAID.

Lo que RAID puede hacer

  • El RAID puede proteger el tiempo de actividad. Los niveles de RAID 1, 0+1/10, 5 y 6 (y sus variantes como el 50 y 51) compensan un fallo mecánico del disco duro. Incluso después de que el disco haya fallado, los datos de la matriz pueden seguir siendo utilizados. En lugar de la lenta restauración desde una cinta, un DVD u otro medio de respaldo lento, el RAID permite que los datos se restauren en un disco de reemplazo de los otros miembros de la matriz. Durante este proceso de restauración, está disponible para los usuarios en un estado degradado. Esto es muy importante para las empresas, ya que el tiempo de inactividad lleva rápidamente a la pérdida de poder adquisitivo. Para los usuarios domésticos, puede proteger el tiempo de funcionamiento de grandes matrices de almacenamiento de medios, lo que requeriría la restauración de docenas de DVD o de bastantes cintas en caso de que falle un disco que no esté protegido por la redundancia.
  • El RAID puede aumentar el rendimiento en ciertas aplicaciones. Los niveles de RAID 0, 5 y 6 utilizan el rayado. Esto permite que varios husos aumenten las tasas de transferencia para las transferencias lineales. Las aplicaciones de tipo estación de trabajo suelen trabajar con archivos grandes. Se benefician enormemente de la separación de discos. Ejemplos de este tipo de aplicaciones son las que utilizan archivos de vídeo o audio. Este rendimiento también es útil en las copias de seguridad de disco a disco. El RAID 1, así como otros niveles RAID basados en striping, pueden mejorar el rendimiento de los patrones de acceso con muchos accesos aleatorios simultáneos, como los utilizados por una base de datos multiusuario.

Lo que RAID no puede hacer

  • El RAID no puede proteger los datos de la matriz. Un arreglo RAID tiene un sistema de archivos. Esto crea un único punto de fallo. Hay muchas cosas que pueden suceder en este sistema de archivos aparte del fallo físico del disco. El RAID no puede defenderse contra estas fuentes de pérdida de datos. El RAID no evitará que un virus destruya los datos. El RAID no evitará la corrupción. El RAID no guardará datos cuando un usuario los modifique o los elimine por accidente. El RAID no protege los datos de los fallos de hardware de ningún componente, aparte de los discos físicos. El RAID no protege los datos de desastres naturales o causados por el hombre, como incendios e inundaciones. Para proteger los datos, se debe hacer una copia de seguridad en un medio extraíble, como un DVD, una cinta o un disco duro externo. La copia de seguridad debe guardarse en un lugar diferente. El RAID por sí solo no evitará que un desastre, cuando (no si) ocurre, se convierta en una pérdida de datos. Los desastres no se pueden prevenir, pero las copias de seguridad permiten evitar la pérdida de datos.
  • El RAID no puede simplificar la recuperación de desastres. Cuando se ejecuta un único disco, éste puede ser utilizado por la mayoría de los sistemas operativos, ya que vienen con un controlador de dispositivo común. Sin embargo, la mayoría de las controladoras RAID necesitan controladores especiales. Las herramientas de recuperación que funcionan con discos individuales en controladoras genéricas necesitarán controladores especiales para acceder a los datos de las matrices RAID. Si estas herramientas de recuperación están mal codificadas y no permiten proporcionar controladores adicionales, es probable que una matriz RAID sea inaccesible para esa herramienta de recuperación.
  • El RAID no puede proporcionar un aumento del rendimiento en todas las aplicaciones. Esta afirmación es especialmente cierta en el caso de los usuarios típicos de aplicaciones de escritorio y los jugadores. Para la mayoría de las aplicaciones de escritorio y juegos, la estrategia de búfer y la búsqueda del rendimiento del disco o discos son más importantes que el rendimiento bruto. El aumento de la tasa de transferencia bruta sostenida muestra pocas ganancias para dichos usuarios, ya que la mayoría de los archivos a los que acceden suelen ser muy pequeños de todos modos. La separación de discos mediante RAID 0 aumenta el rendimiento de la transferencia lineal, no el rendimiento de búfer y de búsqueda. Como resultado, la separación de discos utilizando RAID 0 muestra poca o ninguna ganancia de rendimiento en la mayoría de las aplicaciones de escritorio y juegos, aunque hay excepciones. Para los usuarios de escritorio y los jugadores que tienen como objetivo el alto rendimiento, es mejor comprar un solo disco más rápido, más grande y más caro que ejecutar dos unidades más lentas/pequeñas en RAID 0. Incluso ejecutando los últimos discos más grandes y grandes en RAID 0 es poco probable que se incremente el rendimiento en más de un 10%, y el rendimiento puede disminuir en algunos patrones de acceso, especialmente en los juegos.
  • Es difícil trasladar el RAID a un nuevo sistema. Con un solo disco, es relativamente fácil mover el disco a un nuevo sistema. Simplemente se puede conectar al nuevo sistema, si tiene la misma interfaz disponible. Sin embargo, esto no es tan fácil con una matriz RAID. Hay un cierto tipo de metadatos que dicen cómo se configura el RAID. El BIOS de un RAID debe ser capaz de leer estos metadatos para poder construir con éxito la matriz y hacerla accesible a un sistema operativo. Dado que los fabricantes de controladores RAID utilizan diferentes formatos para sus metadatos (incluso los controladores de diferentes familias del mismo fabricante pueden utilizar formatos de metadatos incompatibles) es casi imposible trasladar un arreglo RAID a un controlador diferente. Cuando se traslada una matriz RAID a un nuevo sistema, se deben hacer planes para trasladar también el controlador. Con la popularidad de los controladores RAID integrados en la placa madre, esto es extremadamente difícil. Generalmente, es posible mover los miembros de la matriz RAID y los controladores juntos. Los productos de software RAID en Linux y Windows Server también pueden trabajar alrededor de esta limitación, pero el software RAID tiene otras (en su mayoría relacionadas con el rendimiento).

Ejemplo

Los niveles de RAID más utilizados son RAID 0, RAID 1 y RAID 5. Supongamos que hay una configuración de 3 discos, con 3 discos idénticos de 1 TB cada uno, y que la probabilidad de fallo de un disco durante un periodo de tiempo determinado es del 1%.

Nivel de RAID

Capacidad utilizable

Probabilidad de fracaso

dado en porcentaje

Probabilidad de fracaso

1 en... los casos fallan

0

3 TB

2,9701%

34

1

1 TB

0,0001%

1 millón

5

2 TB

0,0298%

3356


AlegsaOnline.com - 2020 / 2021 - License CC3