Linux 6.2 inclura des améliorations de RAID5 et RAID6 dans Btrfs

Linux Kernel

Linux Kernel

Il a été récemment révélé que des améliorations à Btrfs ont été proposées pour inclusion dans le noyau Linux 6.2 pour résoudre le problème de trou d'écriture dans l'implémentation RAID 5/6.

L'essence du problème se résume au fait que si un crash se produit pendant l'enregistrement, il est initialement impossible de comprendre quel bloc sur lequel des périphériques RAID a été écrit correctement et sur lequel l'enregistrement n'a pas été terminé.

Si vous essayez de reconstruire un RAID dans cette situation, les blocs correspondant aux blocs souscrits peuvent être corrompus car l'état des blocs RAID n'est pas synchronisé. Ce problème se produit dans n'importe quelle matrice RAID1/5/6 où aucune mesure spéciale n'est prise pour lutter contre cet effet.

Dans une implémentation RAID comme RAID1 dans btrfs, ce problème est résolu en utilisant des sommes de contrôle sur les deux copies, en cas de non-concordance, les données sont simplement restaurées à partir de la deuxième copie. Cette approche fonctionne également si un appareil commence à donner de mauvaises données au lieu d'échouer complètement.

Toutefois, dans le cas de RAID5/6, le système de fichiers ne stocke pas les sommes de contrôle pour les blocs de parité - dans une situation normale, l'exactitude des blocs est vérifiée par le fait qu'ils sont tous équipés d'une somme de contrôle, et le bloc de parité peut être recréé à partir des données. Cependant, dans le cas d'un enregistrement partiel, cette approche peut ne pas fonctionner dans certaines situations. Dans ce cas, lors de la restauration de la baie, il est possible que les blocs laissés dans le dossier incomplet sont restaurés de manière incorrecte.

Dans le cas de btrfs, ce problème est plus pertinent si l'écriture qui se produit est plus petite que la bande. Dans ce cas, le système de fichiers doit effectuer une opération de lecture-modification-écriture (RMW).

Si elle rencontre des blocs d'écriture en cours, l'opération RMW peut provoquer une corruption qui ne sera pas détectée, quelles que soient les sommes de contrôle. Les développeurs ont apporté des modifications dans lesquelles l'opération RMW vérifie la somme de contrôle des blocs avant d'effectuer cette opération, et si nécessaire, la récupération de données effectue également une vérification de la somme de contrôle après l'écriture.

Malheureusement, dans une situation où une frange incomplète (RMW) est écrite, cela crée une surcharge supplémentaire pour calculer les sommes de contrôle, mais augmente considérablement la fiabilité. Pour RAID6, une telle logique n'est pas encore prête,

De plus, nous pouvons noter les recommandations sur l'utilisation de RAID5/6 des développeurs, dont l'essentiel est que dans Btrfs le profil de stockage des métadonnées et des données peut différer. Dans ce cas, vous pouvez utiliser le profil RAID1 (miroir) voire RAID1C3 (3 copies) pour les métadonnées, et RAID5 ou RAID6 pour les données.

Cela garantit une protection fiable des métadonnées et l'absence de "trou d'écriture" d'une part, et une utilisation plus efficace de l'espace, typique de RAID5/6, d'autre part. Cela empêche la corruption des métadonnées et la corruption des données peut être corrigée.

Aussi On peut noter que pour les SSD sur Btrfs dans le noyau 6.2, la exécution asynchrone de l'opération "discard" (marquer les blocs libérés qui ne peuvent plus être stockés physiquement) sera activé par défaut.

L'avantage de ce le mode est haute performance en raison du regroupement efficace des opérations de rejet dans une file d'attente et du post-traitement de la file d'attente par un gestionnaire d'arrière-plan, les opérations FS normales ne sont donc pas ralenties comme c'est le cas avec le "rejet" synchrone lorsque les blocs sont libérés, et le SSD peut faire mieux les décisions. D'autre part, vous n'aurez plus besoin d'utiliser des utilitaires comme fstrim, puisque tous les blocs disponibles seront effacés dans le FS sans avoir besoin d'analyse supplémentaire et sans ralentir les opérations.

Enfin, si vous souhaitez en savoir plus, vous pouvez consulter les détails dans le lien suivant.


Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.