Sistema de archivos distribuido de Qumulo
Escalabilidad
Contenido de esta guía (tabla de contenido antigua)
- Visión general del sistema de archivos Qumulo
- ¿Qué incluye la suscripción a Qumulo?
- Tu elección de ambientes.
- Escalabilidad
- ANALÍTICA
- Cuotas en tiempo real
- Snapshots
- Replicación continua
- Instantánea de replicación
- Tienda de bloques escalables (SBS)
- Protección de datos con codificación de borrado.
- Soporte de protocolo
- REST API
Movilidad de datos, escalabilidad lineal y alcance global.
Para la escalabilidad, el sistema de archivos de Qumulo 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 de Qumulo, a su vez, trabajan juntos para formar una estructura de almacenamiento distribuida globalmente pero altamente conectada unida con replicación continua relaciones Los clientes interactúan con los clústeres de Qumulo utilizando protocolos de archivos estándar de la industria, REST API y una interfaz gráfica de usuario (GUI) basada en web para administradores de almacenamiento.
El diagrama a continuación muestra las conexiones entre los clientes, los clústeres Qumulo compuestos por nodos que ejecutan Qumulo Core y los múltiples clústeres Qumulo, que comprenden la estructura, que se ejecutan en múltiples entornos y ubicaciones geográficas.
El sistema de archivos de Qumulo es un sistema modular. A medida que aumentan las demandas en un clúster de Qumulo, simplemente agrega nodos o instancias. La capacidad y el rendimiento escalan linealmente, y esto es cierto tanto si el clúster de Qumulo está operando en un centro de datos local como en la nube pública.
Archivos y directorios masivamente escalables
Cuando tiene una gran cantidad de archivos, la estructura de directorios y los atributos de los archivos se convierten en grandes volúmenes de datos.
Como resultado, los procesos secuenciales, como las caminatas de á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 use algoritmos paralelos y distribuidos.
El sistema de archivos de Qumulo 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 se diseñaron para manejar la escala masiva de la huella de datos actual.
El sistema de archivos Qumulo se encuentra sobre una capa de bloque virtualizada llamada Tienda de bloques escalables (SBS). El trabajo que consume tiempo, como la protección, las reconstrucciones y la decisión de qué discos contienen qué datos se producen en la capa SBS, debajo del sistema de archivos.
La funcionalidad de bloque protegido virtualizado de SBS es una gran ventaja para el sistema de archivos Qumulo.
En los sistemas de almacenamiento heredados que no tienen SBS, la protección se produce archivo por archivo o mediante el uso de grupos RAID fijos, lo que presenta muchos problemas difíciles, como los largos tiempos de reconstrucción, el almacenamiento ineficiente de archivos pequeños y la costosa administración de diseños de disco. Sin una capa de bloque virtualizada, 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 estructuras de datos de directorio y metadatos.
Para la escalabilidad de archivos y directorios, el sistema de archivos Qumulo hace un uso extensivo de las estructuras de datos de índice conocidas como Árboles B. Los árboles B son particularmente adecuados para los 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 los árboles B como base, el costo computacional de leer o insertar bloques de datos aumenta muy lentamente a medida que aumenta la cantidad de datos. Los árboles B son ideales para sistemas de archivos y índices de bases de datos muy grandes, por ejemplo.
En el sistema de archivos de Qumulo, 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 4K puede tener punteros a otros bloques 4K. Este árbol B en particular tiene un factor de bifurcación de 3, donde un factor de bifurcació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 la ubicación de los datos, podría ser solo de dos o tres niveles. Por ejemplo, en el diagrama, para buscar la etiqueta q con el valor de índice 1, el sistema atraviesa solo dos niveles del árbol.
El sistema de archivos Qumulo utiliza árboles B para muchos propósitos diferentes.
Hay un inode B-tree, que actúa como un índice de todos los archivos. La lista de inodos es una técnica de implementación estándar 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 directorios, 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 los 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.
El sistema de archivos Qumulo puede considerarse como un árbol de árboles. Aquí hay un ejemplo.
El árbol de nivel superior se llama super B-tree. Cuando el sistema se inicia, el procesamiento comienza allí.
La raíz siempre se almacena en la primera dirección ("paddr 1.1") de la matriz de bloques protegidos virtuales. La raíz del árbol hace referencia a otros B-árboles. Si el sistema de archivos Qumulo necesita acceder a los datos de configuración, por ejemplo, va al árbol de configuración B. Para encontrar un archivo en particular, el sistema consulta el árbol B de inodo utilizando el número de inodo como índice. El sistema atraviesa el árbol de inodos hasta que encuentra el puntero al archivo B-tree. Desde allí, el sistema de archivos puede buscar cualquier cosa sobre el archivo. Los directorios se manejan igual que los archivos.
Confiar en los árboles B que apuntan al almacenamiento de bloques protegidos virtualizados en SBS es una de las razones por las que es factible en un sistema de archivos con un billón de archivos.