La arquitectura central de Qumulo se construye teniendo en cuenta la flexibilidad del hardware

Qumulo cree en la flexibilidad del hardware y diseñamos nuestro sistema de archivos para que sea independiente del hardware.

Qumulo cree en la flexibilidad del hardware y diseñamos nuestro sistema de archivos para que sea independiente del hardware.

En nuestro primer año, entrevistamos a cientos de clientes de almacenamiento de archivos y uno de los temas más fuertes que surgió fue el deseo del hardware de tener la libertad de ejecutar el almacenamiento de archivos en el último hardware del centro de datos, así como en la nube pública. “Los clientes son nuestro campo magnético” es uno de los valores clave de nuestra empresa, y con estas entrevistas, nuestros clientes nos estaban dando una misión clara.

Flexibilidad de hardware

Además de correr en los principales plataformas de proveedores en la nube, El sistema de archivos tolerante a fallas de grado empresarial de Qumulo se ejecuta en un variedad de plataformas de hardware, incluidos Fujitsu, HPE y nuestra propia infraestructura. Pero "agnóstico del hardware" no significa que no tengamos estándares. Certificamos de manera deliberada y cuidadosa plataformas específicas para que las utilicen los clientes, porque queremos que los clientes tengan una experiencia excelente de manera constante. Además, la facilidad con la que podemos crear nuevas plataformas certificadas es notable. El diseño de software independiente del hardware facilita la implementación de funciones al crear una capa de abstracción clara del hardware, así como una mayor confianza en las pruebas.

Muchos SSD modernos tienen la capacidad de escribir bloques 4k de forma atómica. Un SSD con esta propiedad responderá a una solicitud de escritura si, y solo si, la escritura ha aterrizado de manera persistente en la unidad, en la ubicación correcta, en el orden en que se emitió la escritura, sin errores de bit u otros daños. El SSD debe hacer esto incluso en presencia de fallas de energía. Probamos esto a fondo con nuestras propias pruebas de fallas de energía y hardware para cada modelo SSD que enviamos. Al hacerlo, nos da la confianza de proporcionar garantías de atomicidad de hardware a la pila de software. La metodología de prueba de fallas de energía que utilizamos para este proceso es fascinante y merece su propia publicación de blog en el futuro.

Nuestra arquitectura de dispositivos de bloque central se basa completamente en esta propiedad de escritura atómica 4k. El resultado es que podemos realizar cambios atómicos en estructuras de datos que son mucho más grandes que 4k escribiendo listas y árboles construidos a partir de bloques 4k e intercambiando atómicamente las raíces para actualizar grandes cantidades de datos de forma transaccional.

Abstraer el hardware

Nuestra abstracción de hardware es Linux; específicamente, ejecutamos Ubuntu 16.04 LTS actualizado. QFSD (Qumulo File System Daemon), el corazón del software del sistema de archivos Qumulo, se ejecuta como un proceso de modo de usuario único. QFSD no requiere modificaciones del kernel para ejecutarse. en cambio, depende de paquetes de código abierto fácilmente disponibles que se pueden instalar a través del administrador de paquetes apt de Ubuntu.

Cuando le digo esto a la gente, por lo general responden: “¡Oh, eso es genial! Por lo tanto, debe instalar ZFS y Samba o algo y empaquetarlo con una interfaz de usuario agradable ". Este no es el caso. QFSD es como un sistema operativo autónomo por derecho propio. Tiene su propia capa de dispositivo de bloque, completa con un elevador y caché, que se conecta al kernel de Linux a través de libaio. Tiene su propio programador cooperativo multitarea, porque los pthreads eran demasiado lentos para nuestros requisitos de rendimiento. Como resultado, las dependencias que asumimos en Linux son principalmente llamadas al sistema para interactuar con el kernel. El kernel proporciona una gran cantidad de controladores y herramientas compatibles que nos permiten interactuar con la mayoría del hardware. A veces también necesitamos instalar e interactuar con herramientas de integración de proveedores patentadas.

Qumulo mantiene una capa de abstracción de hardware (HAL) que consolida la información de hardware de Linux en una ubicación central para su uso por QFSD. Las fuentes de datos agregados por la HAL incluyen el kernel de Linux, módulos del kernel para hardware y proveedores específicos, aplicaciones de línea de comandos para hardware y proveedores específicos, configuración y estado de BIOS, configuración y estado de IPMI, y más. Sobre la base de esta agregación, la HAL toma decisiones relacionadas con el hardware y pasa esta información a QFSD.

La HAL usa el número de serie de un nodo para determinar su SKU. A partir de ahí, produce una definición de hardware para este SKU. Afirma que los componentes de hardware actuales (CPU, NIC, unidades, etc.) están en la lista blanca de Qumulo para su uso en un nodo de este SKU. Determina qué NIC se utilizarán para el tráfico de frontend y backend. Asigna información SSD y HDD de bajo nivel a las abstracciones de disco de trabajo y respaldo de QFSD. También asigna unidades a bahías para su uso en la interfaz de usuario. Puede sondear las temperaturas de la CPU, detectar eventos de conexión en caliente del dispositivo, configurar el cifrado basado en hardware, controlar los LED en el chasis y las unidades, y mucho más.

Para flexibilidad de hardware, Qumulo Core plataforma de datos de archivo se ejecuta en servidores populares de HPE y Fujitsu y enviamos una variedad de SKU fabricados por Qumulo. También operamos en las principales infraestructuras de nube pública. Internamente, aumentamos nuestra cobertura de pruebas alojando máquinas virtuales de Qumulo en VMware. También probamos ejecutando "simnodes" en espacio aislado como múltiples procesos QFSD en el mismo host, usando archivos planos en el host como dispositivos de bloque y loopback para redes. Como parte de un hackathon de Qumulo, uno de nuestros desarrolladores internos puso el producto en funcionamiento en su torre de juegos en casa con un montón de SSD desechados de nuestro laboratorio conectados al azar a varios puertos SATA en su placa base (no recomendamos esta configuración ).

Qumulo es una tienda de software que construye teniendo en cuenta la flexibilidad del hardware, tenemos un equipo de hardware interno. En la parte 2, Creación de hardware de almacenamiento de archivos empresarial agnóstico, Describo el papel de este equipo y cómo encaja en la misión más amplia de Qumulo de independencia del hardware.

Esta publicación se ha actualizado a partir del original que se publicó en 2019.

Más información

Contacto

Haz una prueba de manejo. Haga una demostración de Qumulo en nuestros laboratorios prácticos interactivos.

Suscríbete al blog de Qumulo para historias de clientes, conocimientos técnicos, tendencias de la industria y noticias de productos.

Comparta este artículo