Système de fichiers distribués de Qumulo

Évolutivité

Mobilité des données, évolutivité linéaire et portée mondiale

Pour l'évolutivité, le système de fichiers de Qumulo a une architecture distribuée où de nombreux nœuds de calcul individuels travaillent ensemble pour former un cluster avec des performances évolutives et un système de fichiers unique et unifié. Les clusters Qumulo, à leur tour, travaillent ensemble pour former une structure de stockage distribuée à l'échelle mondiale mais hautement connectée, liée à réplication continue des relations. Les clients interagissent avec les clusters Qumulo à l'aide de protocoles de fichiers standard, API REST et une interface utilisateur graphique basée sur le Web pour les administrateurs de stockage.

Le diagramme ci-dessous montre les connexions entre les clients, les grappes Qumulo composées de nœuds exécutant Qumulo Core et plusieurs grappes Qumulo, constituant la structure, fonctionnant dans plusieurs environnements et emplacements géographiques.

diagramme de l'architecture de stockage du système de fichiers

Le système de fichiers de Qumulo est un système modulaire. À mesure que la demande augmente sur un cluster Qumulo, il vous suffit d'ajouter des nœuds ou des instances. La capacité et les performances évoluent de manière linéaire, et cela est vrai que le cluster Qumulo fonctionne dans un centre de données sur site ou dans le cloud public.

Fichiers et répertoires massivement évolutifs

Lorsque vous avez un grand nombre de fichiers, la structure de répertoire et les attributs de fichier deviennent eux-mêmes des données volumineuses.

Par conséquent, les processus séquentiels tels que les parcours d'arborescence, qui sont fondamentaux pour le stockage hérité, ne sont plus réalisables sur le plan du calcul. Interroger et gérer un système de fichiers volumineux nécessite plutôt une nouvelle approche utilisant des algorithmes parallèles et distribués.

Le système de fichiers de Qumulo fait exactement cela. Il est unique dans sa façon d'aborder le problème de l'évolutivité. Sa conception met en œuvre des principes similaires à ceux utilisés par les bases de données distribuées modernes à grande échelle. Le résultat est un système de fichiers avec des caractéristiques d'échelle inégalées. En revanche, les anciens appareils de stockage n'étaient tout simplement pas conçus pour gérer l'ampleur massive de l'empreinte actuelle des données.

Le système de fichiers Qumulo repose sur une couche de bloc virtualisée appelée Bloc de stockage évolutif (SBS). Travail fastidieux tel que la protection, la reconstruction et le choix des disques contenant les données qui se trouvent dans la couche SBS, sous le système de fichiers.

La fonctionnalité de bloc protégé virtualisé de SBS constitue un avantage considérable pour le système de fichiers Qumulo.

Dans les systèmes de stockage existants dépourvus de SBS, la protection est assurée fichier par fichier ou à l'aide de groupes RAID fixes, ce qui pose de nombreux problèmes difficiles, tels que des temps de reconstruction longs, un stockage inefficace de petits fichiers et une gestion coûteuse de la disposition des disques. Sans couche de bloc virtualisée, les systèmes de stockage hérités doivent également mettre en œuvre la protection des données dans la couche de métadonnées elle-même. Cette complexité supplémentaire limite la capacité de ces systèmes à optimiser les transactions distribuées pour leurs structures de données d'annuaire et leurs métadonnées.

Pour l’évolutivité des fichiers et des répertoires, le système de fichiers Qumulo utilise beaucoup les structures de données d’index Arbres B. Les arbres B sont particulièrement bien adaptés aux systèmes qui lisent et écrivent un grand nombre de blocs de données car ce sont des structures de données «peu profondes» qui minimisent la quantité d'E / S requise pour chaque opération lorsque la quantité de données augmente. Avec les arbres B comme base, le coût en calcul de la lecture ou de l'insertion de blocs de données augmente très lentement à mesure que la quantité de données augmente. Les arbres B sont parfaits pour les systèmes de fichiers et les très grands index de bases de données, par exemple.

Dans le système de fichiers de Qumulo, les arbres B sont basés sur des blocs. Chaque bloc fait 4096 octets. Voici un exemple qui montre la structure d'un arbre B.

Chaque bloc 4K peut avoir des pointeurs sur d'autres blocs 4K. Ce B-tree particulier a un facteur de branchement 3, où un facteur de branchement est le nombre d'enfants (sous-noeuds) sur chaque nœud de l'arbre. Même s'il existe des millions de blocs, la hauteur d'un arbre B dans SBS, de la racine à l'emplacement où se trouvent les données, peut n'être que de deux ou trois niveaux. Par exemple, dans le diagramme, pour rechercher l'étiquette q avec la valeur d'index 1, le système ne parcourt que deux niveaux de l'arborescence.

Le système de fichiers Qumulo utilise les arbres B pour différentes finalités.

Il y a un inode B-tree, qui agit comme un index de tous les fichiers. La liste d'inodes est une technique standard d'implémentation de système de fichiers qui permet de vérifier la cohérence du système de fichiers indépendamment de la hiérarchie des répertoires. Les inodes aident également à rendre efficaces les opérations de mise à jour telles que les déplacements de répertoire. Les fichiers et les répertoires sont représentés sous forme d'arborescences B avec leurs propres paires clé / valeur, telles que le nom du fichier, sa taille et sa liste de contrôle d'accès (ACL) ou ses autorisations POSIX. Les données de configuration sont également un arbre B et contiennent des informations telles que l'adresse IP et le cluster.

Le système de fichiers Qumulo peut être considéré comme un arbre. Voici un exemple.

L'arbre de niveau supérieur s'appelle le super arbre B. Lorsque le système démarre, le traitement commence là.

La racine est toujours stockée dans la première adresse («paddr 1.1») du tableau de blocs protégés virtuels. L'arbre racine fait référence à d'autres arbres B. Si le système de fichiers Qumulo a besoin d'accéder aux données de configuration, par exemple, il passe à l'arborescence B de configuration. Pour rechercher un fichier particulier, le système interroge l'arborescence B inode en utilisant le numéro d'inode comme index. Le système parcourt l'arborescence inode jusqu'à ce qu'il trouve le pointeur sur le fichier B-tree. À partir de là, le système de fichiers peut rechercher tout ce qui concerne le fichier. Les répertoires sont traités comme des fichiers.

S'appuyer sur des arborescences B qui pointent vers un stockage en bloc protégé virtualisé dans SBS est l'une des raisons pour lesquelles un système de fichiers contenant un billion de fichiers est réalisable.

Vous voulez en savoir plus?

Donnez-nous 10 minutes de votre temps et nous vous montrerons comment repenser les données de stockage.