La codificación de borrado (EC) es uno de los métodos más conocidos para la protección de datos, debido en parte a su eficiencia, ya que una mayor parte del disco está disponible para los datos en comparación con las estrategias RAID y mirroring.
¿Qué es la codificación de borrado y cómo se compara con los esquemas de protección de datos RAID y mirroring? ¿Cuáles son las ventajas y desventajas de la codificación de borrado en comparación con otros métodos de protección de datos, como RAID striping y mirroring? Esta entrada de blog responderá a estas preguntas, y explicará cómo Qumulo aprovecha la codificación de borrado en sus instancias de almacenamiento locales para maximizar el rendimiento y la eficiencia al tiempo que protege contra fallos de hardware.
¿Qué es la codificación de borrado?
La codificación de borrado es un método de protección de datos de almacenamiento que aprovecha las matemáticas avanzadas para permitir que un sistema de almacenamiento regenere los bloques de datos perdidos comparando los bloques de datos supervivientes con los bloques de paridad que los acompañan. n.
Codificación de borrado frente a RAID: pros y contras
Para ayudar a explicar por qué la codificación de borrado es superior a otros métodos de protección de datos, es útil comprender las distintas formas de protección de datos que existen, así como sus ventajas e inconvenientes.
Matriz redundante de discos de bajo coste (RAID)
RAID existe desde hace mucho tiempo. La configuración de protección de datos más básica es RAID1, también llamada Mirroring. Como su nombre indica, la duplicación consiste en escribir todos los datos simultáneamente en dos (o más) unidades, haciendo dos copias idénticas.
Si uno de los discos de una configuración RAID1 en espejo falla, los datos perdidos pueden recuperarse de la "imagen en espejo", ya que cada copia reside en su propio disco independiente. La duplicación es fácil de implementar, pero tiene algunas desventajas. Dado que la duplicación requiere al menos una copia redundante de todo el conjunto de datos, es un derroche en términos de espacio necesario para la protección de datos. Además, la duplicación sólo puede hacer frente a un único fallo de disco a la vez, lo que generalmente no es suficiente protección para la mayoría de los escenarios de fallo, especialmente a medida que aumenta el tamaño de los clústeres.
Además de la opción de duplicación de RAID1, el estándar RAID ofrece otras configuraciones para optimizar el rendimiento, la protección o ambos. Las opciones incluyen RAID5, en el que un grupo de discos duros (normalmente entre 5 y 10) se unen en una única matriz, con un disco del conjunto utilizado para los datos de paridad. Otro enfoque, llamado RAID6, utiliza el mismo planteamiento básico, pero dedica dos discos separados del conjunto a almacenar datos de paridad. Otra configuración, RAID10, replica todo el conjunto de discos en un conjunto idéntico de discos.
Cada una de estas opciones tiene sus propias desventajas. Tanto RAID 5 como RAID 6 proporcionan un excelente rendimiento de lectura, pero el rendimiento de escritura es más lento porque cada operación de escritura requiere el cálculo de uno o dos bloques de paridad. Además, estas configuraciones RAID más avanzadas pueden llegar a ser extremadamente complejas y difíciles de gestionar y mantener. Y, en caso de fallo de un componente, los tiempos de reconstrucción con RAID pueden ser inaceptablemente lentos, lo que afecta significativamente al rendimiento para los usuarios.
Codificación de borrado
La pila de almacenamiento local de Qumulo incluye Qumulo Almacén de bloques escalable (SBS) que es la capa básica que permite una protección eficaz de los datos basada en bloques utilizando la codificación de borrado en lugar de RAID.
A diferencia de RAID striping o mirroring, la codificación de borrado proporciona una protección escalable para el almacenamiento masivo de datos. La codificación de borrado ofrece mejor rendimiento, más flexibilidad y mayor eficiencia, lo que permite un crecimiento ilimitado a la vez que mantiene la protección total de los datos y la capacidad de respuesta en un clúster Qumulo local.
El algoritmo de codificación de borrado de Qumulo se basa en Reed-Solomon principios de corrección de errores, maximizando el rendimiento y la eficiencia mediante las mejores prácticas establecidas. Además, Qumulo Protección de datos adaptable significa que el marco de codificación de borrado de su clúster Qumulo puede ajustarse para una mayor eficiencia a medida que su clúster crece.
Explicación de la codificación de borrado (ejemplos)
La codificación de borrado es más fácil de entender con ejemplos. He aquí un ejemplo de nuestro algoritmo de codificación 3,2:
En una codificación 3,2, se reparten tres bloques (m = 3) en tres dispositivos físicos distintos. Los bloques 1 y 2 contienen los datos de usuario que queremos proteger (n = 2), y el tercer bloque contiene datos de paridad. El contenido del bloque de paridad se calcula mediante el algoritmo de codificación de borrado.
Dado que cada bloque se escribe en una unidad independiente, cualquiera de las tres unidades podría fallar y la información almacenada en los bloques 1 y 2 seguiría a salvo, ya que se puede volver a crear a partir del bloque de paridad.
Cómo funciona la codificación de borrado
Así es como funciona. Si el bloque de datos 1 está disponible, el sistema simplemente lo lee. Lo mismo ocurre con el bloque de datos 2. Sin embargo, si falta el bloque de datos 1, el sistema de codificación de borrado lee el bloque de datos 2, más el bloque de paridad, y reconstruye el valor del bloque de datos 1.
De forma similar, si el bloque de datos 2 reside en el disco que ha fallado, el sistema lee el bloque de datos 1 y el bloque de paridad. SBS siempre se asegura de que los bloques estén en diferentes cabezales para que el sistema pueda leer de los bloques simultáneamente.
Una codificación 3,2 tiene una eficiencia de 2 / 3 (n/m), o del 67%. Aunque es mejor que la eficiencia del 50% de la duplicación, la codificación 3,2 sólo puede proteger contra el fallo de un único disco.
La codificación de borrado ofrece una protección de datos configurable
La codificación de borrado puede configurarse para optimizar el rendimiento, para optimizar el tiempo de recuperación en caso de fallo de un soporte o para aumentar la capacidad de recuperación hasta cuatro discos o cuatro nodos averiados a la vez. Por lo general, el aumento de la protección se produce a costa de la capacidad utilizable.
Como mínimo, Qumulo utiliza la codificación 6,4, que almacena un tercio más de datos de usuario en la misma cantidad de espacio que el mirroring, y tiene la capacidad de tolerar dos fallos de disco en lugar de sólo uno como hace el mirroring o 3,2. En una configuración 6,4, incluso si dos bloques que contienen datos de usuario no están disponibles, el sistema sólo necesita leer los dos bloques de datos restantes y los dos bloques de paridad para recuperar los datos que faltan.
¿Qué significa todo esto?
Al trabajar a nivel de bloque en lugar de a nivel de archivo como otras plataformas de archivos, la codificación de borrado de uso único de Qumulo no sólo hace posible proteger los datos de forma eficaz sin tener que crear una copia 1:1 de todo el volumen de datos, sino que también significa que el tamaño de los archivos no tiene ningún impacto en los tiempos de codificación y recuperación. Ya se trate de archivos gigantescos o pequeños, la codificación y la recuperación no sólo son rápidas, sino también fiables.
Otros sistemas pueden tardar de horas a días, o más, en recuperarse de un evento dependiendo de la mezcla de tamaños de archivos almacenados en el clúster. Qumulo se recupera de forma rápida y fiable sin afectar al rendimiento, independientemente de la combinación de datos de archivos almacenados. Esto también permite a los clientes de Qumulo la capacidad de aprovechar las unidades más grandes y económicas del mercado sin riesgo.
Protección de datos en las instancias nativas en la nube de Qumulo
El Almacén de Bloques Escalable sólo gestiona la codificación de borrado en clústeres Qumulo físicos (locales). Las instancias de Qumulo nativas de la nube, como Azure Native Qumulo (ANQ), se basan en los propios servicios de datos persistentes del proveedor de la nube, por ejemplo Azure Blob Storage.
Nota del editor: publicada originalmente el 3 de noviembre de 2021, esta entrada de blog ha sido actualizada para mayor precisión y exhaustividad.