Tecnología de virtualización de almacenamiento de datos
RAID ( / r eɪ d / ; " matriz redundante de discos económicos " [1] o " matriz redundante de discos independientes " [2] ) es una tecnología de virtualización de almacenamiento de datos que combina múltiples componentes de unidades de disco físicas en una o más unidades lógicas con el fin de lograr redundancia de datos , mejorar el rendimiento o ambos. Esto contrasta con el concepto anterior de unidades de disco de mainframe altamente confiables conocidas como "disco único grande y costoso" (SLED). [3] [1]
Los datos se distribuyen entre las unidades de una de varias maneras, denominadas niveles RAID, según el nivel de redundancia y rendimiento requerido. Los diferentes esquemas, o diseños de distribución de datos, se nombran con la palabra "RAID" seguida de un número, por ejemplo RAID 0 o RAID 1. Cada esquema, o nivel RAID, proporciona un equilibrio diferente entre los objetivos clave: confiabilidad , disponibilidad , rendimiento y capacidad . Los niveles 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 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)", presentado en la Conferencia SIGMOD , argumentaron que las unidades de disco de mainframe de mayor rendimiento de la época podían ser superadas en rendimiento por una matriz de las unidades económicas que se habían desarrollado para el creciente mercado de las computadoras personales . Aunque los fallos aumentarían en proporción al número de unidades, al configurar la redundancia, la fiabilidad de una matriz podría superar con creces la de cualquier unidad individual de gran tamaño. [4]
Aunque todavía no se utilizaba esa terminología, las tecnologías de los cinco niveles de RAID nombrados en el artículo de junio de 1988 se utilizaban en varios productos antes de la publicación del artículo, [3] incluidos los siguientes:
La duplicación (RAID 1) estaba bien establecida en la década de 1970, incluidos, por ejemplo, los sistemas Tandem NonStop .
En 1977, Norman Ken Ouchi de IBM presentó una patente que revelaba lo que posteriormente se denominó RAID 4. [5]
Alrededor de 1983, DEC comenzó a enviar unidades de disco RA8X con subsistema reflejado (ahora conocidas como RAID 1) como parte de su subsistema HSC50. [6]
En 1986, Clark et al. de IBM presentaron una patente que revelaba lo que posteriormente se denominó RAID 5. [7]
Alrededor de 1988, el DataVault de Thinking Machines utilizó códigos de corrección de errores (ahora conocidos como RAID 2) en una matriz de unidades de disco. [8] Un enfoque similar se utilizó a principios de la década de 1960 en el IBM 353. [ 9] [10]
Los fabricantes de la industria posteriormente redefinieron el acrónimo RAID para que significara "matriz redundante de discos independientes ". [2] [11] [12] [13]
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, una SSD rápida se puede duplicar con una unidad mecánica. Para que esta configuración proporcione una ventaja de velocidad significativa, se necesita un controlador adecuado que utilice la SSD rápida para todas las operaciones de lectura. Adaptec lo denomina "RAID híbrido". [15]
Niveles estándar
Originalmente, había cinco niveles estándar de RAID, pero han surgido muchas variaciones, incluidos varios niveles anidados y muchos niveles no estándar (en su mayoría propietarios ). Los niveles 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): [16] [17]
RAID 0 consiste en la distribución a nivel de bloque, pero no en duplicación ni paridad . En comparación con un volumen distribuido , la capacidad de un volumen RAID 0 es la misma; es la suma de las capacidades de las unidades del conjunto. Pero debido a que la distribución distribuye el contenido de cada archivo entre todas las unidades del conjunto, la falla de cualquier unidad hace que se pierda todo el volumen RAID 0 y todos los archivos. En comparación, un volumen distribuido conserva los archivos en las unidades que no fallan. El beneficio de RAID 0 es que el rendimiento de las operaciones de lectura y escritura en cualquier archivo se multiplica por la cantidad de unidades porque, a diferencia de los volúmenes distribuidos, las lecturas y escrituras se realizan simultáneamente . [11] El costo es una mayor vulnerabilidad a las fallas de las unidades: dado que cualquier unidad en una configuración RAID 0 que falla hace que se pierda todo el volumen, la tasa de falla promedio del volumen aumenta con la cantidad de unidades conectadas.
RAID 1 consiste en la duplicación de datos, sin paridad ni segmentación. Los datos se escriben de forma idéntica en dos o más unidades, lo que produce un "conjunto duplicado" de unidades. Por lo tanto, cualquier solicitud de lectura puede ser atendida por cualquier unidad del conjunto. Si una solicitud se transmite a todas las unidades del conjunto, puede ser atendida por la unidad que accede a los datos primero (dependiendo de su tiempo de búsqueda y latencia rotacional ), lo que mejora el rendimiento. El rendimiento de lectura sostenido, si el controlador o el software están optimizados para ello, se aproxima a la suma de los rendimientos de cada unidad del conjunto, al igual que en RAID 0. El rendimiento de lectura real de la mayoría de las implementaciones de RAID 1 es más lento que el de la unidad más rápida. El rendimiento de escritura siempre es más lento porque cada unidad debe actualizarse y la unidad más lenta limita el rendimiento de escritura. La matriz continúa funcionando mientras funcione al menos una unidad. [11]
RAID 2 consiste en una distribución a nivel de bits con paridad de código Hamming dedicada . Toda la rotación del eje del disco está sincronizada y los datos se distribuyen de manera que cada bit secuencial se encuentre en una unidad diferente. La paridad de código Hamming se calcula a través de los bits correspondientes y se almacena en al menos una unidad de paridad. [11] Este nivel tiene importancia histórica únicamente; aunque se utilizó en algunas máquinas tempranas (por ejemplo, Thinking Machines CM-2), [18] a partir de 2014[actualizar]no se utiliza en ningún sistema disponible comercialmente. [19]
RAID 3 consiste en una distribución a nivel de bytes con paridad dedicada. Toda la rotación de los ejes del disco está sincronizada y los datos se distribuyen de manera que cada byte secuencial se encuentre en una unidad diferente. La paridad se calcula a través de los bytes correspondientes y se almacena en una unidad de paridad dedicada. [11] Aunque existen implementaciones, [20] RAID 3 no se usa comúnmente en la práctica.
RAID 4 consiste en una distribución a nivel de bloque con paridad dedicada. Este nivel fue utilizado anteriormente por NetApp , pero ahora ha sido reemplazado en gran medida por una implementación propietaria de RAID 4 con dos discos de paridad, llamada RAID-DP . [21] La principal ventaja de RAID 4 sobre RAID 2 y 3 es el paralelismo de E/S: en RAID 2 y 3, una sola operación de lectura de E/S requiere leer todo el grupo de unidades de datos, mientras que en RAID 4 una operación de lectura de E/S no tiene que extenderse por todas las unidades de datos. Como resultado, se pueden ejecutar más operaciones de E/S en paralelo, lo que mejora el rendimiento de las transferencias pequeñas. [1]
RAID 5 consiste en una distribución a nivel de bloques con paridad distribuida. A diferencia de RAID 4, la información de paridad se distribuye entre las unidades, lo que requiere que todas las unidades, excepto una, estén presentes para funcionar. En caso de falla de una sola unidad, las lecturas posteriores se pueden calcular a partir de la paridad distribuida de modo que no se pierdan datos. RAID 5 requiere al menos tres discos. [11] Como todos los conceptos de paridad simple, las implementaciones RAID 5 de gran tamaño son susceptibles a fallas del sistema debido a las tendencias relacionadas con el tiempo de reconstrucción de la matriz y la posibilidad de falla de la unidad durante la reconstrucción (consulte la sección "Aumento del tiempo de reconstrucción y la probabilidad de falla", a continuación). [22] La reconstrucción de una matriz requiere leer todos los datos de todos los discos, lo que abre la posibilidad de una segunda falla de la unidad y la pérdida de toda la matriz.
RAID 6 consiste en una distribución a nivel de bloques con paridad distribuida doble. La paridad doble proporciona tolerancia a fallos hasta en dos unidades defectuosas. 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 restaurarse. RAID 6 requiere un mínimo de cuatro discos. Al igual que con RAID 5, una falla de una sola unidad da como resultado un rendimiento reducido de toda la matriz hasta que se haya reemplazado la unidad defectuosa. [11] Con una matriz 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 las unidades y mayor el tamaño de la matriz, más importante se vuelve elegir RAID 6 en lugar de RAID 5. [23] RAID 10 también minimiza estos problemas. [24]
RAID anidado (híbrido)
En lo que originalmente se denominó RAID híbrido , [25] muchos controladores de almacenamiento permiten que los niveles RAID se aniden. Los elementos de un RAID pueden ser unidades individuales o matrices en sí mismas. Las matrices rara vez se anidan a más de un nivel de profundidad.
La matriz final se conoce como 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 da como resultado RAID 10 y RAID 50, respectivamente).
RAID 0+1: crea dos bandas y las refleja. Si se produce un fallo en una sola unidad, uno de los espejos ha fallado y, en ese momento, funciona de manera efectiva como RAID 0 sin redundancia. Durante una reconstrucción, se introduce un riesgo significativamente mayor que con RAID 1+0, ya que se deben leer todos los datos de todas las unidades de la banda restante en lugar de solo de una unidad, lo que aumenta la posibilidad de un error de lectura irrecuperable (URE) y extiende significativamente la ventana de reconstrucción. [26] [27] [28]
RAID 1+0: (ver: RAID 10 ) crea un conjunto en bandas a partir de una serie de unidades duplicadas. La matriz puede soportar múltiples pérdidas de unidades siempre que ninguna de las duplicadas pierda todas sus unidades. [29]
JBOD RAID N+N: Con JBOD ( simplemente un conjunto de discos ), es posible concatenar discos, pero también volúmenes como conjuntos RAID. Con capacidades de disco mayores, el retraso de escritura y el tiempo de reconstrucción aumentan drásticamente (especialmente, como se describió anteriormente, con RAID 5 y RAID 6). Al dividir un conjunto RAID N más grande en subconjuntos más pequeños y concatenarlos con JBOD lineal, [ aclaración necesaria ] 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 se puede lograr JBOD lineal con RAID de software a nivel de SO en combinación con volúmenes de subconjunto 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 poder expandir el conjunto total con discos de diferentes tamaños, más adelante (con el tiempo, los discos de mayor tamaño estarán disponibles en el mercado). Existe otra ventaja en la forma de recuperación ante desastres (si un subconjunto RAID N falla, los datos de los otros subconjuntos RAID N no se pierden, lo que reduce el tiempo de restauración). [ cita requerida ]
Niveles no estándar
Son posibles muchas configuraciones distintas a los niveles RAID numerados básicos, 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 pequeño grupo especializado. Entre estas configuraciones se incluyen las siguientes:
El MD RAID 10 de Linux proporciona un controlador RAID general que, en su diseño "cercano", tiene como valor predeterminado un RAID 1 estándar con dos unidades y un RAID 1+0 estándar con cuatro unidades; sin embargo, puede incluir cualquier cantidad de unidades, incluidas las impares. Con su diseño "lejano", el MD RAID 10 puede ejecutarse tanto en banda como en espejo, incluso con solo dos unidades en f2el diseño; esto ejecuta la duplicación con lecturas en banda, lo que proporciona el rendimiento de lectura de RAID 0. El RAID 1 normal, tal como lo proporciona el RAID de software de Linux , no realiza lecturas en banda, pero puede realizar lecturas en paralelo. [29] [30] [31]
Hadoop tiene un sistema RAID que genera un archivo de paridad mediante la operación xor de una franja de bloques en un único archivo HDFS. [32]
BeeGFS , el sistema de archivos paralelo, tiene opciones de distribución interna (comparable a RAID0 basado en archivos) y replicación (comparable a RAID10 basado en archivos) para agregar el rendimiento y la capacidad de múltiples servidores y generalmente se basa en un RAID subyacente para hacer que las fallas de disco sean transparentes.
El RAID desagrupado distribuye copias duales (o más) de los datos en todos los discos (posiblemente cientos) de un subsistema de almacenamiento, mientras que reserva suficiente capacidad de reserva para permitir que fallen algunos discos. La distribución se basa en algoritmos que dan la apariencia de arbitrariedad. Cuando fallan uno o más discos, las copias faltantes se reconstruyen en esa capacidad de reserva, nuevamente de manera arbitraria. Debido a que la reconstrucción se realiza desde y hacia todos los discos restantes, funciona mucho más rápido que con el RAID tradicional, lo que reduce el impacto general en los clientes del sistema de almacenamiento.
Implementaciones
La distribución de datos entre varias unidades puede gestionarse mediante hardware informático 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 unidad estándar (el denominado "RAID de software asistido por hardware"), o puede residir completamente dentro del controlador RAID de hardware.
Basado en hardware
Los controladores RAID de hardware se pueden configurar a través del BIOS de la tarjeta o la ROM opcional antes de que se inicie un sistema operativo y, una vez que se inicia el sistema operativo, el fabricante de cada controlador dispone de utilidades de configuración patentadas . A diferencia de los controladores de interfaz de red para Ethernet , que normalmente se pueden configurar y reparar completamente a través de los paradigmas de sistema operativo comunes como ifconfig en Unix , sin necesidad de herramientas de terceros, cada fabricante de cada controlador RAID suele proporcionar sus propias herramientas de software patentadas para cada sistema operativo que considere compatible, lo que garantiza un bloqueo del proveedor y contribuye a los problemas de fiabilidad. [33]
Por ejemplo, en FreeBSD , para acceder a la configuración de los controladores RAID de Adaptec , los usuarios deben habilitar la capa de compatibilidad de Linux y utilizar las herramientas de Linux de Adaptec, [34] comprometiendo potencialmente la estabilidad, confiabilidad y seguridad de su configuración, especialmente cuando se toma una visión a largo plazo. [33]
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 para facilitar la identificación de la unidad a través del parpadeo de LED, la gestión de alarmas y las designaciones de discos de repuesto en caliente 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 proporciona el estado del volumen y permite el control de LED/alarma/repuesto en caliente, así como los sensores (incluido el sensor de unidad ) para el monitoreo de la salud; [35] este enfoque ha sido adoptado y ampliado posteriormente por NetBSD también en 2007. [36]
Basado en software
Muchos sistemas operativos modernos ofrecen implementaciones de RAID por software . El RAID por software se puede implementar como:
Una capa que abstrae múltiples dispositivos, proporcionando así un único dispositivo virtual (como md del kernel de Linux y softraid de OpenBSD)
Un administrador de volúmenes lógicos más genérico (incluido con la mayoría de los sistemas operativos de clase servidor, como Veritas o LVM )
Una capa que se ubica por encima de cualquier sistema de archivos y brinda protección de paridad a los datos del usuario (como RAID-F) [37]
Algunos sistemas de archivos avanzados están diseñados para organizar datos en múltiples dispositivos de almacenamiento directamente, sin necesidad de la ayuda de un administrador de volúmenes lógicos de terceros:
ZFS admite los equivalentes de RAID 0, RAID 1, RAID 5 (RAID-Z1) de paridad simple, RAID 6 (RAID-Z2) de paridad doble y una versión de triple paridad (RAID-Z3) también conocida como RAID 7. [38] Como siempre se distribuye sobre los vdevs de nivel superior, admite equivalentes de los niveles RAID anidados 1+0, 5+0 y 6+0 (así como conjuntos de triple paridad distribuidos) pero no otras combinaciones anidadas. ZFS es el sistema de archivos nativo en Solaris e illumos , y también está disponible en FreeBSD y Linux. Las implementaciones de ZFS de código abierto se desarrollan activamente bajo el proyecto paraguas OpenZFS . [39] [40] [41] [42] [43]
Spectrum Scale , desarrollado inicialmente por IBM para la transmisión de medios y el análisis escalable, admite esquemas de protección RAID desagrupados hasta n+3. Una particularidad es la prioridad de reconstrucción dinámica que se ejecuta con bajo impacto en segundo plano hasta que un fragmento de datos alcanza la redundancia n+0, en cuyo caso este fragmento se reconstruye rápidamente al menos hasta n+1. Además, Spectrum Scale admite RAID 1 de distancia metropolitana. [44]
Btrfs admite RAID 0, RAID 1 y RAID 10 (RAID 5 y 6 están en desarrollo). [45] [46]
XFS fue diseñado originalmente para proporcionar un administrador de volúmenes integrado que admita la concatenación, duplicación y segmentación de múltiples dispositivos de almacenamiento físico. [47] Sin embargo, la implementación de XFS en el kernel de Linux carece del administrador de volúmenes integrado. [48]
Muchos sistemas operativos proporcionan implementaciones RAID, incluidos los siguientes:
El sistema operativo OpenVMS de Hewlett-Packard admite RAID 1. Los discos reflejados, llamados "conjunto de sombras", pueden estar en diferentes ubicaciones para ayudar en la recuperación ante desastres. [49]
macOS y macOS Server de Apple admiten RAID 0, RAID 1 y RAID 1+0. [50] [51]
FreeBSD admite RAID 0, RAID 1, RAID 3 y RAID 5, y todas las anidaciones a través de módulos GEOM y ccd. [52] [53] [54]
El sistema operativo md de Linux admite RAID 0, RAID 1, RAID 4, RAID 5, RAID 6 y todas las anidaciones. [55] También se admiten ciertas operaciones de remodelación/redimensionamiento/expansión. [56]
Microsoft Windows admite RAID 0, RAID 1 y RAID 5 mediante varias implementaciones de software. El Administrador de discos lógicos , introducido con Windows 2000 , permite la creación de volúmenes RAID 0, RAID 1 y RAID 5 mediante el uso de discos dinámicos , pero esto estaba limitado solo a las ediciones profesionales y de servidor de Windows hasta el lanzamiento de Windows 8. [ 57] [58] Windows XP se puede modificar para desbloquear la compatibilidad con RAID 0, 1 y 5. [59] Windows 8 y Windows Server 2012 introdujeron una característica similar a RAID conocida como Espacios de almacenamiento , que también permite a los usuarios especificar duplicación, paridad o ninguna redundancia carpeta por carpeta. Estas opciones son similares a RAID 1 y RAID 5, pero se implementan en un nivel de abstracción más alto. [60]
NetBSD admite RAID 0, 1, 4 y 5 a través de su implementación de software, denominada RAIDframe. [61]
OpenBSD admite RAID 0, 1 y 5 a través de su implementación de software, denominada softraid. [62]
Si falla una unidad de arranque, el sistema debe ser lo suficientemente sofisticado como para poder arrancar desde la unidad o unidades restantes. Por ejemplo, considere una computadora cuyo disco está configurado como RAID 1 (unidades duplicadas); si falla la primera unidad de la matriz, entonces un cargador de arranque de primera etapa podría no ser lo suficientemente sofisticado como 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. [63]
Basado en firmware y controlador
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 caros y propietarios. Para llenar este vacío, se introdujeron "controladores RAID" económicos que no contienen un chip controlador RAID dedicado, sino simplemente un chip controlador de unidad estándar, o la función RAID incorporada en el chipset, con firmware y controladores propietarios. Durante el arranque inicial, el RAID es implementado por el firmware y, una vez que el sistema operativo se ha cargado más completamente, los controladores toman el control. En consecuencia, dichos controladores pueden no funcionar cuando no hay soporte de controladores disponible para el sistema operativo host. [64] Un ejemplo es Intel Rapid Storage Technology , implementado en muchas placas base de nivel de consumidor. [65] [66]
Debido a que se requiere un soporte mínimo de hardware, esta implementación también se denomina "RAID de software asistido por hardware", [67] [68] [69] RAID de "modelo híbrido" [69] o incluso "RAID falso". [70] 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 utiliza 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. [69]
Integridad
La depuración de datos (conocida en algunos entornos como lectura de patrullaje ) 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. [71] La depuración de datos comprueba si hay 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 otras partes de la unidad. [72]
Con frecuencia, un controlador RAID se configura para "descartar" una unidad de componentes (es decir, asumir que una unidad de componentes ha fallado) si la unidad no ha respondido durante ocho segundos aproximadamente; esto puede hacer que el controlador de matriz descarte una unidad en buen estado porque a esa unidad no se le ha dado suficiente tiempo 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 las llamadas unidades de "clase empresarial" limitan este tiempo de recuperación de errores para reducir el riesgo. [ cita requerida ] 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 habilitaba TLER (recuperación de errores limitada en el tiempo) , 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 hace que dichas unidades no sean adecuadas para su uso en configuraciones RAID. [73] 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. Por lo tanto, para un uso que no sea RAID, una unidad de clase empresarial con un tiempo de recuperación de errores corto que no se pueda modificar es menos adecuada que una unidad de escritorio. [73] A fines de 2010, el programa Smartmontools comenzó a admitir la configuración de ATA Error Recovery Control, lo que le permitió a la herramienta configurar muchas unidades de disco duro de clase de escritorio para su uso en configuraciones RAID. [73]
Si bien el RAID puede proteger contra fallas físicas de la unidad, los datos siguen estando expuestos a la destrucción por parte de operadores, software, hardware y virus. Muchos estudios citan la falla del operador como una fuente común de mal funcionamiento, [74] [75] como cuando un operador de servidor reemplaza la unidad incorrecta en un RAID defectuoso y desactiva el sistema (incluso temporalmente) en el proceso. [76]
Un conjunto de datos puede verse sobrecargado por una falla catastrófica que exceda su capacidad de recuperación y todo el conjunto corre el riesgo de sufrir daños físicos por incendio, desastre natural y fuerzas humanas, sin embargo, las copias de seguridad se pueden almacenar fuera del sitio. Un conjunto de datos también es vulnerable a fallas del controlador porque no siempre es posible migrarlo a un nuevo controlador diferente sin pérdida de datos. [77]
Debilidades
Fallas correlacionadas
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 las unidades se deben a problemas mecánicos (que son más probables en unidades más antiguas), esto viola los supuestos de una tasa de fallas idéntica e independiente entre unidades; de hecho, las fallas están correlacionadas estadísticamente. [11] En la práctica, las probabilidades de una segunda falla antes de que se haya recuperado la primera (lo que causa pérdida de datos) son mayores que las probabilidades 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 manera continua e independiente a una tasa promedio constante. La probabilidad de dos fallas en el mismo período de 10 horas fue el doble de grande que la predicha por una distribución exponencial. [78]
Errores de lectura irrecuperables durante la reconstrucción
Los errores de lectura irrecuperables (URE) se presentan como fallas 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 sea menor a un bit en 10 15 [ disputado – discutir ] para unidades de clase empresarial ( SCSI , FC , SAS o SATA), y menor a un bit en 10 14 [ disputado – discutir ] para unidades de clase de escritorio (IDE/ATA/PATA o SATA). El aumento de las capacidades de las unidades y las grandes instancias RAID 5 han llevado a que las tasas de error máximas sean insuficientes para garantizar una recuperación exitosa, debido a la alta probabilidad de que dicho error ocurra en una o más unidades restantes durante la reconstrucción de un conjunto RAID. [11] [ fuente obsoleta ] [79] 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. [80]
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, estos 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. [81] Los esquemas que duplican (duplican) datos de una manera de unidad a unidad, como RAID 1 y RAID 10, tienen un riesgo menor de URE que aquellos que usan el cálculo de paridad o la duplicación entre conjuntos seccionados. [24] [82] La depuración de datos, como un proceso en segundo plano, se puede utilizar para detectar y recuperarse de URE, reduciendo efectivamente el riesgo de que sucedan durante las reconstrucciones RAID y causen fallas de doble unidad. La recuperación de URE implica la reasignación de los sectores subyacentes del disco afectados, utilizando el grupo de reasignación de sectores de la unidad; en caso de URE detectados durante la depuración en segundo plano, la redundancia de datos proporcionada por un conjunto RAID completamente operativo permite reconstruir los datos faltantes y reescribirlos en un sector reasignado. [83] [84]
Aumento del tiempo de reconstrucción y probabilidad de fallo
La capacidad de las unidades ha crecido a un ritmo mucho más rápido que la velocidad de transferencia, y las tasas de error sólo han disminuido un poco en comparación. Por lo tanto, las unidades de mayor capacidad pueden tardar horas o 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 toda la matriz sigue en funcionamiento a capacidad reducida. [85] Dado un arreglo con sólo una unidad redundante (que se aplica a los niveles RAID 3, 4 y 5, y al RAID 1 "clásico" de dos unidades), un segundo fallo de unidad causaría un fallo completo de la matriz. Aunque el tiempo medio entre fallos (MTBF) de las unidades individuales 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 un fallo de una sola unidad, así como la posibilidad de un segundo fallo durante una reconstrucción, han aumentado con el tiempo. [22]
Algunos comentaristas han declarado que RAID 6 es sólo una "curita" en este sentido, porque sólo retrasa un poco el problema. [22] Sin embargo, según el estudio de NetApp de 2006 de Berriman et al., la probabilidad de fallo disminuye en un factor de aproximadamente 3.800 (en relación con RAID 5) para una implementación adecuada de RAID 6, incluso cuando se utilizan unidades de disco de consumo. [86] [ cita no encontrada ] Sin embargo, si las tendencias tecnológicas observadas actualmente permanecen sin cambios, en 2019 una matriz RAID 6 tendrá la misma probabilidad de fallo que su contraparte RAID 5 en 2010. [86] [ ¿ fuente poco fiable? ]
Los esquemas de duplicación como RAID 10 tienen un tiempo de recuperación limitado, ya que requieren la copia de una sola unidad defectuosa, 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 triple paridad, o triple duplicación, como un enfoque para mejorar la resiliencia ante una falla de unidad adicional durante este largo tiempo de reconstrucción. [86] [ ¿ Fuente poco confiable? ]
Atomicidad
Una falla del sistema u otra interrupción de una operación de escritura puede generar estados en los que la paridad sea inconsistente con los datos debido a la falta de atomicidad del proceso de escritura, de modo que la paridad no se pueda usar para la recuperación en caso de una falla del disco. Esto se denomina comúnmente agujero de escritura , que es un problema conocido de corrupción de datos en RAID más antiguos y de gama baja, causado por la interrupción de la desorganización de las escrituras en el disco. [87] El agujero de escritura se puede abordar de varias maneras:
Los sistemas RAID de hardware utilizan una memoria caché no volátil incorporada para este propósito. [88]
mdadm puede utilizar un dispositivo de registro dedicado (para evitar una pérdida de rendimiento, normalmente se prefieren SSD y NVM ) para este propósito. [89] [90]
Registro de intención de escritura . mdadm utiliza un "mapa de bits de intención de escritura". Si encuentra alguna ubicación marcada como escrita de forma incompleta al inicio, la vuelve a sincronizar. Cierra el agujero de escritura pero no protege contra la pérdida de datos en tránsito, a diferencia de un WAL completo. [88] [91]
Paridad parcial. mdadm puede guardar una "paridad parcial" que, cuando se combina con fragmentos modificados, recupera la paridad original. Esto cierra el agujero de escritura, pero nuevamente no protege contra la pérdida de datos en tránsito. [92]
Tamaño de franja dinámico. RAID-Z garantiza que cada bloque sea su propia franja, por lo que cada bloque está completo. La semántica transaccional de copia en escritura ( COW ) protege los metadatos asociados con las franjas. [93] La desventaja es la fragmentación de E/S. [94]
Evitar sobrescribir las franjas utilizadas. bcachefs , que utiliza un recolector de basura de copia, elige esta opción. COW vuelve a proteger las referencias a los datos en franjas. [94]
El agujero de escritura es un modo de falla poco comprendido y rara vez mencionado para los sistemas de almacenamiento redundantes que no utilizan funciones transaccionales. El investigador de bases de datos Jim Gray escribió "Update in Place is a Poison Apple" (Actualizar en el lugar es una manzana envenenada) durante los primeros días de la comercialización de bases de datos relacionales. [95]
Fiabilidad de la caché de escritura
Existen preocupaciones sobre la confiabilidad de la memoria caché de escritura, específicamente en relación con los dispositivos equipados con una memoria caché de escritura diferida , que es un sistema de almacenamiento en caché que informa los datos como escritos tan pronto como se escriben en la memoria caché, a diferencia de cuando se escriben en el medio no volátil. Si el sistema experimenta una pérdida de energía u otra falla importante, los datos pueden perderse irrevocablemente de la memoria caché antes de llegar al almacenamiento no volátil. Por esta razón, las buenas implementaciones de memoria caché de escritura diferida incluyen mecanismos, como energía de batería redundante, para preservar los contenidos de la memoria caché a través de fallas del sistema (incluidas fallas de energía) y para vaciar la memoria caché en el momento de reiniciar el sistema. [96]
^ abc Patterson, David ; Gibson, Garth A. ; Katz, Randy (1988). Un caso para matrices redundantes de discos económicos (RAID) (PDF) . Conferencias SIGMOD . Consultado el 3 de enero de 2024 .
^ ab "Originalmente conocido como Matriz redundante de discos económicos, el término RAID fue publicado por primera vez a fines de la década de 1980 por Patterson, Gibson y Katz de la Universidad de California en Berkeley. (Desde entonces, el Consejo asesor de RAID sustituyó el término Económico por Independiente.)" Fundamentos de redes de área de almacenamiento; Meeta Gupta; Cisco Press; ISBN 978-1-58705-065-7 ; Apéndice A.
^ ab Katz, Randy H. (octubre de 2010). "RAID: un recuerdo personal de cómo el almacenamiento se convirtió en un sistema" (PDF) . eecs.umich.edu . IEEE Computer Society . Consultado el 18 de enero de 2015 . No fuimos los primeros en pensar en la idea de reemplazar lo que Patterson describió como un disco grande, costoso y lento (SLED) con una matriz de discos económicos. Por ejemplo, el concepto de duplicación de discos, iniciado por Tandem, era bien conocido, y algunos productos de almacenamiento ya se habían construido en torno a matrices de discos pequeños.
^ Hayes, Frank (17 de noviembre de 2003). "The Story So Far". Computerworld . Consultado el 18 de noviembre de 2016. Patterson recordó los inicios de su proyecto RAID en 1987. [...] 1988: David A. Patterson lidera un equipo que define estándares RAID para mejorar el rendimiento, la confiabilidad y la escalabilidad.
^ Patente estadounidense 4092732, Norman Ken Ouchi, "Sistema para recuperar datos almacenados en una unidad de memoria defectuosa", publicada el 30 de mayo de 1978
^ "Manual técnico de hardware HSC50/70" (PDF) . DIC . Julio de 1986. págs. 29, 32. Archivado desde el original (PDF) el 2016-03-04 . Consultado el 2014-01-03 .
^ Patente estadounidense 4761785, Brian E. Clark, et al., "Parity Spreading to Enhance Storage Access", publicada el 2 de agosto de 1988
^ Patente estadounidense 4899342, David Potter et al., "Método y aparato para operar una matriz de memorias de unidades múltiples", expedida el 6 de febrero de 1990. Véase también The Connection Machine (1988)
^ "IBM 7030 Data Processing System: Reference Manual" (PDF) . bitsavers.trailing-edge.com . IBM . 1960. p. 157 . Consultado el 17 de enero de 2015 . Dado que se maneja una gran cantidad de bits en paralelo, resulta práctico utilizar bits de verificación y corrección de errores (ECC), y cada byte de 39 bits se compone de 32 bits de datos y siete bits ECC. Los bits ECC acompañan a todos los datos transferidos hacia o desde los discos de alta velocidad y, al leerlos, se utilizan para corregir un solo error de bit en un byte y detectar errores dobles y la mayoría de los errores múltiples en un byte.
^ "IBM Stretch (también conocido como IBM 7030 Data Processing System)". brouhaha.com . 2009-06-18 . Consultado el 2015-01-17 . Un sistema de procesamiento de datos IBM 7030 típico podría haber estado compuesto por las siguientes unidades: [...] Unidad de almacenamiento en disco IBM 353: similar al archivo en disco IBM 1301, pero mucho más rápida. 2.097.152 (2^21) palabras de 72 bits (64 bits de datos y 8 bits ECC), 125.000 palabras por segundo
^ abcdefghi Chen, Peter; Lee, Edward; Gibson, Garth; Katz, Randy; Patterson, David (1994). "RAID: almacenamiento secundario confiable y de alto rendimiento". Encuestas de computación de ACM . 26 (2): 145–185. CiteSeerX 10.1.1.41.3889 . doi :10.1145/176979.176981. S2CID 207178693.
^ Donald, L. (2003). MCSA/MCSE 2006 JumpStart Computer and Network Basics (2.ª ed.). Glasgow: SYBEX.
^ Howe, Denis (ed.). Matrices redundantes de discos independientes de FOLDOC. Departamento de Informática del Imperial College . Consultado el 10 de noviembre de 2011 .{{cite book}}: |work=ignorado ( ayuda )
^ Dawkins, Bill y Jones, Arnold. "Especificación de formato de datos de disco RAID común" Archivado el 24 de agosto de 2009 en Wayback Machine [Storage Networking Industry Association] Colorado Springs, 28 de julio de 2006. Recuperado el 22 de febrero de 2011.
^ "Soluciones RAID híbridas de Adaptec" (PDF) . Adaptec.com . Adaptec. 2012 . Consultado el 7 de septiembre de 2013 .
^ "Estándar de formato de unidad de disco RAID común (DDF)". SNIA.org . SNIA . Consultado el 26 de agosto de 2012 .
^ "Diccionario SNIA". SNIA.org . SNIA . Consultado el 24 de agosto de 2010 .
^ Tanenbaum, Andrew S. Organización informática estructurada 6.ª ed . pág. 95.
^ Hennessy, John; Patterson, David (2006). Arquitectura informática: un enfoque cuantitativo, 4.ª ed ., pág. 362. ISBN978-0123704900.
^ "Manual de FreeBSD, Capítulo 20.5 GEOM: Marco de transformación de discos modulares" . Consultado el 20 de diciembre de 2012 .
^ White, Jay; Lueth, Chris (mayo de 2010). "RAID-DP: Implementación de RAID de doble paridad por parte de NetApp para protección de datos. Informe técnico TR-3298 de NetApp" . Consultado el 2 de marzo de 2013 .
^ abc Newman, Henry (17 de septiembre de 2009). "Los días de RAID pueden estar contados". EnterpriseStorageForum . Consultado el 7 de septiembre de 2010 .
^ "Por qué RAID 6 deja de funcionar en 2019". ZDNet . 22 de febrero de 2010. Archivado desde el original el 15 de agosto de 2010.
^ ab Lowe, Scott (16 de noviembre de 2009). "Cómo protegerse de errores de lectura irrecuperables (URE) relacionados con RAID. Techrepublic" . Consultado el 1 de diciembre de 2012 .
^ Vijayan, S.; Selvamani, S.; Vijayan, S (1995). "Matriz de discos de trama cruzada dual: una arquitectura RAID híbrida altamente confiable". Actas de la Conferencia internacional de 1995 sobre procesamiento paralelo: volumen 1. CRC Press . págs. I–146 y siguientes . ISBN978-0-8493-2615-8– a través de Google Books .
^ "¿Por qué RAID 1+0 es mejor que RAID 0+1?". aput.net . Consultado el 23 de mayo de 2016 .
^ "RAID 10 vs RAID 01 (RAID 1+0 vs RAID 0+1) Explicación con diagrama" www.thegeekstuff.com . Consultado el 23 de mayo de 2016 .
^ "Comparación de RAID 10 y RAID 01 | SMB IT Journal". www.smbitjournal.com . 30 de julio de 2014 . Consultado el 23 de mayo de 2016 .
^ de Jeffrey B. Layton: "Introducción a RAID anidado: RAID-01 y RAID-10" [usurpado] , Linux Magazine, 6 de enero de 2011
^ "Rendimiento, herramientas y preguntas generales absurdas". tldp.org . Consultado el 25 de diciembre de 2013 .
^ "Página principal – Linux-raid". osdl.org. 20 de agosto de 2010. Archivado desde el original el 5 de julio de 2008. Consultado el 24 de agosto de 2010 .
^ "Hdfs Raid". Hadoopblog.blogspot.com. 28 de agosto de 2009. Consultado el 24 de agosto de 2010 .
^ ab "3.8: "Hackers of the Lost RAID"". Canciones de lanzamiento de OpenBSD . OpenBSD . 2005-11-01 . Consultado el 2019-03-23 .
^ Long, Scott; Adaptec, Inc (2000). "aac(4) — Controlador Adaptec AdvancedRAID". Referencia cruzada BSD . FreeBSD ., "aac -- Controlador Adaptec AdvancedRAID". Páginas del manual de FreeBSD. FreeBSD.
^ Raadt, Theo de (9 de septiembre de 2005). "Soporte para administración RAID en OpenBSD 3.8". misc@ (Lista de correo). OpenBSD .
^ Murenin, Constantine A. (21 de mayo de 2010). "1.1. Motivación; 4. Controladores de sensores; 7.1. NetBSD envsys / sysmon". Sensores de hardware OpenBSD: monitoreo ambiental y control de ventiladores ( tesis de maestría ). Universidad de Waterloo : UWSpace. hdl : 10012/5234. Identificador del documento: ab71498b6b1a60ff817b29d56997a418.
^ "RAID sobre sistema de archivos". Archivado desde el original el 9 de noviembre de 2013. Consultado el 22 de julio de 2014 .
^ "Rendimiento, capacidad e integridad de ZFS Raidz". calomel.org . Consultado el 26 de junio de 2017 .
^ "ZFS -illumos". illumos.org. 15 de septiembre de 2014. Archivado desde el original el 15 de marzo de 2019. Consultado el 23 de mayo de 2016 .
^ "Creación y destrucción de grupos de almacenamiento ZFS – Guía de administración de Oracle Solaris ZFS". Oracle Corporation . 2012-04-01 . Consultado el 2014-07-27 .
^ "20.2. El sistema de archivos Z (ZFS)". freebsd.org . Archivado desde el original el 2014-07-03 . Consultado el 2014-07-27 .
^ "RAID-Z de doble paridad (raidz2) (Guía de administración de Solaris ZFS)". Oracle Corporation . Consultado el 27 de julio de 2014 .
^ "Triple Parity RAIDZ (raidz3) (Guía de administración de Solaris ZFS)". Oracle Corporation . Consultado el 27 de julio de 2014 .
^ Deenadhayalan, Veera (2011). "General Parallel File System (GPFS) Native RAID" (PDF) . UseNix.org . IBM . Consultado el 28 de septiembre de 2014 .
^ "Btrfs Wiki: Lista de funciones". 2012-11-07 . Consultado el 2012-11-16 .
^ "Btrfs Wiki: Registro de cambios". 2012-10-01 . Consultado el 2012-11-14 .
^ Trautman, Philip; Mostek, Jim. "Escalabilidad y rendimiento en sistemas de archivos modernos". linux-xfs.sgi.com . Archivado desde el original el 22 de abril de 2015. Consultado el 17 de agosto de 2015 .
^ "Configuración RAID de Linux – XFS". kernel.org . 2013-10-05 . Consultado el 2015-08-17 .
^ Hewlett Packard Enterprise. "Documento de soporte de HPE - Centro de soporte de HPE". support.hpe.com .
^ "Mac OS X: Cómo combinar conjuntos RAID en la Utilidad de Discos" . Consultado el 4 de enero de 2010 .
^ "Sistemas de archivos de servidor de Apple Mac OS X" . Consultado el 23 de abril de 2008 .
^ "Página del Manual del Administrador del Sistema FreeBSD para GEOM(8)" . Consultado el 19 de marzo de 2009 .
^ "Lista de correo freebsd-geom – nueva clase / geom_raid5". 6 de julio de 2006. Consultado el 19 de marzo de 2009 .
^ "Manual de interfaces del núcleo de FreeBSD para CCD(4)" . Consultado el 19 de marzo de 2009 .
^ "El tutorial de RAID por software" . Consultado el 10 de noviembre de 2008 .
^ "mdadm(8) – Página del manual de Linux". Linux.Die.net . Consultado el 20 de noviembre de 2014 .
^ "Compatibilidad de Windows Vista con unidades de disco duro de gran tamaño". Microsoft . 2007-05-29. Archivado desde el original el 2007-07-03 . Consultado el 2007-10-08 .
^ "No se puede seleccionar ni formatear una partición del disco duro cuando se intenta instalar Windows Vista, Windows 7 o Windows Server 2008 R2". Microsoft . 14 de septiembre de 2011. Archivado desde el original el 3 de marzo de 2011 . Consultado el 17 de diciembre de 2009 .
^ "Uso de Windows XP para que RAID 5 funcione". Tom's Hardware . 19 de noviembre de 2004 . Consultado el 24 de agosto de 2010 .
^ Sinofsky, Steven (5 de enero de 2012). "Virtualización del almacenamiento para lograr escalabilidad, resiliencia y eficiencia". Blog sobre la creación de Windows 8. Archivado desde el original el 9 de mayo de 2013. Consultado el 6 de enero de 2012 .
^ Metzger, Perry (12 de mayo de 1999). "Anuncio de lanzamiento de NetBSD 1.4". NetBSD.org . The NetBSD Foundation . Consultado el 30 de enero de 2013 .
^ "Página del manual de OpenBSD Softraid". OpenBSD.org . Consultado el 3 de febrero de 2018 .
^ "Manual de FreeBSD". Capítulo 19 GEOM: Marco de transformación de discos modulares . Consultado el 19 de marzo de 2009 .
^ "Preguntas frecuentes sobre RAID SATA". Ata.wiki.kernel.org. 8 de abril de 2011. Consultado el 26 de agosto de 2012 .
^ "Red Hat Enterprise Linux – Guía del administrador de almacenamiento – Tipos de RAID". redhat.com .
^ Russel, Charlie; Crawford, Sharon; Edney, Andrew (2011). Cómo trabajar con Windows Small Business Server 2011 Essentials. O'Reilly Media, Inc., pág. 90. ISBN978-0-7356-5670-3– a través de Google Books .
^ Block, Warren. "19.5. Dispositivos RAID de software". freebsd.org . Consultado el 27 de julio de 2014 .
^ abc "RAID de hardware frente a RAID de software: ¿Qué implementación es mejor para mi aplicación? Documento técnico de Adaptec" (PDF) . adaptec.com .
^ Ulf Troppens, Wolfgang Mueller-Friedt, Rainer Erkens, Rainer Wolafka, Nils Haustein. Explicación de las redes de almacenamiento: conceptos básicos y aplicaciones de SAN, NAS, ISCSI, InfiniBand y FCoE de canal de fibra. John Wiley and Sons, 2009. p.39
^ Dell Computers, Background Patrol Read for Dell PowerEdge RAID Controllers, por Drew Habas y John Sieber, reimpreso de Dell Power Solutions, febrero de 2006 http://www.dell.com/downloads/global/power/ps1q06-20050212-Habas.pdf
^ abc «Control de recuperación de errores con Smartmontools». 2009. Archivado desde el original el 28 de septiembre de 2011. Consultado el 29 de septiembre de 2017 .
^ Gray, Jim (octubre de 1990). "Un censo de la disponibilidad del sistema Tandem entre 1985 y 1990" (PDF) . IEEE Transactions on Reliability . 39 (4). IEEE: 409–418. doi :10.1109/24.58719. S2CID 2955525. Archivado desde el original (PDF) el 20 de febrero de 2019.
^ Murphy, Brendan; Gent, Ted (1995). "Medición de la fiabilidad de sistemas y software mediante un proceso automatizado de recopilación de datos". Quality and Reliability Engineering International . 11 (5): 341–353. doi :10.1002/qre.4680110505.
^ Patterson, D., Hennessy, J. (2009), 574.
^ "La aventura de la migración RAID". 10 de julio de 2007. Consultado el 10 de marzo de 2010 .
^ Fallas de disco en el mundo real: ¿Qué significa para usted un MTTF de 1.000.000 de horas? Bianca Schroeder y Garth A. Gibson
^ Harris, Robin (27 de febrero de 2010). "¿Dejará de funcionar RAID 6 en 2019?". StorageMojo.com . TechnoQWAN . Consultado el 17 de diciembre de 2013 .
^ JL Hafner, V. Dheenadhayalan, K. Rao y JA Tomlin. "Métodos matriciales para la reconstrucción de datos perdidos en códigos de borrado". Conferencia USENIX sobre tecnologías de archivos y almacenamiento, 13 al 16 de diciembre de 2005.
^ Miller, Scott Alan (5 de enero de 2016). "Comprensión del rendimiento RAID en varios niveles". Recovery Zone . StorageCraft . Consultado el 22 de julio de 2016 .
^ Kagel, Art S. (2 de marzo de 2011). «RAID 5 versus RAID 10 (o incluso RAID 3 o RAID 4)». miracleas.com . Archivado desde el original el 3 de noviembre de 2014. Consultado el 30 de octubre de 2014 .
^ Baker, M.; Shah, M.; Rosenthal, DSH; Roussopoulos, M.; Maniatis, P.; Giuli, T.; Bungale, P (abril de 2006). "Una nueva mirada a la fiabilidad del almacenamiento digital a largo plazo". Actas de la 1.ª Conferencia europea sobre sistemas informáticos ACM SIGOPS/EuroSys 2006. págs. 221–234. doi :10.1145/1217935.1217957. ISBN1595933220.S2CID 7655425 .
^ Bairavasundaram, LN; Goodson, GR; Pasupathy, S.; Schindler, J. (12-16 de junio de 2007). "An analysis of latent sector errors in disk drives" (PDF) . Actas de la conferencia internacional ACM SIGMETRICS de 2007 sobre medición y modelado de sistemas informáticos . págs. 289-300. doi :10.1145/1254882.1254917. ISBN9781595936394.S2CID14164251 .
^ Patterson, D., Hennessy, J. (2009). Organización y diseño de computadoras . Nueva York: Morgan Kaufmann Publishers. pp 604–605.
^ abc Leventhal, Adam (1 de diciembre de 2009). "Triple-Parity RAID and Beyond. ACM Queue, Association for Computing Machinery" (RAID de triple paridad y más allá. Cola ACM, Association for Computing Machinery) . Consultado el 30 de noviembre de 2012 .
^ ""Write Hole" en RAID5, RAID6, RAID1 y otras matrices". Equipo ZAR . Consultado el 15 de febrero de 2012 .
^ de Danti, Gionatan. "Agujero de escritura: ¿qué niveles RAID se ven afectados?". Error del servidor .
^ "ANUNCIO: mdadm 3.4 - Una herramienta para administrar md Soft RAID en Linux [LWN.net]". lwn.net .
^ "Una revista para MD/RAID5 [LWN.net]". lwn.net .
^md(4) – Manual del programador de Linux – Archivos especiales
^ "Registro de paridad parcial". Documentación del kernel de Linux .
^ Bonwick, Jeff (17 de noviembre de 2005). "RAID-Z". Blog de Jeff Bonwick . Oracle Blogs. Archivado desde el original el 16 de diciembre de 2014. Consultado el 1 de febrero de 2015 .
^ ab Overstreet, Kent (18 de diciembre de 2021). "bcachefs: Principios de funcionamiento" (PDF) . Consultado el 10 de mayo de 2023 .
^ Jim Gray: El concepto de transacción: virtudes y limitaciones Archivado el 11 de junio de 2008 en Wayback Machine. (Artículo invitado) VLDB 1981: 144–154
^ "Definición de caché de escritura diferida en el diccionario SNIA". www.snia.org .
Enlaces externos
Wikimedia Commons tiene medios relacionados con Matriz redundante de discos independientes.
"Medidas empíricas de las tasas de errores y fallos de los discos", por Jim Gray y Catharine van Ingen, diciembre de 2005