Présentation de XRAID avec mise en œuvre de RAID pour XFS

Christoph Hellwig, mainteneur des sous-systèmes DMA, KVM, Slab Allocator et de l'architecture PowerPC dans le noyau Linux, a présenté la première version publique de XRAID, une implémentation RAID déclusterisée avec contrôle de parité, intégrée dans le système de fichiers XFS. Ce projet a été créé dans le but d'ajouter la possibilité d'utiliser RAID sur des dispositifs de stockage zonés, tels que les disques SMR (Shingled Magnetic Recording), et de fournir une implémentation RAID haute performance pour assurer l'intégrité des données. En plus des dispositifs zonés, XRAID prend également en charge les disques durs classiques et les SSD, montrant sur ces derniers un gain de performance significatif par rapport à mdraid (jusqu'à 20 fois en écriture).

Pour la distribution des informations sur les dispositifs dans XRAID, un contrôle de parité déclusterisé est utilisé, similaire au dRAID dans OpenZFS, où aucun dispositif n'est désigné pour le hot spare ; les données, les informations de contrôle de parité et l'espace libre de réserve sont répartis uniformément sur tous les dispositifs. Le processus de lecture, d'écriture et de récupération en cas de panne couvre tous les dispositifs disponibles, ce qui augmente la bande passante, réduit la charge sur les disques individuels, permet d'éviter une chute de performance significative en cas d'incidents et accélère considérablement le processus de reconstruction du volume après l'ajout ou le remplacement de dispositifs.

Les RAID déclusterisés facilitent également la création de volumes tolérants aux pannes avec un très grand nombre de disques. Lors du processus de récupération après une panne, XRAID détermine dynamiquement l'ordre de reconstruction des dispositifs, traitant en priorité les zones avec une perte d'information redondante plus importante et reconstruisant les zones avec des données avant celles avec des informations de contrôle de parité.

XRAID a été initialement développé en tenant compte de la possibilité d'utilisation avec des dispositifs zonés, où l'espace de stockage est divisé en zones constituant des groupes de blocs ou de secteurs. Dans de tels dispositifs, seules des ajouts de données successifs sont autorisés, nécessitant la mise à jour de l'ensemble du groupe de blocs. Par exemple, la zonage d'écriture est appliquée dans les disques SMR (Shingled Magnetic Recording), où la largeur de la piste est inférieure à celle de la tête magnétique, et l'écriture se fait avec un chevauchement partiel de la piste voisine, c'est-à-dire que toute réécriture nécessite une réécriture de l'ensemble du groupe de pistes.

Pour prendre en charge les dispositifs zonés dans XRAID, un répartiteur de blocs pour dispositifs zonés (zoned allocator) a été mis en œuvre dans XFS et le noyau Linux, utilisant un sous-volume temps réel (RealTime subvolume) pour organiser le stockage séparé des données et des métadonnées (dans les zones avec écriture séquentielle, seuls le contenu des fichiers est stocké, tandis que les métadonnées du système de fichiers sont placées dans des zones ordinaires ou sur des SSD additionnels).

Dans XRAID, les mécanismes de contrôle de parité RAID ne sont appliqués qu'au contenu des fichiers, tandis que la redondance pour les métadonnées est réalisée en utilisant des pilotes déjà existants dans le noyau Linux, par exemple, par le biais du mirroring avec MD RAID, ce qui est plus efficace pour les petits objets mis à jour sur place. La réalisation de RAID est intégrée dans XFS jusqu'aux gestionnaires d'entrée/sortie zonés, représentant les zones physiques des dispositifs sous-jacents sous forme de zones logiques, semblable à un dispositif de stockage à blocs multicouches.

Le développement de XRAID se poursuit depuis un an et demi, et bien que la réalisation ne soit pas encore prête pour une intégration dans la distribution principale du noyau, elle est déjà apte à être testée par un large public. La réalisation proposée prend en charge de 0 à 2 niveaux de parité (le code pour le soutien de 3 niveaux ou plus est en cours de développement). Pour gérer XRAID, un nouvel outil « xraid » a été ajouté à l'outil xfsprogs et le soutien à XRAID a été implémenté dans mkfs. De plus, des fonctionnalités pour visualiser le mappage des zones logiques sur les zones physiques ont été ajoutées à l'outil d'inspection des dispositifs zonés Zonar.

Les résultats des tests de performance d'XRAID comparés à mdraid et btrfs ont été publiés, effectués pour le tableau XRAID en configuration de deux SSD WD DC-SN650 pour les métadonnées (miroir basé sur mdraid), six disques SATA traditionnels WD DC-HC590 de 26 To et six disques zonés WD DC-HC690 de 30 To (SMR).





Des tests d'XRAID ont également été effectués sur des SSD non zonés traditionnels en configuration avec un Samsung PM9D3a de 4 To pour les métadonnées et cinq Samsung PM9D3a de 4 To pour le RAID (4 + 1).





Source : opennet.ru
Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster