Azure Native Qumulo ahora disponible en la UE, el Reino Unido y Canadá: Más información

Descripción técnica técnica del archivo Qumulo Hybrid Cloud

Resumen: Qumulo File Fabric (QF2) es un sistema de almacenamiento de archivos moderno y altamente escalable que abarca el centro de datos y la nube pública. Se escala a miles de millones de archivos y cuesta menos y tiene un TCO más bajo que los dispositivos de almacenamiento heredados. También es el sistema de almacenamiento de archivos de mayor rendimiento en las instalaciones y en la nube. Su análisis integrado en tiempo real permite a los administradores administrar fácilmente los datos sin importar cuán grande sea la huella o dónde se encuentre globalmente. Cuando las personas ven QF2 en acción por primera vez, a menudo preguntan: "¿Cómo puede hacer eso?" Este artículo responde a esa pregunta. Revisaremos los detalles y explicaremos algunas de las técnicas avanzadas que le dan a QF2 sus habilidades únicas.

Almacenamiento moderno y altamente escalable

Qumulo File Fabric (QF2) es un sistema de almacenamiento de archivos moderno y altamente escalable que abarca el centro de datos y la nube pública. Se escala a miles de millones de archivos y cuesta menos y tiene un TCO más bajo que los dispositivos de almacenamiento heredados. También es el sistema de almacenamiento de archivos de mayor rendimiento en las instalaciones y en la nube. Su análisis integrado en tiempo real permite a los administradores administrar fácilmente los datos sin importar cuán grande sea la huella o dónde se encuentre globalmente.

QF2 mueve datos de archivos donde se necesitan cuando se necesitan, por ejemplo, entre clústeres locales y clústeres que se ejecutan en la nube. QF2 le permite almacenar y administrar conjuntos de datos masivos, en múltiples entornos, en cualquier parte del mundo. El software de QF2 se ejecuta en hardware estándar de la industria en las instalaciones o en instancias en la nube y recursos de almacenamiento en la nube. QF2 fue diseñado desde cero para cumplir con los requisitos actuales de escala y movilidad de datos. Es el primer sistema de almacenamiento de archivos a escala universal del mundo.

Qumulo es un nuevo tipo de empresa de almacenamiento, basada íntegramente en software avanzado. Qumulo es parte de una tendencia más amplia de la industria en la que el valor del software aumenta en comparación con el hardware. El hardware básico que ejecuta software avanzado y distribuido es la base indiscutible de la informática moderna escalable y de bajo costo. Esto es igualmente cierto para el almacenamiento de archivos a gran escala.

Cuando las personas ven QF2 en acción por primera vez, a menudo preguntan: "¿Cómo puede hacer eso?" Responder a esa pregunta es el motivo de este trabajo. Revisaremos los detalles y explicaremos algunas de las técnicas avanzadas que le dan a QF2 sus habilidades únicas.

Movilidad de datos, escalabilidad lineal y alcance global

Para la escalabilidad, QF2 tiene una arquitectura distribuida en la que muchos nodos informáticos individuales trabajan juntos para formar un clúster con un rendimiento escalable y un único sistema de archivos unificado. Los clústeres QF2, a su vez, trabajan juntos para formar una estructura de almacenamiento distribuida globalmente pero altamente conectada unida con relaciones de replicación continua.

Los clientes interactúan con los clústeres de QF2 mediante protocolos de archivo estándar de la industria, la API REST de QF2 y una interfaz gráfica de usuario (GUI) basada en web para administradores de almacenamiento.

Este diagrama muestra las conexiones entre clientes, clústeres QF2 compuestos por nodos que ejecutan Qumulo Core y múltiples clústeres QF2, que comprenden el tejido, que se ejecutan en múltiples entornos y ubicaciones geográficas.

QF2 es un sistema modular. A medida que aumentan las demandas en un clúster QF2, simplemente agrega nodos o instancias. La capacidad y el rendimiento escalan linealmente, y esto es cierto ya sea que el clúster QF2 opere en un centro de datos local o en la nube pública.

Qué está incluido en QF2

QF2 se compone de software y servicios. Está disponible con un precio simple y transparente basado en suscripción. Aquí hay un diagrama de lo que está incluido en una suscripción QF2. Qumulo Core es el software que se ejecuta en cada nodo de un clúster QF2. Incluye potentes análisis en tiempo real y cuotas de capacidad, así como replicación continua e instantáneas. Estas funciones se basan en el sistema de archivos QF2 altamente escalable que, a diferencia de otros sistemas, incluye agregación integrada en tiempo real de metadatos de archivos.

El sistema de archivos QF2 se basa en un potente sistema de gestión de datos 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. El Scalable Block Store es la capa de bloques del sistema de archivos QF2, lo que hace que ese sistema de archivos sea más simple de implementar y extremadamente robusto. SBS también brinda al sistema de archivos escalabilidad masiva, rendimiento optimizado y protección de datos.

QF2 proporciona monitoreo basado en la nube y análisis de tendencias como parte de la suscripción a QF2, junto con soporte integral al cliente. El monitoreo en la nube incluye la detección proactiva de eventos, como fallas de disco, para evitar problemas antes de que sucedan. El acceso a las tendencias históricas ayuda a reducir los costos y optimizar los flujos de trabajo para aprovechar al máximo su inversión en almacenamiento.

Su elección de entornos operativos.

El software Qumulo Core se ejecuta en la nube pública y en hardware estándar de la industria en su centro de datos. Qumulo Core actualmente se ejecuta en la propia serie QC de servidores de caja blanca de Qumulo y en los servidores Apollo de Hewlett-Packard Enterprise (HPE). Debido a que QF2 es independiente del hardware, no depende de ningún proveedor de hardware y, de hecho, puede esperar que Qumulo agregue soporte para servidores de varios OEM.

El enfoque de solo software de QF2 significa que no hay dependencias de componentes propietarios costosos como NVRAM, conmutadores InfiniBand y almacenamiento flash propietario. En cambio, QF2 se basa en unidades de disco duro (HDD) y unidades de estado sólido (SSD) con firmware estándar que está disponible a través de los fabricantes de unidades. La combinación de SSD y HDD estándar para la organización automática en niveles de datos calientes y fríos es una de las razones por las que QF2 ofrece rendimiento flash al precio del almacenamiento de archivos.

También puede crear clústeres QF2 en la nube pública (actualmente, AWS). Los nodos de los clústeres QF2 basados ​​en la nube ejecutan el mismo software Qumulo Core que los clústeres QF2 locales. A diferencia de otros sistemas de almacenamiento de archivos basados ​​en la nube, un clúster QF2 que se ejecuta en la nube pública no tiene límites estrictos de rendimiento y capacidad. Ambos se pueden aumentar agregando nodos (instancias de cómputo y almacenamiento en bloque). QF2 es la única solución para la nube que le permite escalar de forma flexible tanto la capacidad como el rendimiento.

Cuando se ejecuta en la nube, QF2 usa el almacenamiento en bloque en la nube de una manera similar a la combinación de SSD/HDD en las instalaciones. QF2 utiliza el almacenamiento en bloque de baja latencia como caché frente al almacenamiento económico en bloque de mayor latencia. En el resto del documento, hablaremos sobre SSD y HDD, pero los conceptos discutidos se aplican igualmente al usuario de QF2 de recursos de almacenamiento en bloque de latencia más baja y más alta en la nube pública.

En cada nodo de un clúster QF2, Qumulo Core se ejecuta en el espacio del usuario de Linux en lugar del espacio del kernel. El modo kernel es principalmente para controladores de dispositivos que funcionan con hardware específico. Al operar en el espacio del usuario, QF2 puede ejecutarse en una amplia variedad de configuraciones y entornos, y también ofrece funciones a un ritmo mucho más rápido.

Ejecutarse en el espacio del usuario también significa que QF2 puede tener sus propias implementaciones de protocolos cruciales como SMB, NFS, LDAP y Active Directory. Por ejemplo, la implementación de NFS de QF2 se ejecuta como un servicio del sistema y tiene sus propias nociones de usuarios y grupos separadas del sistema operativo subyacente en el que se ejecuta.

La ejecución en el espacio del usuario también mejora la confiabilidad de QF2. Como proceso de espacio de usuario independiente, QF2 está aislado de otros componentes del sistema que podrían provocar daños en la memoria, y los procesos de desarrollo de QF2 pueden utilizar herramientas avanzadas de verificación de memoria que permiten detectar errores de codificación relacionados con la memoria antes del lanzamiento del software. Mediante el uso de una estrategia de partición dual para actualizaciones de software, Qumulo puede actualizar automáticamente tanto el sistema operativo como el software Qumulo Core para actualizaciones rápidas y confiables. Puede reiniciar QF2 fácilmente sin tener que reiniciar el sistema operativo, el nodo o el clúster.

Archivos y directorios masivamente escalables

Cuando tiene una gran cantidad de archivos, la estructura del directorio y los atributos del archivo se convierten en grandes datos. Como resultado, los procesos secuenciales, como los paseos en árbol, que son fundamentales para el almacenamiento heredado, ya no son computacionalmente factibles. En cambio, consultar un sistema de archivos grande y administrarlo requiere un nuevo enfoque que utiliza algoritmos paralelos y distribuidos.

QF2 hace precisamente eso. Es único en la forma en que aborda el problema de la escalabilidad. Su diseño implementa principios similares a los utilizados por las bases de datos distribuidas modernas a gran escala. El resultado es un sistema de archivos con características de escala incomparables. Por el contrario, los dispositivos de almacenamiento heredados simplemente no fueron diseñados para manejar la escala masiva de la huella de datos actual.

El sistema de archivos QF2 se asienta sobre una capa de bloques virtualizados llamada SBS. En QF2, el trabajo que requiere mucho tiempo, como la protección, las reconstrucciones y la decisión de qué discos contienen qué datos, ocurre en la capa SBS, debajo del sistema de archivos. (Hablaremos más sobre bloques virtuales protegidos y transacciones más adelante en el documento).

La funcionalidad de bloque protegido virtualizado de SBS es una gran ventaja para el sistema de archivos QF2. En los sistemas de almacenamiento heredados que no tienen SBS, la protección se realiza archivo por archivo o mediante grupos RAID fijos, lo que presenta muchos problemas difíciles, como largos tiempos de reconstrucción, almacenamiento ineficiente de archivos pequeños y administración costosa de diseños de disco. Sin una capa de bloques virtualizados, los sistemas de almacenamiento heredados también deben implementar la protección de datos dentro de la propia capa de metadatos, y esta complejidad adicional limita la capacidad de estos sistemas para optimizar las transacciones distribuidas para sus metadatos y estructuras de datos de directorio.

Para la escalabilidad de archivos y directorios, el sistema de archivos QF2 hace un uso extensivo de estructuras de datos de índice conocidas como Árboles B. Los árboles B son particularmente adecuados para sistemas que leen y escriben grandes cantidades de bloques de datos porque son estructuras de datos "superficiales" que minimizan la cantidad de E/S requerida para cada operación a medida que aumenta la cantidad de datos. Con B-trees como base, el costo computacional de leer o insertar bloques de datos crece muy lentamente a medida que aumenta la cantidad de datos. Los árboles B son ideales para sistemas de archivos e índices de bases de datos muy grandes, por ejemplo.

En QF2, los árboles B están basados ​​en bloques. Cada bloque tiene 4096 bytes. Aquí hay un ejemplo que muestra la estructura de un árbol B.

Cada bloque de 4K puede tener punteros a otros bloques de 4K. Este árbol B particular tiene un factor de ramificación de 3, donde un factor de ramificación es el número de hijos (subnodos) en cada nodo del árbol.

Incluso si hay millones de bloques, la altura de un árbol B en SBS, desde la raíz hasta donde se encuentran los datos, puede ser solo de dos o tres niveles. Por ejemplo, en el diagrama, para buscar la etiqueta q con valor de índice 1, el sistema atraviesa solo dos niveles del árbol.

El sistema de archivos QF2 utiliza árboles B para muchos propósitos diferentes.

Hay un inode B-tree, que actúa como índice de todos los archivos. La lista de inodos es una técnica estándar de implementación del sistema de archivos que hace que la verificación de la consistencia del sistema de archivos sea independiente de la jerarquía de directorios. Los inodos también ayudan a que las operaciones de actualización, como los movimientos de directorio, sean eficientes.

Los archivos y directorios se representan como árboles B con sus propios pares clave/valor, como el nombre del archivo, su tamaño y su lista de control de acceso (ACL) o permisos POSIX.

Los datos de configuración también son un árbol B y contienen información como la dirección IP y el clúster.

De hecho, el sistema de archivos QF2 se puede considerar como un árbol de árboles. Aquí hay un ejemplo.

El árbol de nivel superior se llama super B-tree. Cuando se inicia el sistema, el procesamiento comienza allí. La raíz siempre se almacena en la primera dirección ("paddr 1.1") de la matriz de bloques virtuales protegidos. El árbol raíz hace referencia a otros árboles B. Si el sistema de archivos QF2 necesita acceder a los datos de configuración, por ejemplo, va al árbol B de configuración. Para encontrar un archivo en particular, el sistema consulta el árbol B de inodos utilizando el número de inodo como índice. El sistema recorre el árbol de inodos hasta que encuentra el puntero al árbol B del archivo. A partir de ahí, el sistema de archivos puede buscar cualquier cosa sobre el archivo. Los directorios se manejan como archivos.

Confiar en los árboles B que apuntan al almacenamiento de bloques protegido virtualizado en SBS es una de las razones por las que en QF2 es factible un sistema de archivos con un billón de archivos.

Visibilidad y control en tiempo real con QumuloDB

QF2 está diseñado para hacer más que almacenar datos de archivos. También le permite administrar sus datos y usuarios en tiempo real. Los administradores de dispositivos de almacenamiento heredados se ven obstaculizados por la "ceguera de datos". No pueden obtener una imagen precisa de lo que sucede en su sistema de archivos. QF2 está diseñado para brindar exactamente ese tipo de visibilidad, sin importar cuántos archivos y directorios haya. Puede, por ejemplo, obtener información inmediata sobre las tendencias de rendimiento y los puntos críticos. También puede establecer cuotas de capacidad en tiempo real, lo que evita la sobrecarga de aprovisionamiento de cuotas que consume mucho tiempo del almacenamiento heredado. Se puede acceder a la información a través de una interfaz gráfica de usuario y también hay una API REST que le permite acceder a la información mediante programación.

Las funciones de análisis integradas del sistema de archivos QF2 las proporciona un componente llamado QumuloDB.

Cuando a las personas se les presentan los análisis en tiempo real de QF2 y los ven actuar a escala, su primera pregunta suele ser: "¿Cómo puede ser tan rápido?" El rendimiento revolucionario del análisis en tiempo real de QF2 es posible por tres razones.

En primer lugar, en el sistema de archivos QF2, los análisis de QumuloDB están incorporados y totalmente integrados con el propio sistema de archivos. En los sistemas heredados, las consultas de metadatos son respondidas fuera del sistema de archivos central por un componente de software no relacionado.

En segundo lugar, debido a que el sistema de archivos QF2 se basa en árboles B, el análisis de QumuloDB puede usar un sistema innovador de agregados en tiempo real, que describimos en la siguiente sección.

Finalmente, el análisis de QumuloDB es posible porque el sistema de archivos QF2 tiene un diseño optimizado debido a su uso de índices B-tree y los bloques y transacciones protegidos virtualizados de Qumulo Scalable Block Store (SBS).

Agregación en tiempo real de metadatos.

En el sistema de archivos QF2, los metadatos, como los bytes utilizados y los recuentos de archivos, se agregan a medida que se crean o modifican archivos y directorios. Esto significa que la información está disponible para su procesamiento oportuno sin costosos paseos por el árbol del sistema de archivos.

QumuloDB mantiene resúmenes de metadatos actualizados. Utiliza los árboles B del sistema de archivos.
para recopilar información sobre el sistema de archivos a medida que se producen cambios. Varios campos de metadatos se resumen dentro del sistema de archivos para crear un índice virtual. Los análisis de rendimiento que ve en la GUI y que puede extraer con la API REST se basan en mecanismos de muestreo integrados en el sistema de archivos QF2. Las técnicas de muestreo estadísticamente válidas son posibles debido a la disponibilidad de resúmenes de metadatos actualizados que permiten que los algoritmos de muestreo den más peso a directorios y archivos más grandes.

La agregación de metadatos en QF2 utiliza un enfoque ascendente y descendente.

A medida que cada archivo (o directorio) se actualiza con nuevos metadatos agregados, su directorio principal se marca como "sucio" y se pone en cola otro evento de actualización para el directorio principal. De esta manera, la información del sistema de archivos se recopila y agrega mientras se pasa por el árbol. Los metadatos se propagan desde el inodo individual, en el nivel más bajo, hasta la raíz del sistema de archivos a medida que se accede a los datos en tiempo real. Se tiene en cuenta cada operación de archivo y directorio, y esta información finalmente se propaga hasta el núcleo mismo del sistema de archivos. Aquí hay un ejemplo.

El árbol de la izquierda está agregando información de archivos y directorios e incorporándola a los metadatos. A continuación, se pone en cola una actualización para el directorio principal. La información se mueve hacia arriba, desde las hojas hasta la raíz.

Paralelamente a la propagación ascendente de eventos de metadatos, un recorrido periódico comienza en la parte superior del sistema de archivos y lee la información agregada presente en los metadatos. Cuando el recorrido encuentra información agregada actualizada recientemente, elimina su búsqueda y pasa a la siguiente rama. Asume que la información agregada está actualizada en el árbol del sistema de archivos desde este punto hasta las hojas (incluidos todos los archivos y directorios contenidos) y no tiene que profundizar más para realizar análisis adicionales. La mayor parte del resumen de metadatos ya se calculó e, idealmente, el cruce solo necesita resumir un pequeño subconjunto de los metadatos para todo el sistema de archivos. En efecto, las dos partes del proceso de agregación se encuentran en el medio sin tener que explorar el árbol completo del sistema de archivos de arriba a abajo.

Muestreo y consultas de metadatos.

Un ejemplo de análisis en tiempo real de QF2 son sus informes de puntos críticos de rendimiento. Aquí hay un ejemplo de la GUI.

Representar cada operación de rendimiento e IOPS dentro de la GUI sería inviable en sistemas de archivos grandes. En su lugar, las consultas QumuloDB utilizan muestreo probabilístico para proporcionar una aproximación estadísticamente válida de esta información. Los totales de las operaciones de lectura y escritura de IOPS, así como las operaciones de lectura y escritura de rendimiento de E/S, se generan a partir de muestras recopiladas de un búfer en memoria de 4,096 entradas que se actualiza cada pocos segundos.

El informe que se muestra aquí muestra las operaciones que tienen el mayor impacto en el clúster. Estos se representan como puntos de acceso en la GUI.

La capacidad de QF2 de utilizar un muestreo probabilístico estadísticamente válido solo es posible gracias a los metadatos resumidos para cada directorio (bytes utilizados, recuentos de archivos) que QumuloDB mantiene continuamente actualizados. Es un beneficio único de las técnicas de software avanzadas de QF2 que no se encuentran en ningún otro sistema de almacenamiento de archivos.

Cuotas en tiempo real

Así como la agregación de metadatos en tiempo real permite el análisis en tiempo real de QF2, también permite cuotas de capacidad en tiempo real. Las cuotas permiten a los administradores especificar cuánta capacidad puede usar un directorio determinado para los archivos. Por ejemplo, si un administrador ve que un usuario no autorizado está causando que un subdirectorio crezca demasiado rápido, el administrador puede limitar instantáneamente la capacidad del directorio de ese usuario.

En QF2, las cuotas se implementan inmediatamente y no es necesario aprovisionarlas. Se aplican en tiempo real y los cambios en sus capacidades se implementan de inmediato. Un beneficio adicional es que las cuotas asignadas a los directorios se mueven con ellos y los propios directorios se pueden mover dentro y fuera de los dominios de cuota.

A diferencia de otros sistemas, las cuotas de Qumulo no requieren dividir el sistema de archivos en volúmenes. Además, con QF2, mover una cuota o mover directorios a través de dominios de cuota no implica largas caminatas por árboles, programación de trabajos o procesos engorrosos de varios pasos. Las cuotas en QF2 se pueden aplicar a cualquier directorio, incluso a los anidados. Si una asignación tiene más de una cuota debido a directorios anidados, se deben cumplir todas las cuotas para poder asignar el espacio solicitado.

Dado que los límites de cuota en QF2 se registran como metadatos a nivel de directorio, las cuotas se pueden especificar en cualquier nivel del árbol de directorios. Cuando se produce una operación de escritura, se deben cumplir todas las cuotas relevantes. Estos son límites estrictos. La precisión y agilidad de las cuotas en tiempo real de QF2 son posibles porque el agregador incorporado mantiene actualizado continuamente el resumen de la cantidad total de almacenamiento utilizado por directorio.

Snapshots

Las instantáneas permiten a los administradores de sistemas preservar el estado de un sistema de archivos o directorio en un momento determinado. Si un archivo o directorio se modifica o elimina sin querer, los usuarios o administradores pueden revertirlo a su estado guardado.

Las instantáneas en QF2 tienen una implementación extremadamente eficiente y escalable. Un solo clúster QF2 puede tener una cantidad prácticamente ilimitada de instantáneas simultáneas sin degradación del rendimiento o la capacidad.

Las instantáneas se implementan como escrituras de bloque fuera de lugar. Cuando se toma una instantánea y se modifican los bloques, se escriben en una nueva columna vertebral de bloques de árbol B. Los bloques existentes que no se modificaron se vinculan a la nueva columna vertebral y ahora se comparten. El nuevo lomo modificado se ha escrito "fuera de lugar", pero aún hace referencia a los datos existentes, compartiendo los bloques sin cambios. La instantánea no consume espacio hasta que se modifican o eliminan los datos.

Como ejemplo, suponga que agrega un archivo de 4 MB al sistema de archivos QF2 y luego toma una instantánea. Después de crear la instantánea, la cantidad de capacidad utilizada sigue siendo de solo 4 MB. Luego, modifica una región de 1 MB de su archivo. Los nuevos datos (1 MB) se escriben fuera de lugar y se asocian con la versión "en vivo" del archivo. 3 MB de los 4 MB originales de datos se comparten entre la versión en vivo y la versión capturada en la instantánea. El uso total de almacenamiento para este archivo ahora es de 5 MB.

Las instantáneas son una función de seguridad que ayuda a que el sistema de archivos sea resistente en caso de que los usuarios eliminen o modifiquen datos de archivos por error. Por ejemplo, si algunos de los datos se eliminan accidentalmente, los usuarios pueden recuperar archivos de una instantánea tomada anteriormente. Se pueden restaurar archivos individuales o directorios completos copiándolos nuevamente en el sistema de archivos en vivo.

Cuando el espacio se agota, los administradores a menudo deciden eliminar instantáneas para liberar espacio de almacenamiento. Debido a que las instantáneas comparten datos, eliminar una instantánea no suele recuperar una cantidad de espacio igual a la suma de todos los archivos que contiene. En los sistemas heredados, es difícil saber cuánto espacio se recuperaría, de hecho.

Las instantáneas en QF2 aprovechan la inteligencia integrada en el sistema de archivos. Los administradores pueden calcular cuánto almacenamiento se recuperaría realmente si eliminan un conjunto de instantáneas.

Replicación continua

QF2 proporciona replicación continua en clústeres de almacenamiento, ya sea en las instalaciones o en la nube pública. Una vez que se ha establecido y sincronizado una relación de replicación entre un clúster de origen y un clúster de destino, QF2 automáticamente mantiene la coherencia de los datos.

La replicación continua en QF2 aprovecha las capacidades de instantáneas avanzadas de QF2 para garantizar réplicas de datos consistentes. Con las instantáneas QF2, una réplica en el clúster de destino reproduce el estado del directorio de origen en momentos exactos. Las relaciones de replicación de QF2 se pueden establecer por directorio para lograr la máxima flexibilidad.

Qumulo aplica algoritmos inteligentes para administrar la replicación, para que usted no tenga que hacerlo. QF2 se replica con tanta frecuencia como sea posible sin afectar negativamente el rendimiento general del clúster. La replicación continua en QF2 es unidireccional asíncrona a partir de hoy; es decir, hay una fuente y un destino de solo lectura. Los cambios en el directorio de origen se propagan de forma asíncrona al destino.

La tienda de bloques escalables de Qumulo (SBS)

Ahora que hemos analizado las partes internas del sistema de archivos QF2, pasemos a las estrategias avanzadas de QF2 para la gestión distribuida de bloques que se encuentran en Qumulo Scalable Block Store. Aquí hay una descripción general de lo que hay 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 QF2, 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, que incluyen:

  • 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 que para archivos grandes
  • Informes precisos del espacio utilizable
  • Transacciones eficientes que permiten que los clústeres QF2 se escalen 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

Toda la capacidad de almacenamiento de un clúster QF2 se organiza conceptualmente en un único espacio de direcciones virtuales protegido, como se muestra aquí.

Cada dirección protegida dentro de ese espacio almacena un bloque de bytes de 4K. Por "protegido" queremos decir que todos los bloques son recuperables incluso si fallan varios discos. La protección se explicará con más detalle más adelante en este documento.

Todo el sistema de archivos se almacena en el espacio de direcciones virtuales protegido proporcionado por SBS, incluidos los datos del usuario, los metadatos del archivo, la estructura del directorio, el 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 registrados en los dispositivos de bloques adjuntos. 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 QF2. Sin embargo, el sistema de archivos QF2 solo ve una matriz lineal de bloques totalmente protegidos.

Protección de datos basada en la codificación de borrado.

La protección contra la pérdida de datos en caso de falla del disco siempre incluye algún tipo de redundancia o duplicación de información en los dispositivos de almacenamiento. La forma más simple de protección de datos es la duplicación. La duplicación significa que hay dos o más copias completas de los datos que se protegen. Cada copia reside en un disco diferente para que sea recuperable si uno de los discos falla.

La duplicación es simple de implementar pero tiene desventajas en comparación con las técnicas de protección más modernas. La duplicación es un desperdicio en términos del espacio requerido para proteger los datos, y solo maneja una sola falla de disco, lo que generalmente no es un nivel de seguridad lo suficientemente alto a medida que aumentan la densidad de nodos y el tamaño de los clústeres.

Otras estrategias para la protección de datos incluyen Bandas RAID. RAID viene con una administración extremadamente compleja y tiempos de reconstrucción lentos que obligan al administrador a elegir entre una reconstrucción inaceptablemente larga y una eficiencia de almacenamiento inaceptable.5

SBS implementa su protección de datos basada en bloques con una técnica eficiente conocida como codificación de borrado (CE). SBS utiliza códigos Reed-Solomon. EC es más rápido, más configurable y más eficiente en el uso del espacio que alternativas como la duplicación y la creación de bandas RAID.

EC codifica datos de bloque utilizando segmentos redundantes que se almacenan en un conjunto de diferentes medios físicos. Debido a la eficiencia de EC, hay más disco disponible para datos en comparación con los esquemas de duplicación y RAID, y esto reduce el costo por TB utilizable.

La codificación de borrado se puede configurar con compensaciones de rendimiento, tiempo de recuperación en el caso de fallas en los medios físicos y la cantidad de fallas simultáneas permitidas. En este documento, usaremos la notación (m, n) para indicar una configuración EC específica, donde m indica la cantidad total de bloques de medios físicos que se usarán para codificar de forma segura n bloques de usuario. La codificación tiene la propiedad de que se pueden destruir hasta m – n bloques sin pérdida de datos de usuario. En otras palabras, la supervivencia de cualquier colección de n discos es suficiente para recuperar todos los datos del usuario, incluso si algunos de los discos fallidos contenían datos del usuario. La eficiencia de la codificación se puede calcular como el número n/m, o la proporción de bloques de usuarios dividida por todos los bloques.

EC es más fácil de entender con ejemplos. Aquí hay un ejemplo simple llamado (3,2) codificación.

La codificación A (3,2) requiere tres bloques (m = 3), almacenados en tres dispositivos físicos distintos para codificar de forma segura dos bloques (n = 2). Dos de los bloques contienen los datos de usuario que queremos proteger y el tercero se llama bloque de paridad. El contenido del bloque de paridad se calcula mediante el algoritmo de codificación de borrado. Incluso este esquema simple es más eficiente que el reflejo: solo está escribiendo un bloque de paridad por cada dos bloques de datos. En una codificación (3, 2), si el disco que contiene cualquiera de los tres bloques falla, los datos del usuario en los bloques 1 y 2 son seguros.

Así es como funciona. Si el bloque de datos 1 está disponible, simplemente léalo. Lo mismo es cierto para el bloque de datos 2. Sin embargo, si el bloque de datos 1 está inactivo, el sistema EC lee el bloque de datos 2 y el bloque de paridad y reconstruye el valor del bloque de datos 1 usando la fórmula de Reed-Solomon (que en este ejemplo particular es solo bit a bit XOR). De manera similar, si el bloque de datos 2 reside en el disco fallido, los sistemas leen el bloque de datos 1 y el bloque de paridad. SBS se asegura de que los bloques estén en diferentes ejes para que el sistema pueda leer los bloques simultáneamente.

Una codificación (3,2) tiene una eficiencia de 2/3 (n/m), o 67%. Si bien es mejor que el 50 % de eficiencia de la duplicación en términos de almacenamiento de datos, la codificación (3,2) solo puede proteger contra una sola falla del disco.

Como mínimo, QF2 usa la codificación (6, 4), que almacena un tercio más de datos de usuario en la misma cantidad de espacio que la duplicación, pero puede tolerar dos fallas de disco en lugar de solo una como lo hace la duplicación. Incluso si dos bloques que contienen datos de usuario no están disponibles, el sistema solo necesita leer los dos bloques de datos restantes y los dos bloques de paridad para recuperar los datos que faltan.

Distribución de bloques virtuales protegidos a través de nodos.

Hay muchas consideraciones prácticas a tener en cuenta al implementar EC en sistemas con escalabilidad masiva. Para facilitar el proceso de escritura de los bloques de paridad requeridos (y para restaurar los datos cuando falla un disco), SBS divide su espacio de direcciones virtuales de bloques 4K en segmentos lógicos llamados almacenes protegidos o pstores.

SBS administra cada pstore individualmente, lo que hace que el esquema de mapeo que asocia el espacio de direcciones protegido a los discos sea más flexible. Todas las pstores son del mismo tamaño. La protección de datos se implementa por completo en el nivel pstore del sistema.

Se puede pensar en un pstore como una tabla que asigna rangos de direcciones de bloques virtuales protegidos a regiones contiguas de almacenamiento que residen en discos virtuales de los nodos del clúster QF2. Las regiones contiguas se denominan bstores.

Cada nodo del clúster almacena el mapa de pstores a bstores. Para mayor confiabilidad, los nodos del clúster usan un algoritmo distribuido llamado Paxos para mantener el consenso sobre el conocimiento compartido globalmente, como el mapa pstore-to-bstore. El clúster forma un quórum de nodos para garantizar la seguridad de las estructuras de datos críticas del clúster.

Cada bstore usa un segmento de un disco virtual específico (es decir, el bstore está asociado con un par de SSD y HDD en particular). A cada bstore se le asigna un espacio contiguo en su disco duro asociado, mientras que el espacio en el SDD asociado de la bstore se asigna dinámicamente. Los metadatos sobre un bstore también existen en su SSD asociado. Los metadatos de Bstore incluyen información como las direcciones en uso y un mapa que indica qué direcciones de bloque en el almacenamiento SSD de referencia de bstore y cuáles están en HDD.

Durante una lectura o escritura, pstore decide a qué bstores se debe acceder.

Cuando un cliente del sistema de archivos inicia una operación de escritura, entra en SBS como un flujo de datos sin procesar. El sistema determina en qué bstores escribir los datos, calcula los datos de paridad y escribe los datos sin procesar y los datos de paridad en los SSD al mismo tiempo, incluso si los SSD están en muchos nodos diferentes. Una vez que se escriben los datos, el cliente recibe un reconocimiento de que se ha realizado la escritura.

Los bloques de datos que contienen datos de usuario y bloques de paridad se escriben en bstores. Un bstore en particular, durante su vida útil, contiene bloques de paridad o bloques de datos, pero no ambos. Debido a que EC se implementa en la capa pstore de SBS, las tiendas b que contienen bloques de paridad y las tiendas b que contienen bloques de datos se comportan de manera idéntica.

La cantidad de almacenamiento asignado a un bstore depende de la elección de EC. Para mantener constante el tamaño de pstore, el tamaño de bstore del sistema cambia según el esquema de codificación. Por ejemplo, si el pstore tiene 70 GB, entonces, con la codificación (6,4), cada bstore tiene aproximadamente 17.5 GB, lo que divide el pstore en 4 bstores. Para la codificación (10, 8), los bstores tendrán aproximadamente la mitad de ese tamaño.

En la nube, QF2 usa el mismo esquema de protección de datos que en las instalaciones, con una excepción. En las instalaciones, el esquema de protección de datos requiere que haya al menos cuatro nodos en un clúster. En la nube, es posible tener un clúster de un solo nodo porque QF2 puede usar la duplicación integrada que se encuentra en cada bloque de almacenamiento elástico. Los clústeres QF2 de un solo nodo en la nube usan (5, 4) codificación de borrado.

Tiempos de reconstrucción rápida

Los tiempos de reconstrucción de QF2 se miden en horas. Por el contrario, los sistemas de almacenamiento heredados, que se diseñaron para cargas de trabajo con muchos menos datos, tienen tiempos de reconstrucción que se miden en días. Grandes cantidades de archivos, cargas de trabajo mixtas y una mayor densidad de disco han contribuido a la crisis en los tiempos de reconstrucción de los dispositivos de almacenamiento heredados. La gran ventaja de QF2 en los tiempos de reconstrucción es un resultado directo de la protección avanzada basada en bloques de SBS.

La protección basada en bloques es ideal para las cargas de trabajo modernas de hoy en día, donde hay petabytes de datos y millones de archivos, muchos de los cuales son pequeños. El sistema de protección SBS no necesita realizar recorridos por árboles que consumen mucho tiempo ni operaciones de reconstrucción archivo por archivo. En su lugar, las operaciones de reconstrucción funcionan en las pstores. El resultado es que los tiempos de reconstrucción no se ven afectados por el tamaño del archivo. Los archivos pequeños se manejan de manera tan eficiente como los archivos grandes, y proteger millones de archivos es completamente factible.

Además, QF2 está diseñado para que los tiempos de reconstrucción no se vean afectados negativamente por el tamaño del clúster. De hecho, lo opuesto es verdad. En QF2, los clústeres más grandes tienen tiempos de reconstrucción más rápidos que los clústeres más pequeños. La razón de esto es que SBS distribuye el esfuerzo de cálculo de reconstrucción entre los nodos del clúster. Cuantos más nodos, menos trabajo debe hacer cada nodo durante una reconstrucción.

Los dispositivos de almacenamiento heredados con tiempos de reconstrucción lentos son vulnerables a fallas adicionales que pueden ocurrir durante el proceso prolongado de reconstrucción. En otras palabras, los tiempos de reconstrucción lentos tienen un impacto negativo en la confiabilidad. Por lo general, los administradores compensan esto con un aprovisionamiento excesivo (es decir, disminuyendo la eficiencia al agregar redundancia de datos). Con los rápidos tiempos de reconstrucción de QF2, los administradores pueden mantener sus objetivos de tiempo medio de pérdida de datos (MTTDL) sin una gran cantidad de redundancia, lo que ahorra dinero y tiempo.

Reconstruyendo los pstores

Cuando un disco falla, el almacén protegido todavía existe. Siempre se puede leer y escribir desde. Sin embargo, algunas pstores tendrán bstores perdidas o dañadas. Estos se denominan pstores degradados. Debido a EC, puede continuar leyendo los pstores degradados, pero los datos ya no están completamente protegidos. En otras palabras, en el primer error, aún conserva la integridad de los datos, pero está un disco más cerca de la pérdida de datos.

Para volver a proteger los datos, el sistema trabaja pstore por pstore (en lugar de archivo por archivo con grupos RAID, como en los sistemas heredados) para reconstruir los bstores que estaban ubicados en la unidad de disco fallida. SBS asigna una pequeña cantidad de espacio adicional en disco para que haya espacio para hacerlo. Esto se llama ahorro.

Dado que el mapa global de pstore a bstore contiene el ID del disco virtual asociado al bstore, esta información facilita saber qué pstores necesitan procesamiento cuando un disco en particular falla. Dado que el mapa que asocia pstores con bstores es lo suficientemente pequeño como para residir en la memoria de cada nodo, los nodos pueden traducir rápidamente direcciones de bloques virtuales de pstore a bstore.

Durante el proceso de reconstrucción, SBS lee y escribe bstores secuencialmente. Dado que los bstores se distribuyen de forma contigua en el disco, los pstores degradados se pueden reconstruir muy rápidamente. Las operaciones secuenciales son mucho más rápidas que muchas operaciones de E/S pequeñas, que pueden ser lentas y causar contención en el disco. El proceso de reconstrucción de SBS es eficiente: los discos están involucrados en exactamente un flujo de lectura o escritura a la vez durante el proceso de reconstrucción. No se requiere E/S aleatoria. Además, los bstores son lo suficientemente pequeños para que el trabajo de reprotección se distribuya de manera eficiente en todo el clúster.

Operaciones de archivo normales no afectadas por reconstrucciones

En los sistemas de archivos heredados, la contención de bloqueos afecta los tiempos de reconstrucción y ralentiza las operaciones estándar del sistema de archivos durante la reconstrucción. Esto se debe a que estas operaciones de archivo compiten con los subprocesos de reconstrucción/reprotección. QF2 utiliza capas de escritura con esquemas de bloqueo independientes para que las operaciones de reconstrucción no compitan con el uso normal del sistema de archivos.

Cuando hay una falla, no tiene sentido escribir en el conjunto incompleto de bstores en los pstores degradados. Las nuevas escrituras no estarían totalmente protegidas y complicarían el trabajo de reconstrucción de bstore. Sin embargo, el clúster no debe experimentar tiempo de inactividad durante la operación de reconstrucción y, como resultado, las operaciones de escritura iniciadas por el usuario no pueden esperar a que se vuelva a proteger un pstore.

Para realizar esas escrituras, el sistema agrega una nueva capa de bstores virtuales al pstore degradado. Esto se llama "empujar una capa". Las escrituras van a la nueva capa de bstores y las lecturas combinan los valores de cada capa. Aquí hay un ejemplo.

Las nuevas escrituras van a la capa superior de bstores. Una lectura combina los valores de la capa superior y la capa inferior mediante el uso de EC. Una vez que se reconstruye el bstore, la capa de empuje desaparece. Las capas se construyen utilizando componentes del sistema de transacciones de SBS de una manera que las hace no bloqueantes.

Los archivos pequeños son tan eficientes como los archivos grandes

Debido a que el sistema de archivos QF2 usa protección basada en bloques, los archivos pequeños son tan eficientes como los archivos grandes. Pueden compartir franjas con otros archivos y pueden compartir la protección. Cada archivo consta de los bloques de datos, al menos un bloque de inodo y cualquier otro bloque que se requiera. Los archivos muy pequeños se insertan en el bloque de inodos. El sistema utiliza bloques de 4K y todos los bloques están protegidos con la relación de protección del sistema.

La eficiencia de QF2 con archivos pequeños es una gran ventaja en comparación con los dispositivos de almacenamiento heredados, que utilizan una duplicación ineficiente para archivos pequeños y metadatos del sistema.

Toda la capacidad aprovisionada está disponible para archivos de usuario.

Los archivos de usuario de QF2 pueden ocupar el 100 % de la capacidad aprovisionada, mientras que el escalado horizontal heredado recomienda usar solo entre el 80 % y el 85 %. La protección basada en bloques de QF2 no requiere capacidad aprovisionada por el usuario para la reprotección, aparte de una pequeña cantidad de espacio de repuesto, que se excluye de la capacidad aprovisionada por el usuario. Por el contrario, los dispositivos de almacenamiento heredados implementan la protección con grupos RAID fijos o con codificación de borrado archivo por archivo, lo que significa que la reprotección también ocurre a nivel de archivo y requiere capacidad provista por el usuario para recuperarse.

Además, el sistema de archivos QF2 informa con precisión la capacidad disponible para los archivos de los usuarios. Una vez más, esta previsibilidad es consecuencia de la protección basada en bloques. En los sistemas heredados, el uso del almacenamiento depende del tamaño del archivo, por lo que estos sistemas solo pueden informar sobre el espacio sin procesar; los administradores deben adivinar cuánto espacio tienen realmente.

Al comparar QF2 con los sistemas heredados, querrá tener en cuenta cuánta capacidad aprovisionada por el usuario está realmente disponible para usar en cada tipo de sistema.

Transacciones

En SBS, las lecturas y escrituras en el espacio de direcciones virtuales protegidas son transaccionales. Esto significa que, por ejemplo, cuando una operación del sistema de archivos QF2 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 protocolos de archivos como SMB y NFS.

Para un rendimiento óptimo, SBS utiliza técnicas que maximizan el paralelismo y la computación distribuida mientras mantienen la consistencia 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 principios del algoritmo ARIES para transacciones sin bloqueo, incluido el registro de escritura anticipada, la repetición del historial 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 ARIES.

SBS aprovecha el hecho de que las transacciones iniciadas por el sistema de archivos QF2 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 mayor 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 su lugar, los registros de transacciones son secuenciales localmente en cada uno de los bstores y se coordinan a nivel global utilizando un esquema de ordenamiento parcial que tiene en cuenta las restricciones de ordenamiento de compromiso.

Qumulo DB utiliza un protocolo de bloqueo de dos fases (2PL) para implementar la capacidad de serialización para un pedido de compromiso consistente. Las operaciones serializables se realizan mediante unidades de procesamiento distribuidas (bstores) y tienen la propiedad de que la secuencia prevista de las operaciones se puede reconstruir después del hecho. La ventaja del enfoque de SBS es que se usa la cantidad mínima absoluta de bloqueo para las operaciones de E/S transaccionales, y esto permite que los clústeres QF2 se escalen a muchos cientos de nodos.

Niveles calientes/fríos para optimización de lectura/escritura

SBS incluye niveles integrados de datos calientes y fríos para optimizar el rendimiento de lectura/escritura.

Cuando se ejecuta en las instalaciones, QF2 aprovecha la velocidad de las unidades de estado sólido (SSD) y la rentabilidad de las unidades de disco duro (HDD). Los SSD se emparejan con HDD estándar en cada nodo. Este par se denomina disco virtual. Hay un disco virtual para cada HDD en el sistema.

Los datos siempre se escriben primero en los SSD. Debido a que las lecturas generalmente acceden a datos escritos recientemente, los SSD también actúan como caché. Cuando los SSD están llenos aproximadamente en un 80 %, los datos a los que se accede con menos frecuencia se transfieren a los HDD. Los HDD proporcionan capacidad y lectura/escritura secuencial de grandes cantidades de datos.

Cuando se ejecuta en la nube, QF2 optimiza el uso de los recursos de almacenamiento en bloque al combinar el almacenamiento en bloque de alto rendimiento con el almacenamiento en bloque rentable de bajo rendimiento.

Veamos los siguientes aspectos de la distribución en niveles caliente/fría de SBS:

  • Cómo y dónde se escriben los datos
  • Dónde se escriben los metadatos
  • Cómo caducan los datos
  • Cómo se almacenan y leen los datos

La escritura inicial

Para escribir en un clúster, un cliente envía algunos datos a un nodo. Ese nodo elige una pstore o varias pstores donde irán esos datos y, en términos de hardware, siempre escribe en los SSD o en el almacenamiento en bloque de baja latencia si usa recursos de la nube. (Recuerde que usamos SSD para referirnos tanto a los SSD locales como al almacenamiento en bloque de baja latencia en la nube pública; el comportamiento es similar). Estos SSD estarán en varios nodos.

Todas las escrituras ocurren en SSD; SBS nunca escribe directamente en el HDD. Incluso si un SSD está lleno, el sistema hace espacio para los nuevos datos al purgar los datos previamente almacenados en caché.

Manejo de metadatos

Generalmente, los metadatos permanecen en el SSD. Los datos generalmente se escriben en un bstore en la dirección más baja disponible, por lo que los datos crecen desde el principio del bstore hasta el final. Los metadatos comienzan al final del bstore y crecen hacia el principio. Esto significa que todos los metadatos están a la derecha de los datos. Aquí hay una ilustración de dónde se encuentran los metadatos en un bstore.

QF2 asigna hasta el 1 % del bstore en el SSD a metadatos y nunca lo caduca. Nada en ese 1% va al HDD. Si los metadatos superan ese 1 %, podrían caducar, pero, para una carga de trabajo típica, hay aproximadamente un 0.1 % de metadatos. El espacio no se desperdicia si no hay suficientes metadatos para llenarlo. Los datos también pueden usar ese espacio.

Datos que caducan

En algún momento, el sistema necesita más espacio en la SSD, por lo que algunos de los datos caducan o se mueven de la SSD a la HDD. Los datos se copian del SSD al HDD y luego, una vez que están en el HDD, se eliminan del SSD.

La caducidad comienza cuando un SSD está lleno al menos en un 80 % y se detiene cuando vuelve a menos del 80 % de su capacidad. El umbral del 80 % es una heurística que optimiza el rendimiento: las escrituras son más rápidas cuando los SSD están entre el 0 % y el 80 % y las caducidades no ocurren al mismo tiempo.

Cuando los datos de un SSD se mueven a HDD, SBS optimiza las escrituras secuencialmente a HDD de una manera que optimiza el rendimiento del disco. Las ráfagas de bytes grandes y contiguos son el método más eficiente posible para escribir en HDD.t

Almacenamiento de datos en caché

La siguiente ilustración muestra todos los cachés de QF2. Todo lo que está en verde es un lugar que puede contener datos y puede estar en SSD o HDD.

Las operaciones de E/S de QF2 usan tres tipos diferentes de cachés. El cliente siempre tiene algún caché de su lado y hay dos tipos de cachés en los nodos. Uno es el caché de transacciones, que se puede considerar como los datos del sistema de archivos que el cliente solicita directamente. El otro tipo es el caché de disco, que son bloques de ese disco que se guardan en la memoria.

Como ejemplo, suponga que un cliente que está conectado al nodo 1 inicia una lectura del archivo X. El nodo 1 descubre que esos bloques están asignados en el nodo 2, por lo que notifica al nodo 2 que quiere datos, que en este ejemplo están almacenados en uno. de los SSD del nodo 2. El nodo 2 lee los datos y los coloca en la memoria caché del disco asociada con este SSD. El nodo 2 responde al nodo 1 y envía los datos. En este punto, los datos van al caché de transacciones del nodo 1, que notifica al cliente que tiene los datos para el archivo X.

El nodo al que está conectado el disco es donde se llena la memoria caché del disco. El nodo al que está conectado el cliente es donde se llena la caché de transacciones. El caché de disco siempre contiene bloques y el caché de transacciones contiene datos de los archivos reales. La caché de transacciones y la caché de disco comparten memoria, aunque no hay una cantidad específica asignada a ninguna de ellas.

Protocolos estándar de la industria

QF2 utiliza los protocolos estándar NFSv3 y SMBv2.1.

REST API

QF2 incluye una API REST integral. De hecho, toda la información representada en la GUI de QF2 se genera a partir de llamadas a la API REST de QF2. Una pestaña dentro de la GUI proporciona un recurso de autodocumentación de las llamadas API REST disponibles. Puede experimentar con la API ejecutando llamadas contra el clúster en vivo e inspeccionando las solicitudes y los resultados en tiempo real. Aquí hay una captura de pantalla de ejemplo.

Toda la información presentada en la pestaña Análisis en la GUI puede recuperarse mediante programación con llamadas REST contra la API y almacenarse externamente en una base de datos o enviarse a otra aplicación como Splunk o Tableau. La mayoría de las operaciones del sistema de archivos también se pueden invocar con la API REST.

Conclusión

Esperamos que este documento haya desmitificado el funcionamiento interno de QF2 y le haya dado una idea de por qué los avances en rendimiento y escalabilidad de QF2 son posibles. Si desea información adicional, por favor contáctenos.

Lista de verificación

Aquí están los puntos clave hechos en este documento.

  • Los datos están creciendo a un ritmo explosivo y las cargas de trabajo modernas tienen un tamaño de petabytes, pueden tener miles de millones de archivos y esos archivos son de tamaños mixtos.
  • La mayoría de los sistemas de almacenamiento utilizan tecnologías con décadas de antigüedad que nunca fueron diseñadas para manejar cargas de trabajo modernas.
  • QF2 es un sistema de almacenamiento moderno diseñado específicamente para abordar las cargas de trabajo modernas.
  • QF2 se ejecuta en hardware estándar en las instalaciones y en la nube.
  • QF2 tiene una arquitectura híbrida que utiliza SSD y HDD.
  • QF2 utiliza un esquema de protección de bloques que funciona por debajo del sistema de archivos real.
  • QF2 tiene tiempos de reconstrucción rápidos, medidos en horas. Son, con mucho, los más rápidos de la industria.
  • Los archivos de usuario pueden ocupar hasta el 100 % de la capacidad aprovisionada.
  • Los archivos pequeños son tan eficientes como los archivos grandes.
  • Todo el sistema de archivos existe como un solo volumen.
  • QF2 aplica las mismas técnicas utilizadas por grandes bases de datos distribuidas a su sistema de archivos.
  • Los análisis en tiempo real brindan visibilidad de lo que está sucediendo en el sistema de archivos en este momento.
  • Hay informes precisos de cuánto espacio utilizable está disponible.
  • Los administradores pueden aplicar cuotas en tiempo real.
  • Los administradores saben cuánto espacio real ahorran al eliminar instantáneas.
  • QF2 incluye replicación de datos asíncrona a escala.
  • QF2 utiliza protocolos estándar como NFS y SMB e incluye una API REST.

 


Descargar

Ir al Inicio