Sistema de archivos distribuido de Qumulo

Tienda de bloques escalables (SBS)

La tienda de bloques escalables de Qumulo (SBS)

El sistema de archivos Qumulo se basa en un sistema de gestión de datos potente y de última generación llamado Qumulo Scalable Block Store (SBS). SBS utiliza los principios de bases de datos distribuidas masivamente escalables y está optimizado para las necesidades especializadas de datos basados ​​en archivos.

La tienda de bloques escalables es la capa de bloques del sistema de archivos Qumulo, lo que hace que el sistema de archivos sea más sencillo de implementar y extremadamente robusto. SBS también da el sistema de archivos. escalabilidad masiva, rendimiento optimizado, y protección de datos.

Aquí hay un resumen de lo que está dentro de SBS: 

SBS proporciona una capa virtual transaccional de bloques de almacenamiento protegidos. En lugar de un sistema donde cada archivo debe descubrir su protección, la protección de datos existe debajo del sistema de archivos, a nivel de bloque.

La protección basada en bloques de Qumulo, implementada por SBS, proporciona un rendimiento excepcional en entornos que tienen petabytes de datos y cargas de trabajo con tamaños de archivo mixtos. SBS tiene muchos beneficios, incluyendo:

  • Tiempos de reconstrucción rápidos en caso de una unidad de disco fallida
  • La capacidad de continuar operaciones normales de archivos durante las operaciones de reconstrucción
  • Sin degradación del rendimiento debido a la discordancia entre las grabaciones normales de archivos y las escrituras de reconstrucción
  • Igual eficiencia de almacenamiento para archivos pequeños y archivos grandes
  • Informes precisos del espacio utilizable
  • Transacciones eficientes que permiten a los clústeres Qumulo escalar a muchos cientos de nodos
  • Niveles incorporados de datos fríos / calientes que proporcionan un rendimiento de flash a precios de archivo.

Para comprender cómo SBS logra estos beneficios, debemos observar cómo funciona.

Bloques virtuales protegidos

La capacidad de almacenamiento completa de un clúster Qumulo se organiza conceptualmente en un único espacio de direcciones virtuales protegido, que se muestra a continuación:

Cada dirección protegida dentro de ese espacio almacena un bloque de bytes 4K. Por "protegido" queremos decir que todos los bloques son recuperables incluso si fallan varios discos. Todo el sistema de archivos se almacena dentro del espacio de direcciones virtuales protegido proporcionado por SBS, incluida la estructura del directorio, los datos del usuario, los metadatos de los archivos, los análisis y la información de configuración.

En otras palabras, el almacén protegido actúa como una interfaz entre el sistema de archivos y los datos basados ​​en bloques grabados en dispositivos de bloques conectados. Estos dispositivos pueden ser discos virtuales formados mediante la combinación de SSD y HDD, o recursos de almacenamiento en bloque en la nube.

Tenga en cuenta que los bloques en el espacio de direcciones protegido se distribuyen en todos los nodos (o instancias) del clúster de Qumulo. Sin embargo, el sistema de archivos Qumulo solo ve una matriz lineal de bloques totalmente protegidos.

Transacciones

En el almacenamiento de bloques escalable, las lecturas y escrituras en el espacio de direcciones virtual protegido son transaccionales.

Esto significa que, por ejemplo, cuando una operación del sistema de archivos requiere una operación de escritura que involucre más de un bloque, la operación escribirá todos los bloques relevantes, o ninguno de ellos.

Las operaciones atómicas de lectura y escritura son esenciales para la consistencia de los datos y la correcta implementación de los protocolos de archivos como SMB y NFS. Para obtener un rendimiento óptimo, SBS utiliza técnicas que maximizan el paralelismo y la computación distribuida a la vez que mantienen la coherencia transaccional de las operaciones de E / S. Por ejemplo, SBS está diseñado para evitar cuellos de botella en serie, donde las operaciones se realizarían en una secuencia en lugar de en paralelo. El sistema de transacciones de SBS utiliza los principios del algoritmo ARIES para transacciones no bloqueadas, incluido el registro de escritura anticipada, el historial de repeticiones durante las acciones de deshacer y el registro de acciones de deshacer.

Sin embargo, la implementación de transacciones de SBS tiene varias diferencias importantes con respecto a ARIES. SBS aprovecha el hecho de que las transacciones iniciadas por el sistema de archivos Qumulo son predeciblemente cortas, en contraste con las bases de datos de propósito general donde las transacciones pueden ser de larga duración. Un patrón de uso con transacciones de corta duración permite a SBS recortar con frecuencia el registro de transacciones para mejorar la eficiencia. Las transacciones de corta duración permiten un pedido de compromiso más rápido.

Además, las transacciones de SBS están altamente distribuidas, y no requieren una ordenación total definida globalmente de números de secuencia de estilo ARIES para cada entrada del registro de transacciones. En cambio, los registros de transacciones son localmente secuenciales en cada uno de los almacenes b y se coordinan a nivel global utilizando un esquema de orden parcial que toma en cuenta las restricciones de orden de compromiso.

Qumulo DB utiliza un protocolo de bloqueo de dos fases (2PL) para implementar la serialización para un pedido de compromiso consistente. Las operaciones serializables se realizan por unidades de procesamiento distribuido (bstores) y tienen la propiedad de que la secuencia deseada de las operaciones se puede reconstruir después del hecho.

La ventaja del enfoque de SBS es que la cantidad mínima absoluta de bloqueo se utiliza para las operaciones de E / S transaccionales, y esto permite que los clústeres de Qumulo se amplíen a muchos cientos de nodos.

¿Quieres aprender más?

Danos 10 minutos de tu tiempo y te mostraremos cómo reconsiderar los datos de almacenamiento.