RAID nunca se diseñó para proteger datos en unidades (discos duros o SSD) de decenas de terabytes, porque se inventó antes de que los discos duros de 1 GB estuvieran disponibles. La idea básica era distribuir los datos en discos duros más pequeños para que un solo fallo no provocara necesariamente la pérdida de datos. La protección de datos se ha vuelto más compleja con las unidades de alta densidad actuales. Hoy en día, las bahías de almacenamiento vienen con discos duros de hasta 28 TB (HDD) y tarjetas flash de 72 TB (de Pure Storage, por ejemplo). Además, el coste de esta capacidad de almacenamiento se ha vuelto increíblemente asequible: un SSD NVMe de 4 TB cuesta alrededor de 200 euros sin IVA y un disco duro SATA de 14 TB cuesta alrededor de 220 euros sin IVA.

Esta relación coste/capacidad que ofrecen estas unidades de alta densidad permite almacenar enormes cantidades de datos a un precio mucho más atractivo que antes. Entonces, ¿cuál es el problema de mantener una gran cantidad de datos (varios petabytes y más) en estas unidades de alta densidad? Con los treinta TB actuales (discos duros y SSD), RAID presenta una importante vulnerabilidad a la pérdida de datos, porque el proceso de reconstrucción es largo, un día o más en algunas implementaciones. Se extiende aún más si la tarea se establece en una prioridad baja para preservar el rendimiento normal de E/S.

Índice
  1. La carrera por el RAID de handicaps
  2. Introduzca el código de borrado
  3. Cortar archivos
  4. Un uso interesante en la nube

La carrera por el RAID de handicaps

Es más, no es descabellado esperar que estos tiempos de reconstrucción se extiendan durante varias semanas a medida que aumenta la densidad de la unidad: 64 TB anunciados en Phison para SSD y 50 TB para discos duros en Seagate, también en 2025. A medida que aumenta el número de estos discos, la reconstrucción de RAID es permanente, según las tasas de falla anuales (AFR). para discos duros de alrededor del 1,45% según cifras reportadas por Backblaze. es menor para SSD (solo 0,98%) nuevamente según Backblaze.

La idea de añadir un segundo nivel de protección a RAID-5 en forma de lo que comúnmente se llama RAID-6 surgió para proteger los datos contra dos fallos simultáneos de los discos en lugar de un único fallo del disco duro o SSD. Una respuesta para impulsar densidades que alcanzan decenas de tuberculosis. El fallo de una segunda unidad (en un grupo RAID-5) o de una tercera (en un grupo RAID-6) se vuelve más probable al multiplicar las unidades de almacenamiento, especialmente durante reconstrucciones prolongadas. Además, si el sistema encuentra un error de lectura irrecuperable (URE) durante el proceso, puede perder datos. Perder seis o más unidades, cada una de las cuales contiene varios terabytes de datos, resultaría catastrófica para algunas empresas.

Introduzca el código de borrado

Por el contrario, la codificación de borrado divide los datos en múltiples paquetes codificados con bits adicionales de información, enviados a un receptor, luego decodificados y reensamblados al recibirlos como los datos originales. La clave es que el receptor puede volver a ensamblar los datos incluso si algunos paquetes se pierden durante la transmisión (es decir, el receptor tiene un subconjunto de los paquetes originales).

La idea de utilizar codificación de borrado para medios de almacenamiento surgió con la llegada de los CD, DVD y Blu-ray, fuentes multimedia que deberían ser legibles incluso con rayones o daños en la superficie de grabación. Los algoritmos más comunes para la codificación de borrado en estas aplicaciones se basan en el código de corrección Reed-Solomon (RS)desarrollado en los Laboratorios Lincoln del MIT en la década de 1960. El uso de algoritmos de codificación de borrado proporciona una protección superior contra la pérdida de dos unidades tolerada con RAID-6. Algunas implementaciones dan como resultado múltiples niveles de protección de datos contra fallas y algunas incluso permiten al usuario (o administrador de almacenamiento) especificar el nivel deseado de protección como política. Por ejemplo, el administrador optará por una estrategia de supervivencia de datos después de 4 fallos de 16 unidades, o 6 de 16 unidades, o incluso 10 de 30 unidades. Incluso se le puede pedir que resista la indisponibilidad de sitios enteros (“sobrevivir a una falla de uno de cada tres centros de datos”). Esto elimina un problema clave del RAID tradicional: la tolerancia a más de dos fallos.

Cortar archivos

La durabilidad del almacenamiento se puede lograr mediante una combinación de codificación de borrado y distribución de datos codificados. Los datos entrantes (por ejemplo, archivos, vídeos o imágenes) primero se dividen en una serie de bloques. El mecanismo de codificación de borrado les aplica su transformación y genera un conjunto más grande de bloques de paridad. Luego los distribuye en varias unidades del sistema de almacenamiento, de modo que la pérdida de uno o más bloques de control debido a fallas de la unidad o de los componentes aún permita que los bloques de datos se recuperen y decodifiquen con éxito. origen, y así reconstruir los datos.

Varios sistemas de almacenamiento (Hadoop, Raid-6 bajo Linux, Microsoft Azure, almacenamiento en frío de Facebook y Backblaze Vaults) se comercializan hoy con técnicas tradicionales de codificación de borrado y algunas variantes más recientes como el código Tornado. del proyecto Mojette Transform del laboratorio IVC del IRCCyN de Nantes realizado en el pasado por Rozo Systems o incluso el de Memoscale, que Per Simonsen comenzó a desarrollar mientras estudiaba en NTNU (Universidad Noruega de Ciencia y Tecnología).. Cada uno tiene ventajas en la protección de datos contra fallas de múltiples componentes, errores de lectura irrecuperables y descomposición de bits. Y muchos lo ofrecen en sistemas que reparan datos automáticamente si fallan los componentes. Algunos ofrecen niveles extremadamente altos de durabilidad de almacenamiento, en el nivel de “10 nueves”.

Un uso interesante en la nube

Un mecanismo común en los entornos de almacenamiento en la nube actuales es mantener múltiples copias de archivos (obsérvese la prevalencia de ofertas de servicios de almacenamiento de "tres copias en la nube"). La nube ofrece altos niveles de durabilidad del almacenamiento, pero triplica todos los recursos subyacentes y los costos operativos (discos, energía, espacio de refrigeración e inversiones). Si bien esto no es un problema con 300 terabytes, puede convertirse en un factor limitante cuando 100 petabytes de capacidad utilizable requieren 300 petabytes de capacidad bruta para garantizar la sostenibilidad. De hecho, esta sobrecarga es mayor que la de un conjunto RAID-6 reflejado (200% de sobrecarga de almacenamiento para tres copias versus 150% de sobrecarga para RAID-6 reflejado).

Utilizando técnicas de codificación de borrado, se pueden lograr altos niveles de durabilidad del almacenamiento con una sobrecarga de almacenamiento relativamente baja. En una implementación, una política para proteger los datos contra cuatro fallas en 16 unidades requiere una sobrecarga del 60 %. En otras palabras, cada petabyte de capacidad utilizable requeriría 1,6 petabytes de capacidad bruta. Esto puede proporcionar importantes ahorros de costos operativos en comparación con enfoques alternativos. Por lo tanto, los sistemas de almacenamiento que utilizan códigos de borrado tienen la oportunidad de aprovechar las unidades de alta densidad para almacenar datos de manera más rentable y con una confiabilidad y durabilidad de almacenamiento óptimas.