Système de fichiers Reiser5 disponible

Disponible Pour les tests, le système de fichiers Reiser5 avec prise en charge des volumes logiques sur la machine locale. La principale innovation est la mise à l'échelle parallèle (scaling out), qui s'effectue non pas au niveau des blocs, mais à l'aide du système de fichiers.

Comme avantage de cette approche, il est indiqué qu'il n'y a pas d'inconvénients inhérents aux combinaisons FS+RAID/LVM et aux systèmes de fichiers non parallèles (ZFS, Btrfs), comme le problème de l'espace libre, la dégradation des performances lorsque le volume est rempli. plus de 70 %, des algorithmes obsolètes pour organiser les volumes logiques (RAID/LVM), qui ne permettent pas une distribution efficace des données sur un volume logique. Dans un FS parallèle, avant d'ajouter un périphérique à un volume logique, il doit être formaté à l'aide de l'utilitaire mkfs standard.

Reiser5 utilise un allocateur de blocs gratuit O(1). Le coût maximum de toute opération de recherche de blocs gratuite ne dépend pas de la taille du volume logique. Il est possible d'assembler simplement et efficacement un volume logique à partir de périphériques blocs de différentes tailles et bandes passantes. La distribution des données entre ces appareils s'effectue à l'aide de nouveaux algorithmes (appelés « fiber striping ») proposés par le mathématicien et programmeur russe Eduard Shishkin.

La part des requêtes d'E/S adressées à chaque périphérique est égale à sa capacité relative attribuée par l'utilisateur, de sorte que le volume logique soit rempli de données « uniformément » et « équitablement ». Dans le même temps, les appareils en bloc de plus petite capacité reçoivent moins de blocs pour le stockage, et les appareils avec une bande passante inférieure ne deviennent pas un « goulot d'étranglement » (comme c'est le cas, par exemple, dans les matrices RAID).

L’ajout d’un périphérique à un volume et la suppression d’un périphérique d’un volume s’accompagnent d’un rééquilibrage, qui préserve « l’équité » de la répartition. Dans ce cas, la part des données migrées est également égale à la capacité relative du périphérique ajouté (supprimé). La vitesse de migration des données non fragmentées est proche de la vitesse d'écriture sur disque. Il est possible de maintenir simultanément tous les périphériques bloc inclus dans un volume logique, en utilisant une approche individuelle pour chacun d'eux (défragmentation pour les disques durs, émission de demandes de suppression pour les SSD, etc.). L'espace libre sur un volume logique est surveillé à l'aide de l'utilitaire standard df(1). De plus, l'utilisateur a la possibilité de surveiller l'espace libre sur chaque périphérique composant le volume logique.

Toutes les opérations avec des volumes logiques (ajout, suppression de périphériques, etc.) sont atomiques et sont mises en œuvre à l'aide d'outils standard pour travailler avec des transactions dans Reiser4. Le « dépliage » correct du volume après une telle opération interrompue est réglementé par des instructions. Pour le moment, Reiser5 ne dispose pas encore d'outils de gestion des volumes hors ligne (montés), les utilisateurs sont donc invités à stocker et mettre à jour indépendamment les configurations de leurs volumes logiques pour l'instant. Cette configuration peut être facilement préparée pour un volume monté à l'aide de l'utilitaire de volume logique inclus dans le package reiser4progs.

Du prévu:

  • Répartition des métadonnées sur plusieurs sous-volumes ;
  • Vérification/récupération des volumes logiques à l'aide de l'utilitaire fsck (en mettant à jour son ancienne version) ;
  • Contrôle personnalisé de la distribution et migration transparente des données, ce qui est d'une grande importance pour les applications HPC (Burst Buffers) ;
  • Sommes de contrôle des données et métadonnées ;
  • Instantanés 3D de volumes logiques avec la possibilité d'annuler non seulement les opérations normales sur les fichiers, mais également les opérations sur les volumes (telles que l'ajout et la suppression de périphériques) ;
  • Volumes globaux (réseau) qui regroupent des appareils sur différentes machines.

Source: opennet.ru

Ajouter un commentaire