Qumulo croit en la flexibilité matérielle et nous avons conçu notre système de fichiers pour qu'il soit indépendant du matériel.

Au cours de notre première année, nous avons interrogé des centaines de clients du stockage de fichiers et l'un des thèmes les plus marquants à émerger était le désir du matériel d'avoir la liberté d'exécuter le stockage de fichiers sur le dernier matériel de centre de données, ainsi que dans le cloud public. «Les clients sont notre champ magnétique» est l'une des valeurs clés de notre entreprise et, grâce à ces entretiens, nos clients nous ont donné une mission claire.

Flexibilité matérielle

En plus de fonctionner sur des plates-formes des fournisseurs de cloud, Le système de fichiers tolérant aux pannes de qualité entreprise de Qumulo fonctionne sur un variété de plates-formes matérielles, y compris Fujitsu, HPE et notre propre infrastructure. Mais «indépendant du matériel» ne signifie pas que nous n'avons pas de normes. Nous certifions délibérément et soigneusement des plates-formes spécifiques que les clients peuvent utiliser, car nous voulons que les clients aient une expérience toujours excellente. De plus, la facilité avec laquelle nous pouvons proposer de nouvelles plates-formes certifiées est remarquable. La conception logicielle indépendante du matériel facilite la mise en œuvre des fonctionnalités en créant une couche d'abstraction claire à partir du matériel ainsi qu'une plus grande confiance dans les tests.

De nombreux SSD modernes ont la capacité d'écrire des blocs 4k de manière atomique. Un disque SSD avec cette propriété répondra à une demande d'écriture si, et seulement si, l'écriture a atterri de manière persistante sur le lecteur, au bon emplacement, dans l'ordre dans lequel l'écriture a été émise, sans erreur de bit ou autre corruption. Le SSD doit le faire même en cas de panne de courant. Nous testons cela de manière approfondie avec nos propres tests d'alimentation et de matériel pour chaque modèle de disque SSD que nous expédions. Cela nous donne la confiance nécessaire pour fournir des garanties d'atomicité matérielle à la pile de logiciels. La méthodologie de test de panne de courant que nous utilisons pour ce processus est fascinante et mérite son propre blog à l'avenir.

Notre architecture de bloc de base repose entièrement sur cette propriété d’écriture atomique 4k. Le résultat est que nous pouvons apporter des modifications atomiques à des structures de données beaucoup plus volumineuses que 4k en écrivant des listes et des arbres construits à partir de blocs 4k et en échangeant atomiquement les racines pour mettre à jour de grandes quantités de données de manière transactionnelle.

Abstraction du matériel

Notre abstraction matérielle est Linux - en particulier, nous exécutons Ubuntu 16.04 LTS à jour. Le QFSD (Qumulo File System Daemon), le cœur du logiciel de système de fichiers Qumulo, fonctionne comme un processus en mode utilisateur unique. QFSD ne nécessite aucune modification du noyau pour s'exécuter. au lieu de cela, cela dépend de packages open source facilement disponibles qui peuvent être installés via le gestionnaire de packages apt Ubuntu.

Quand je dis cela aux gens, ils répondent généralement: «Oh, c'est cool! Vous pouvez donc installer ZFS et Samba ou quelque chose comme ça et le mettre en package avec une belle interface utilisateur. Ce n'est pas le cas. QFSD est comme un système d'exploitation autonome à part entière. Il a sa propre couche de périphérique bloc, avec un ascenseur et un cache, qui se connecte au noyau Linux via libaio. Il possède son propre planificateur multitâche coopératif, car les pthreads étaient trop lents pour nos exigences de performances. En conséquence, les dépendances que nous prenons sur Linux sont principalement des appels système pour s'interfacer avec le noyau. Le noyau fournit une multitude de pilotes et d'outils bien pris en charge qui nous permettent d'interagir avec la plupart du matériel. Nous avons également parfois besoin d'installer et d'interagir avec des outils d'intégration propriétaires.

Qumulo maintient une couche d'abstraction matérielle (HAL) qui consolide les informations sur le matériel de Linux dans un emplacement central pour une utilisation par QFSD. Les sources de données agrégées par HAL incluent le noyau Linux, des modules de noyau pour des matériels et des fournisseurs spécifiques, des applications en ligne de commande pour des matériels et des fournisseurs spécifiques, la configuration et l'état du BIOS, la configuration et l'état IPMI, etc. Sur la base de cette agrégation, la couche HAL prend des décisions relatives au matériel et transmet ces informations à QFSD.

La HAL utilise le numéro de série d'un noeud pour déterminer son SKU. À partir de là, il produit une définition matérielle pour cette SKU. Il affirme que les composants matériels actuels (processeurs, cartes réseau, lecteurs, etc.) sont inscrits sur la liste blanche par Qumulo pour une utilisation dans un nœud de cette SKU. Il détermine quelles cartes réseau doivent être utilisées pour le trafic frontal et le trafic principal. Il mappe les informations SSD et HDD de bas niveau sur les abstractions de disque de travail et de sauvegarde de QFSD. Il mappe également les lecteurs vers les baies à utiliser dans l'interface utilisateur. Il peut interroger les températures du processeur, détecter les événements de branchement à chaud de périphériques, configurer le cryptage matériel, contrôler les voyants du châssis et des lecteurs, et bien plus encore.

Pour la flexibilité matérielle, le Qumulo Core plateforme de données de fichiers fonctionne sur les serveurs HPE et Fujitsu populaires et nous expédions une variété de SKU fabriqués par Qumulo. Nous fonctionnons également sur les principales infrastructures de cloud public. En interne, nous augmentons notre couverture de test en hébergeant des VM Qumulo sur VMware. Nous testons également en exécutant des «simnodes» en bac à sable en tant que plusieurs processus QFSD sur le même hôte, en utilisant des fichiers plats sur l'hôte comme périphériques de bloc et en boucle pour la mise en réseau. Dans le cadre d'un hackathon Qumulo, l'un de nos développeurs internes a installé le produit sur sa tour de jeu à la maison avec un tas de SSD mis au rebut de notre laboratoire câblés au hasard à divers ports SATA sur sa carte mère (nous ne recommandons pas cette configuration ).

Qumulo est une boutique de logiciels qui construit avec la flexibilité matérielle à l'esprit, nous avons une équipe de matériel en interne. Dans la partie 2, Stockage de fichiers d'entreprise indépendant du matériel de construction, Je décris le rôle de cette équipe et comment elle s'inscrit dans la mission plus large de Qumulo d'indépendance matérielle.

Ce message a été mis à jour par rapport à l'original publié en 2019.

Plus D'infos

Contactez-Nous

Faites un essai routier. Démo Qumulo dans nos laboratoires interactifs.

Abonnez-vous au blog Qumulo pour les témoignages clients, les informations techniques, les tendances du secteur et les actualités sur les produits