REDADA

AjustarCompartirImprimirCitar

RAID ("matriz redundante de discos económicos" o "matriz redundante de discos independientes& #34;) es una tecnología de virtualización de almacenamiento de datos que combina varios componentes de unidades de disco físico en una o más unidades lógicas con el fin de redundancia de datos, mejora del rendimiento o ambos. Esto contrasta con el concepto anterior de unidades de disco de mainframe altamente confiables denominado "disco único, grande y costoso" (TRINEO).

Los datos se distribuyen a través de las unidades en una de varias formas, denominadas niveles de RAID, según el nivel requerido de redundancia y rendimiento. Los diferentes esquemas, o diseños de distribución de datos, se denominan con la palabra "RAID" seguido de un número, por ejemplo, RAID 0 o RAID 1. Cada esquema, o nivel de RAID, proporciona un equilibrio diferente entre los objetivos clave: confiabilidad, disponibilidad, rendimiento y capacidad. Los niveles de RAID superiores a RAID 0 brindan protección contra errores de lectura de sectores irrecuperables, así como contra fallas de unidades físicas completas.

Historia

El término "RAID" fue inventado por David Patterson, Garth A. Gibson y Randy Katz en la Universidad de California, Berkeley en 1987. En su artículo de junio de 1988 "A Case for Redundant Arrays of Inexpensive Disks (RAID)", presentó en la Conferencia SIGMOD, argumentaron que las unidades de disco de mainframe de mayor rendimiento de la época podrían ser superadas en rendimiento por una variedad de unidades económicas que se habían desarrollado para el creciente mercado de computadoras personales. Aunque las fallas aumentarían en proporción a la cantidad de unidades, al configurar la redundancia, la confiabilidad de una matriz podría superar con creces la de cualquier unidad grande.

Aunque todavía no se utiliza esa terminología, las tecnologías de los cinco niveles de RAID mencionados en el documento de junio de 1988 se utilizaron en varios productos antes de la publicación del documento, incluidos los siguientes:

  • El espejo (RAID 1) fue bien establecido en la década de 1970, incluyendo, por ejemplo, Tandem NonStop Systems.
  • En 1977, Norman Ken Ouchi en IBM presentó una patente que revelaba lo que posteriormente se llamaba RAID 4.
  • Alrededor de 1983, DEC comenzó el subsistema de envío de discos RA8X (ahora conocido como RAID 1) como parte de su subsistema HSC50.
  • En 1986, Clark et al. en IBM presentaron una patente que revelaba lo que posteriormente se llamaba RAID 5.
  • Alrededor de 1988, DataVault de las Máquinas de Pensamiento utilizó códigos de corrección de errores (ahora conocidos como RAID 2) en una serie de unidades de disco. A principios del decenio de 1960 se utilizó un enfoque similar en el IBM 353.

Más tarde, los fabricantes de la industria redefinieron el acrónimo de RAID para representar "matriz redundante de discos independientes".

Resumen

Muchos niveles de RAID emplean un esquema de protección contra errores llamado "paridad", un método ampliamente utilizado en tecnología de la información para brindar tolerancia a fallas en un conjunto de datos determinado. La mayoría usa XOR simple, pero RAID 6 usa dos paridades separadas basadas respectivamente en la suma y la multiplicación en un campo de Galois particular o en la corrección de errores Reed-Solomon.

RAID también puede proporcionar seguridad de datos con unidades de estado sólido (SSD) sin el gasto de un sistema totalmente SSD. Por ejemplo, un SSD rápido se puede duplicar con una unidad mecánica. Para que esta configuración brinde una ventaja de velocidad significativa, se necesita un controlador apropiado que use el SSD rápido para todas las operaciones de lectura. Adaptec llama a esto "RAID híbrido".

Niveles estándar

Servidores de almacenamiento con 24 unidades de disco duro cada uno y controladores RAID integrados compatibles con varios niveles RAID

Originalmente, había cinco niveles estándar de RAID, pero han evolucionado muchas variaciones, incluidos varios niveles anidados y muchos niveles no estándar (principalmente propietarios). Los niveles de RAID y sus formatos de datos asociados están estandarizados por la Storage Networking Industry Association (SNIA) en el estándar Common RAID Disk Drive Format (DDF):

  • RAID 0 consiste en despojar, pero sin espejo ni paridad. En comparación con un volumen extendido, la capacidad de un volumen RAID 0 es la misma; es la suma de las capacidades de las unidades en el conjunto. Pero debido a que la tira distribuye el contenido de cada archivo entre todas las unidades del conjunto, el fallo de cualquier unidad provoca que todo el volumen RAID 0 y todos los archivos se pierdan. En comparación, un volumen encadenado conserva los archivos en las unidades infalibles. El beneficio de RAID 0 es que el rendimiento de las operaciones de lectura y escritura a cualquier archivo se multiplica por el número de unidades porque, a diferencia de los volúmenes abarcados, lee y escribe se hacen simultáneamente. El costo es mayor vulnerabilidad a las fallas de la unidad, ya que cualquier unidad en una configuración RAID 0 causa la pérdida de todo el volumen, la tasa promedio de fracaso del volumen aumenta con el número de unidades adjuntas.
  • RAID 1 consta de datos que reflejan, sin paridad o desnudamiento. Los datos se escriben de forma idéntica a dos o más unidades, produciendo así un "grupo buscado" de unidades. Por lo tanto, cualquier solicitud de lectura puede ser atendido por cualquier unidad en el conjunto. Si una solicitud se transmite a cada unidad en el conjunto, puede ser atendido por la unidad que accede primero a los datos (dependiendo de su tiempo de búsqueda y latencia rotativa), mejorando el rendimiento. El rendimiento de lectura sostenido, si el controlador o el software está optimizado para él, se aproxima a la suma de los rendimientos de cada unidad en el conjunto, así como para RAID 0. El rendimiento de lectura real de la mayoría de las implementaciones RAID 1 es más lento que el disco más rápido. El rendimiento de escritura siempre es más lento porque cada unidad debe ser actualizada, y la unidad más lenta limita el rendimiento de escritura. El array continúa operando mientras al menos una unidad esté funcionando.
  • RAID 2 consiste en strip-level striping con la paridad de código Hamming dedicado. Toda la rotación de husillo de disco se sincroniza y los datos se rayan de tal manera que cada bit secuencial está en una unidad diferente. La paridad de código de adelgazamiento se calcula a través de los bits correspondientes y se almacena en al menos una unidad de paridad. Este nivel es de significado histórico solamente; aunque fue utilizado en algunas máquinas tempranas (por ejemplo, las Máquinas de Pensamiento CM-2), a partir de 2014 no es utilizado por ningún sistema comercialmente disponible.
  • RAID 3 consiste en desnudamiento de nivel byte con paridad dedicada. Toda la rotación de husillo de disco se sincroniza y los datos se rayan de tal manera que cada byte secuencial está en una unidad diferente. La paridad se calcula a través de los bytes correspondientes y se almacena en una unidad de paridad dedicada. Aunque existen implementaciones, RAID 3 no se utiliza comúnmente en la práctica.
  • RAID 4 consiste en desnudamiento de nivel bloque con paridad dedicada. This level was previously used by NetApp, but has now been largely replaced by a proprietary implementation of RAID 4 with two parity disks, called RAID-DP. La principal ventaja de RAID 4 sobre RAID 2 y 3 es el paralelismo I/O: en RAID 2 y 3, una sola operación de lectura I/O requiere leer todo el grupo de unidades de datos, mientras que en RAID 4 una operación de lectura I/O no tiene que extenderse a través de todas las unidades de datos. Como resultado, se pueden ejecutar más operaciones de I/O en paralelo, mejorando el desempeño de pequeñas transferencias.
  • RAID 5 consiste en desnudamiento de nivel bloque con paridad distribuida. A diferencia de RAID 4, la información de paridad se distribuye entre las unidades, requiriendo todas las unidades pero una para estar presente para operar. Al fracaso de una sola unidad, las lecturas posteriores se pueden calcular a partir de la paridad distribuida de tal manera que no se pierden datos. RAID 5 requiere al menos tres discos. Al igual que todos los conceptos de una sola paridad, las grandes implementaciones RAID 5 son susceptibles a fallas del sistema debido a las tendencias relativas al tiempo de reconstrucción de arrays y a la posibilidad de falla de la unidad durante la reconstrucción (ver sección "Incrementar el tiempo de reconstrucción y la probabilidad de fracaso", abajo). Reconstruir un array requiere leer todos los datos de todos los discos, abrir una oportunidad para un segundo fallo de la unidad y la pérdida de todo el array.
  • RAID 6 consiste en desniveles de nivel bloque con doble paridad distribuida. La doble paridad proporciona tolerancia a la falla hasta dos unidades fallidas. Esto hace que los grupos RAID más grandes sean más prácticos, especialmente para sistemas de alta disponibilidad, ya que las unidades de gran capacidad tardan más en restaurar. RAID 6 requiere un mínimo de cuatro discos. Al igual que con RAID 5, un fallo de unidad único resulta en un rendimiento reducido de toda la matriz hasta que se ha reemplazado la unidad fallida. Con un array RAID 6, utilizando unidades de múltiples fuentes y fabricantes, es posible mitigar la mayoría de los problemas asociados con RAID 5. Cuanto mayor sea la capacidad de la unidad y mayor sea el tamaño de la matriz, más importante será elegir RAID 6 en lugar de RAID 5. RAID 10 también minimiza estos problemas.

RAID anidado (híbrido)

En lo que originalmente se denominó RAID híbrido, muchos controladores de almacenamiento permiten anidar los niveles de RAID. Los elementos de un RAID pueden ser unidades individuales o matrices. Las matrices rara vez se anidan a más de un nivel de profundidad.

La matriz final se conoce como la matriz superior. Cuando la matriz superior es RAID 0 (como en RAID 1+0 y RAID 5+0), la mayoría de los proveedores omiten el "+" (lo que produce RAID 10 y RAID 50, respectivamente).

  • RAID 0+1: crea dos rayas y espejos. Si se produce una sola falla de unidad entonces uno de los espejos ha fallado, en este punto se está ejecutando eficazmente como RAID 0 sin redundancia. Se introduce un riesgo significativamente mayor durante una reconstrucción que RAID 1+0 ya que todos los datos de todas las unidades de la raya restante tienen que ser leídos en lugar de sólo de una unidad, aumentando la probabilidad de un error de lectura no recuperable (URE) y ampliando significativamente la ventana de reconstrucción.
  • RAID 1+0: (ver: RAID 10) crea un conjunto rayado de una serie de unidades espejo. El array puede soportar múltiples pérdidas de unidad mientras ningún espejo pierda todas sus unidades.
  • JBOD RAID N+N: Con JBODsólo un montón de discos), es posible concatenar discos, pero también volúmenes como conjuntos RAID. Con mayores capacidades de transmisión, escriba retraso y el tiempo de reconstrucción aumenta dramáticamente (especialmente, como se describe anteriormente, con RAID 5 y RAID 6). Al dividir un RAID N más grande establecido en subconjuntos más pequeños y concatenarlos con JBOD lineal, se reducirá el tiempo de escritura y reconstrucción. Si un controlador RAID de hardware no es capaz de anidar JBOD lineal con RAID N, entonces JBOD lineal se puede lograr con el software RAID de nivel OS en combinación con volúmenes de subconjuntos RAID N separados creados dentro de uno o más controladores RAID de hardware. Además de un aumento drástico de la velocidad, esto también proporciona una ventaja sustancial: la posibilidad de iniciar un JBOD lineal con un pequeño conjunto de discos y de poder expandir el conjunto total con discos de diferente tamaño, más adelante (en el tiempo, los discos de mayor tamaño están disponibles en el mercado). Hay otra ventaja en la forma de recuperación de desastres (si un subconjunto RAID N falla, entonces los datos sobre los otros subconjuntos RAID N no se pierden, reduciendo el tiempo de restauración).

Niveles no estándar

Son posibles muchas configuraciones además de los niveles básicos de RAID numerados, y muchas empresas, organizaciones y grupos han creado sus propias configuraciones no estándar, en muchos casos diseñadas para satisfacer las necesidades especializadas de un grupo de nicho pequeño. Tales configuraciones incluyen lo siguiente:

  • Linux MD RAID 10 proporciona un controlador RAID general que en su diseño "cerca" predetermina a un RAID 1 estándar con dos unidades, y un RAID 1+0 estándar con cuatro unidades; sin embargo, puede incluir cualquier número de unidades, incluyendo números impares. Con su diseño "far", MD RAID 10 puede funcionar tanto despojado como espejo, incluso con sólo dos unidades en f2 diseño; esto corre espejo con lecturas rayadas, dando el rendimiento de lectura de RAID 0. RAID regular 1, según lo dispuesto por el software de Linux RAID, no raya lee, pero puede realizar lecturas en paralelo.
  • Hadoop tiene un sistema RAID que genera un archivo de paridad por xor-ing una tira de bloques en un solo archivo HDFS.
  • BeeGFS, el sistema de ficheros paralelos, cuenta con desnudamiento interno (comparable a RAID0 basado en archivos) y replicación (comparable a opciones RAID10) basadas en archivos para la potencia agregada y la capacidad de múltiples servidores y se basa típicamente en la parte superior de un RAID subyacente para hacer las fallas de disco transparentes.
  • RAID declustered dispersa dos (o más) copias de los datos a través de todos los discos (posiblemente cientos) en un subsistema de almacenamiento, mientras que mantiene suficiente capacidad de repuesto para permitir que algunos discos fallen. La dispersión se basa en algoritmos que dan la apariencia de arbitrariedad. Cuando uno o más discos fallan las copias perdidas son reconstruidas en esa capacidad de repuesto, de nuevo arbitrariamente. Debido a que la reconstrucción se realiza de y a todos los discos restantes, funciona mucho más rápido que con RAID tradicional, reduciendo el impacto general en los clientes del sistema de almacenamiento.

Implementaciones

La distribución de datos a través de varias unidades se puede administrar mediante hardware de computadora dedicado o mediante software. Una solución de software puede ser parte del sistema operativo, parte del firmware y los controladores suministrados con un controlador de disco estándar (el llamado "RAID de software asistido por hardware"), o puede residir completamente dentro del RAID de hardware. controlador.

Basado en hardware

Los controladores RAID de hardware se pueden configurar a través del BIOS de la tarjeta o la ROM de opción antes de que se inicie un sistema operativo, y después de que se inicie el sistema operativo, las utilidades de configuración propietarias están disponibles del fabricante de cada controlador. A diferencia de los controladores de interfaz de red para Ethernet, que generalmente se pueden configurar y reparar completamente a través de paradigmas de sistemas operativos comunes como ifconfig en Unix, sin necesidad de herramientas de terceros, cada fabricante de cada controlador RAID generalmente proporciona su propia herramienta de software patentada. para cada sistema operativo que consideren compatible, asegurando un bloqueo de proveedor y contribuyendo a problemas de confiabilidad.

Por ejemplo, en FreeBSD, para acceder a la configuración de los controladores RAID de Adaptec, los usuarios deben habilitar la capa de compatibilidad con Linux y utilizar las herramientas de Linux de Adaptec, lo que podría comprometer la estabilidad, la confiabilidad y la seguridad de su configuración, especialmente cuando se toma la visión a largo plazo.

Algunos otros sistemas operativos han implementado sus propios marcos genéricos para interactuar con cualquier controlador RAID y proporcionan herramientas para monitorear el estado del volumen RAID, así como facilitar la identificación de la unidad a través del parpadeo del LED, la administración de alarmas y las designaciones de disco de repuesto dinámico desde dentro del sistema operativo sin tener que reiniciar en el BIOS de la tarjeta. Por ejemplo, este fue el enfoque adoptado por OpenBSD en 2005 con su pseudodispositivo bio(4) y la utilidad bioctl, que proporcionan el estado del volumen y permiten el control de LED/alarma/repuesto, así como los sensores (incluido el sensor de la unidad).) para el control de la salud; Este enfoque también ha sido adoptado y ampliado posteriormente por NetBSD en 2007.

Basado en software

Muchos sistemas operativos modernos proporcionan implementaciones RAID de software. El software RAID se puede implementar como:

  • Una capa que abstrae múltiples dispositivos, proporcionando así un solo dispositivo virtual (como el md del kernel de Linux y el softraid de OpenBSD)
  • Un gestor de volumen lógico más genérico (proporcionado con la mayoría de los sistemas operativos de clase servidor como Veritas o LVM)
  • Un componente del sistema de archivos (como ZFS, Escala Espectrum o Btrfs)
  • Una capa que se sienta por encima de cualquier sistema de archivos y proporciona protección de paridad a los datos de los usuarios (como RAID-F)

Algunos sistemas de archivos avanzados están diseñados para organizar datos en varios dispositivos de almacenamiento directamente, sin necesidad de la ayuda de un administrador de volúmenes lógicos de terceros:

  • ZFS soporta los equivalentes de RAID 0, RAID 1, RAID 5 (RAID-Z1) una sola paridad, RAID 6 (RAID-Z2) de doble paridad, y una versión de triple paridad (RAID-Z3) también conocida como RAID 7. Como siempre se tira sobre vdevs de nivel superior, soporta equivalentes de los niveles 1+0, 5+0 y 6+0 anidados de RAID (así como conjuntos de triple paridad rayados) pero no otras combinaciones anidadas. ZFS es el sistema de archivos nativos de Solaris y illumos, y también está disponible en FreeBSD y Linux. Las implementaciones ZFS de código abierto se desarrollan activamente en el marco del proyecto paraguas OpenZFS.
  • Spectrum Scale, desarrollado inicialmente por IBM para streaming de medios y análisis escalables, soporta esquemas de protección RAID desmarcados hasta n+3. Una particularidad es la prioridad de reconstrucción dinámica que se ejecuta con bajo impacto en el fondo hasta que un fragmento de datos golpea la redundancia n+0, en cuyo caso este pedazo se reconstruye rápidamente al menos n+1. En la parte superior, Spectrum Scale soporta la distancia de metro RAID 1.
  • Btrfs admite RAID 0, RAID 1 y RAID 10 (RAID 5 y 6 están en desarrollo).
  • XFS fue diseñado originalmente para proporcionar un gestor de volumen integrado que soporta la concatenación, el espejo y el despojo de múltiples dispositivos de almacenamiento físico. Sin embargo, la implementación de XFS en Linux kernel carece del gestor de volumen integrado.

Muchos sistemas operativos proporcionan implementaciones RAID, incluidos los siguientes:

  • El sistema operativo OpenVMS de Hewlett-Packard admite RAID 1. Los discos espejos, llamados "shadow set", pueden estar en diferentes lugares para ayudar en la recuperación de desastres.
  • Los macOS de Apple y macOS Server soportan RAID 0, RAID 1, y RAID 1+0.
  • FreeBSD admite RAID 0, RAID 1, RAID 3 y RAID 5, y todos los anidajes a través de módulos GEOM y ccd.
  • Linux es compatible con RAID 0, RAID 1, RAID 4, RAID 5, RAID 6, y todos los anidajes. También se presta apoyo a ciertas operaciones de reacondicionamiento/resificación/expandación.
  • Microsoft Windows admite RAID 0, RAID 1, y RAID 5 utilizando varias implementaciones de software. Logical Disk Manager, introducido con Windows 2000, permite la creación de volúmenes RAID 0, RAID 1, y RAID 5 utilizando discos dinámicos, pero esto se limitó sólo a ediciones profesionales y servidor de Windows hasta la liberación de Windows 8. Windows XP puede ser modificado para desbloquear soporte para RAID 0, 1, y 5. Windows 8 y Windows Server 2012 introdujo una característica similar a RAID conocida como Espacios de almacenamiento, que también permite a los usuarios especificar espejo, paridad o ninguna redundancia en una base de carpeta por carpeta. Estas opciones son similares a RAID 1 y RAID 5, pero se implementan a un nivel de abstracción superior.
  • NetBSD admite RAID 0, 1, 4 y 5 a través de su implementación de software, llamada RAIDframe.
  • OpenBSD admite RAID 0, 1 y 5 a través de su implementación de software, llamada softraid.

Si falla una unidad de arranque, el sistema debe ser lo suficientemente sofisticado para poder arrancar desde la unidad o unidades restantes. Por ejemplo, considere una computadora cuyo disco está configurado como RAID 1 (unidades duplicadas); si la primera unidad del arreglo falla, es posible que un cargador de arranque de primera etapa no sea lo suficientemente sofisticado para intentar cargar el cargador de arranque de segunda etapa desde la segunda unidad como respaldo. El cargador de arranque de segunda etapa para FreeBSD es capaz de cargar un núcleo desde una matriz de este tipo.

Basado en firmware y controlador

Un controlador SATA 3.0 que proporciona funcionalidad RAID a través de firmware propietario y controladores

El RAID implementado por software no siempre es compatible con el proceso de arranque del sistema y, por lo general, no es práctico para las versiones de escritorio de Windows. Sin embargo, los controladores RAID de hardware son costosos y patentados. Para llenar este vacío, los "controladores RAID" económicos se introdujeron que no contienen un chip controlador RAID dedicado, sino simplemente un chip controlador de unidad estándar con firmware y controladores patentados. Durante el arranque temprano, el firmware implementa el RAID y, una vez que el sistema operativo se ha cargado por completo, los controladores toman el control. En consecuencia, es posible que dichos controladores no funcionen cuando el soporte del controlador no está disponible para el sistema operativo host. Un ejemplo es la tecnología Intel Rapid Storage, implementada en muchas placas base de nivel de consumidor.

Debido a que se trata de un soporte de hardware mínimo, esta implementación también se denomina "RAID de software asistido por hardware", "modelo híbrido" RAID, o incluso "falso RAID". Si se admite RAID 5, el hardware puede proporcionar un acelerador XOR de hardware. Una ventaja de este modelo sobre el RAID de software puro es que, si se usa un modo de redundancia, la unidad de arranque está protegida contra fallas (debido al firmware) durante el proceso de arranque, incluso antes de que los controladores del sistema operativo tomen el control.

Integridad

La depuración de datos (denominada en algunos entornos como patrulla de lectura) implica la lectura y comprobación periódicas por parte del controlador RAID de todos los bloques de una matriz, incluidos aquellos a los que no se accede de otro modo. Esto detecta bloques defectuosos antes de su uso. La depuración de datos busca bloques defectuosos en cada dispositivo de almacenamiento de una matriz, pero también utiliza la redundancia de la matriz para recuperar bloques defectuosos en una sola unidad y reasignar los datos recuperados a bloques de repuesto en otra parte de la unidad.

Con frecuencia, una controladora RAID está configurada para "eliminar" una unidad de componentes (es decir, asumir que una unidad de componentes ha fallado) si la unidad no ha respondido durante aproximadamente ocho segundos; esto podría hacer que el controlador de matriz deje caer una unidad en buen estado porque no se le ha dado tiempo suficiente para completar su procedimiento interno de recuperación de errores. En consecuencia, el uso de unidades comercializadas para el consumidor con RAID puede ser riesgoso y la llamada "clase empresarial" Las unidades limitan este tiempo de recuperación de errores para reducir el riesgo. Las unidades de escritorio de Western Digital solían tener una solución específica. Una utilidad llamada WDTLER.exe limitaba el tiempo de recuperación de errores de una unidad. La utilidad habilitó TLER (recuperación de errores con tiempo limitado), que limita el tiempo de recuperación de errores a siete segundos. Alrededor de septiembre de 2009, Western Digital deshabilitó esta función en sus unidades de escritorio (como la línea Caviar Black), lo que hizo que dichas unidades no fueran adecuadas para su uso en configuraciones RAID. Sin embargo, las unidades de clase empresarial de Western Digital se envían de fábrica con TLER habilitado. Seagate, Samsung e Hitachi utilizan tecnologías similares. Para el uso no RAID, una unidad de clase empresarial con un tiempo de espera de recuperación de error corto que no se puede cambiar es, por lo tanto, menos adecuada que una unidad de escritorio. A fines de 2010, el programa Smartmontools comenzó a admitir la configuración de ATA Error Recovery Control, lo que permitió que la herramienta configurara muchos discos duros de escritorio para usar en configuraciones RAID.

Si bien RAID puede proteger contra fallas de la unidad física, los datos aún están expuestos a la destrucción por parte del operador, el software, el hardware y los virus. Muchos estudios citan la falla del operador como una fuente común de mal funcionamiento, como un operador de servidor que reemplaza la unidad incorrecta en un RAID defectuoso y deshabilita el sistema (incluso temporalmente) en el proceso.

Un arreglo puede verse abrumado por una falla catastrófica que excede su capacidad de recuperación y todo el arreglo corre el riesgo de sufrir daños físicos por incendios, desastres naturales y fuerzas humanas; sin embargo, las copias de seguridad se pueden almacenar fuera del sitio. Un arreglo también es vulnerable a la falla del controlador porque no siempre es posible migrarlo a un controlador nuevo y diferente sin pérdida de datos.

Debilidades

Fallas relacionadas

En la práctica, las unidades suelen tener la misma antigüedad (con un desgaste similar) y están sujetas al mismo entorno. Dado que muchas fallas de la unidad se deben a problemas mecánicos (que son más probables en las unidades más antiguas), esto viola las suposiciones de una tasa de falla idéntica e independiente entre las unidades; de hecho, los fallos están correlacionados estadísticamente. En la práctica, las posibilidades de una segunda falla antes de que se haya recuperado la primera (que causa la pérdida de datos) son más altas que las posibilidades de fallas aleatorias. En un estudio de aproximadamente 100 000 unidades, la probabilidad de que dos unidades en el mismo clúster fallaran en una hora fue cuatro veces mayor que la predicha por la distribución estadística exponencial, que caracteriza los procesos en los que los eventos ocurren de forma continua e independiente a una tasa promedio constante. La probabilidad de dos fallas en el mismo período de 10 horas era el doble de lo previsto por una distribución exponencial.

Errores de lectura irrecuperables durante la reconstrucción

Errores de lectura irrecuperables (URE) presentes como errores de lectura de sector, también conocidos como errores de sector latentes (LSE). La medida de evaluación de medios asociada, la tasa de error de bit irrecuperable (UBE), generalmente se garantiza que es menos de un bit en 1015 para unidades de clase empresarial (SCSI, FC, SAS o SATA), y menos de un bit en 1014 para unidades de escritorio (IDE/ATA/PATA o SATA). El aumento de la capacidad de las unidades y las grandes instancias de RAID 5 han hecho que las tasas de error máximas sean insuficientes para garantizar una recuperación exitosa, debido a la alta probabilidad de que ocurra un error de este tipo en una o más unidades restantes durante la reconstrucción de un conjunto de RAID. Al reconstruir, los esquemas basados en paridad como RAID 5 son particularmente propensos a los efectos de los URE, ya que afectan no solo al sector donde ocurren, sino también a los bloques reconstruidos que usan ese sector para el cálculo de paridad.

Los esquemas basados en paridad de doble protección, como RAID 6, intentan abordar este problema al proporcionar redundancia que permite fallas de doble unidad; Como desventaja, tales esquemas sufren una penalización de escritura elevada: la cantidad de veces que se debe acceder al medio de almacenamiento durante una sola operación de escritura. Los esquemas que duplican (reflejan) los datos de una unidad a otra, como RAID 1 y RAID 10, tienen un menor riesgo de URE que aquellos que utilizan el cálculo de paridad o la duplicación entre conjuntos divididos. La depuración de datos, como proceso en segundo plano, se puede utilizar para detectar y recuperarse de URE, lo que reduce de manera efectiva el riesgo de que ocurran durante las reconstrucciones de RAID y provoquen fallas en las unidades dobles. La recuperación de URE implica la reasignación de los sectores del disco subyacentes afectados, utilizando el grupo de reasignación de sectores de la unidad; en caso de que se detecten URE durante la limpieza en segundo plano, la redundancia de datos proporcionada por un conjunto RAID totalmente operativo permite reconstruir y reescribir los datos faltantes en un sector reasignado.

Aumento del tiempo de reconstrucción y probabilidad de falla

La capacidad de la unidad ha crecido a un ritmo mucho más rápido que la velocidad de transferencia y, en comparación, las tasas de error solo han disminuido un poco. Por lo tanto, las unidades de mayor capacidad pueden tardar horas, si no días, en reconstruirse, tiempo durante el cual otras unidades pueden fallar o pueden aparecer errores de lectura aún no detectados. El tiempo de reconstrucción también es limitado si todo el arreglo todavía está en funcionamiento a capacidad reducida. Dada una matriz con una sola unidad redundante (que se aplica a los niveles de RAID 3, 4 y 5, y al RAID 1 de dos unidades 'clásico'), la falla de una segunda unidad provocaría la falla completa de la matriz. Aunque las unidades individuales' el tiempo medio entre fallos (MTBF) ha aumentado con el tiempo, este aumento no ha seguido el ritmo del aumento de la capacidad de almacenamiento de las unidades. El tiempo para reconstruir la matriz después de una falla de una sola unidad, así como la posibilidad de una segunda falla durante una reconstrucción, ha aumentado con el tiempo.

Algunos comentaristas han declarado que RAID 6 es solo una "curita" en este sentido, porque solo lleva el problema un poco más adelante. Sin embargo, según el estudio de NetApp de 2006 de Berriman et al., la probabilidad de falla se reduce en un factor de aproximadamente 3800 (en relación con RAID 5) para una implementación adecuada de RAID 6, incluso cuando se utilizan unidades estándar. Sin embargo, si las tendencias tecnológicas observadas actualmente permanecen sin cambios, en 2019 una matriz RAID 6 tendrá la misma posibilidad de fallar que su contraparte RAID 5 tuvo en 2010.

Los esquemas de duplicación, como RAID 10, tienen un tiempo de recuperación limitado, ya que requieren la copia de una sola unidad fallida, en comparación con los esquemas de paridad, como RAID 6, que requieren la copia de todos los bloques de las unidades en un conjunto de matrices. Se han sugerido esquemas de paridad triple, o duplicación triple, como un enfoque para mejorar la resiliencia ante una falla adicional de la unidad durante este largo tiempo de reconstrucción.

Atomicidad

Un bloqueo del sistema u otra interrupción de una operación de escritura puede dar lugar a estados en los que la paridad no es coherente con los datos debido a la falta de atomicidad del proceso de escritura, de modo que la paridad no se puede utilizar para la recuperación en el caso de un disco. falla. Esto se denomina comúnmente el agujero de escritura de RAID 5. El agujero de escritura de RAID es un problema conocido de corrupción de datos en RAID más antiguos y de gama baja, causado por la eliminación interrumpida de las escrituras en el disco. El agujero de escritura se puede abordar con el registro de escritura anticipada. Esto se solucionó en mdadm mediante la introducción de un dispositivo de registro en diario dedicado (para evitar la penalización del rendimiento, por lo general, se prefieren SSD y NVM) para ese propósito.

Este es un modo de falla poco entendido y rara vez mencionado para los sistemas de almacenamiento redundantes que no utilizan funciones transaccionales. El investigador de la base de datos Jim Gray escribió "Actualizar en el lugar es una manzana venenosa" durante los primeros días de la comercialización de bases de datos relacionales.

Fiabilidad de caché de escritura

Hay inquietudes sobre la confiabilidad de la caché de escritura, específicamente con respecto a los dispositivos equipados con una caché de escritura no simultánea, que es un sistema de almacenamiento en caché que informa que los datos se escriben tan pronto como se escriben en la memoria caché, a diferencia de cuando se escriben. al medio no volátil. Si el sistema experimenta una pérdida de energía u otra falla importante, los datos pueden perderse irrevocablemente del caché antes de llegar al almacenamiento no volátil. Por esta razón, las buenas implementaciones de caché de reescritura incluyen mecanismos, como energía de batería redundante, para preservar el contenido de la caché durante las fallas del sistema (incluidas las fallas de energía) y para vaciar la caché en el momento del reinicio del sistema.

Contenido relacionado

Submarino tipo II

UGM-73 Poseidón

Toyota

Más resultados...
Tamaño del texto: