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.
3 min de lecture

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.cest renommé endrbd_sender.c, conformément à l'organisation de DRBD 9. - Les champs de bits de la structure de données
drbd_intervalsont 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 volume | 2, pour le basculement | Jusqu'à 31 pairs |
| Protection contre le split-brain | Repose sur le fencing | Quorum intégré à partir de 3 nœuds |
| Gestion des nœuds défaillants | Configuration manuelle de STONITH ou du fencing | Automatique |
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
- [PATCH 0/7] drbd: preparation for DRBD 9 - linux-kernel mailing list
- Working to Put DRBD 9 in the Mainline Linux Kernel - LINBIT
- DRBD - LINBIT
Articles liés

Kubernetes 1.37 fait passer le mode rootless en bêta
Kubernetes 1.37 fait passer KubeletInUserNamespace en bêta. Le kubelet, les runtimes de conteneurs, les plugins CNI et kube-proxy peuvent tous tourner en utilisateur ordinaire.

Linux LZ4 : la resynchronisation en v1.10.0 accélère la décompression jusqu'à 21%
Une série de 9 correctifs fait passer le code LZ4 du noyau, datant de 2017-2018, à la version amont v1.10.0, ajoute des contrôles de limites et accélère de 21% la décompression des blocs de 16K.

Les appels système Linux set_robust_list2 reviennent en v7 pour FEX-Emu
Igalia a publié le 25 septembre 2026 la v7 des appels système futex set_robust_list2, 10 mois après la v6, pour aider FEX-Emu à exécuter du code x86 32 bits sur Arm64.