Aller au contenu

DRBD 9 se rapproche du noyau Linux principal avec 7 correctifs préparatoires

LINBIT a publié le 23 septembre 7 correctifs qui remodèlent le code DRBD 8.4 du noyau vers DRBD 9, qui prend en charge jusqu'à 31 pairs par volume.

Par Tech AI Wire Team

3 min de lecture

XLinkedIn
A long aisle of white server racks with perforated doors in a data center, under yellow cable trays and strip lights.
Photo: PiDatacenters

En chiffres

patches in the preparation series
7
peers per volume in DRBD 9
31
new maximum resync rate
8 GiB/s

Christoph Böhmwalder a envoyé une série de 7 correctifs aux listes de diffusion du noyau Linux le 23 septembre 2026. Elle s'intitule "drbd: preparation for DRBD 9". La série remodèle l'ancien code DRBD du noyau pour que DRBD 9, bien plus récent, puisse le suivre dans la branche principale. C'est important pour quiconque exploite du stockage répliqué sous Linux, car la version livrée dans le noyau en est encore à l'ancienne branche 8.4.

DRBD signifie Distributed Replicated Block Device. Il copie un disque, bloc par bloc, vers une ou plusieurs autres machines via le réseau. Si un serveur tombe, un autre détient une copie identique des données. LINBIT, l'entreprise derrière le projet, indique que celui-ci est maintenu depuis plus de deux décennies.

Ce que changent les 7 correctifs

La lettre de présentation décrit l'approche en une ligne. "Chaque correctif fait passer une partie du code DRBD 8.4 intégré à l'arbre vers la forme qu'elle a dans le code DRBD 9 hors de l'arbre", a écrit Böhmwalder.

"Dans l'arbre" (in-tree) désigne du code qui se trouve dans les sources officielles du noyau. "Hors de l'arbre" (out-of-tree) désigne du code maintenu séparément et compilé comme module complémentaire. DRBD 9 a toujours été hors de l'arbre.

La lettre de présentation énumère ces changements :

  • Des plafonds plus élevés pour les réseaux rapides : des tampons de socket jusqu'à 128 MiB et un débit de resynchronisation maximal de 8 GiB/s.
  • Le fichier drbd_worker.c est renommé en drbd_sender.c, conformément à l'organisation de DRBD 9.
  • Les champs de bits de la structure de données drbd_interval sont remplacés.
  • La table des noms de paquets réseau change d'emplacement.
  • Les messages de journal reçoivent une limitation de débit par objet, afin qu'un seul périphérique défaillant ne puisse pas inonder le journal du noyau.

La série a été envoyée aux listes linux-kernel et linux-block. La lettre de présentation insiste sur le fait que rien ne change pour les utilisateurs actuels : "Les valeurs par défaut sont inchangées, toutes les configurations existantes restent valides."

Pourquoi DRBD 9 vaut l'effort

LINBIT a expliqué l'objectif dans un billet de blog de Michael Troutman daté du 27 avril 2026. Le noyau embarque DRBD 8.4.11, que le billet qualifie de stagnant. Le développement actif porte sur DRBD 9.3, en dehors du noyau.

L'écart entre les deux est important.

CapacitéDRBD 8.4 (dans le noyau)DRBD 9 (hors de l'arbre)
Nœuds par volume2, pour le basculementJusqu'à 31 pairs
Protection contre le split-brainRepose sur le fencingQuorum intégré à partir de 3 nœuds
Gestion des nœuds défaillantsConfiguration manuelle de STONITH ou du fencingAutomatique

Le split-brain est la panne où deux machines croient toutes deux détenir la copie active et se mettent à écrire des données différentes. Le quorum l'empêche en n'autorisant un nœud à écrire que tant qu'il voit une majorité du cluster. STONITH, abréviation de "shoot the other node in the head" (tirer une balle dans la tête de l'autre nœud), est la solution plus ancienne : éteindre un nœud suspect avant qu'il ne cause des dégâts. DRBD 9 ajoute aussi des garde-fous pour la synchronisation d'un nœud qui rejoint le cluster.

Le billet de LINBIT désignait Linux 7.2 comme cible pour les correctifs DRBD 9.3. La série de cette semaine est présentée comme une préparation, donc le code complet de DRBD 9 fera l'objet d'une soumission ultérieure et distincte.

Ce que cela signifie pour les développeurs

Si vous utilisez DRBD aujourd'hui, vérifiez laquelle des deux versions vous avez. Vous chargez peut-être déjà le module DRBD 9 hors de l'arbre de LINBIT plutôt que le pilote 8.4 du noyau. cat /proc/drbd affiche la version chargée. Cette série ne change encore rien pour aucun des deux groupes, et la lettre de présentation promet que les configurations existantes restent valides.

Si vous dépendez du pilote 8.4 intégré au noyau, ce travail en amont est une raison de planifier dès maintenant un test de DRBD 9. Une fois intégré, le pilote du noyau gagnera les volumes multi-pairs et le quorum. Ceux-ci changent la façon dont un cluster doit être configuré et isolé par fencing. Les essayer d'abord sur un cluster de préproduction vaut mieux que découvrir les différences après une mise à niveau du noyau de la distribution.

Si vous construisez du stockage sur des réseaux rapides, notez les nouvelles limites. Un plafond de resynchronisation de 8 GiB/s et des tampons de socket de 128 MiB laissent de la marge pour les liaisons rapides des centres de données. Le site de LINBIT indique que DRBD peut répliquer via TCP/IP ou RDMA, le transport à faible latence utilisé sur les réseaux InfiniBand et RoCE. Les valeurs par défaut restent les mêmes, vous devez donc toujours les relever vous-même.

Surveillez la liste linux-block pour la prochaine série. Les commentaires de revue sur ces 7 correctifs montreront à quelle vitesse les mainteneurs acceptent un pilote volumineux, maintenu longtemps hors de l'arbre. Cette réponse décidera du moment où un noyau standard pourra remplacer un module DRBD empaqueté séparément.

Sources

  1. [PATCH 0/7] drbd: preparation for DRBD 9 - linux-kernel mailing list
  2. Working to Put DRBD 9 in the Mainline Linux Kernel - LINBIT
  3. DRBD - LINBIT

Articles liés