La version 3.0 du projet Stratis, développée par Red Hat et la communauté Fedora, a été publiée pour unifier et simplifier les outils de configuration et de gestion des pools d'un ou plusieurs disques locaux. Stratis offre des fonctionnalités telles que l'allocation dynamique de l'espace de stockage, des instantanés, l'intégrité des données et la création de couches de cache. Le support de Stratis est intégré dans les distributions Fedora et RHEL à partir de Fedora 28 et RHEL 8.2. Le code du projet est distribué sous la licence MPL 2.0.
Le système reproduit en grande partie les fonctionnalités des outils de gestion de partition avancés ZFS et Btrfs, mais a été conçu comme une couche (démon stratisd) fonctionnant au-dessus du sous-système device-mapper du noyau Linux (utilisant les modules dm-thin, dm-cache, dm-thinpool, dm-raid et dm-integrity) et du système de fichiers XFS. Contrairement à ZFS et Btrfs, les composants de Stratis fonctionnent uniquement dans l'espace utilisateur et ne nécessitent pas le chargement de modules spécifiques au noyau. Le projet est initialement présenté comme n'exigeant pas de qualification d'expert en systèmes de stockage pour l'administration.
Un API D-Bus et une utilitaire cli sont fournis pour la gestion. Le fonctionnement de Stratis a été testé avec des dispositifs de blocs basés sur LUKS (partitions chiffrées), mdraid, dm-multipath, iSCSI, des volumes logiques LVM, ainsi qu'avec différents disques durs, SSD et unités NVMe. En cas de présence d'un disque dans le pool, Stratis permet d'utiliser des partitions logiques avec support des instantanés pour annuler des modifications. Lors de l'ajout de plusieurs périphériques dans le pool, il est possible de combiner logiquement les disques en une zone continue. Des fonctionnalités telles que RAID, compression des données, déduplication et mise en place de la tolérance aux pannes ne sont pas encore prises en charge, mais sont prévues pour l'avenir.

Le changement significatif de version s'explique par l'évolution de l'interface de gestion via D-Bus et l'abandon du support des interfaces FetchProperties au profit de propriétés et méthodes basées sur D-Bus. La nouvelle version ajoute également la vérification des règles udev à l'aide de libblkid avant d'apporter des modifications, refond une gestion des événements de DeviceMapper, modifie la représentation interne des gestionnaires d'erreurs, repense le code pour le rollback, et permet de spécifier la taille logique lors de la création d'un système de fichiers. Dans le framework Clevis, utilisé pour le chiffrement et le déchiffrement automatiques des données sur les partitions de disque, des hachages SHA-256 sont employés à la place de SHA-1. Il est désormais possible de changer la phrase de passe et de regénérer les liaisons à Clevis.
Source : opennet.ru
