La version 9.2.0 du dispositif de stockage rĂ©parti rĂ©pliquĂ© DRBD a Ă©tĂ© publiĂ©e, permettant de rĂ©aliser un similitude de matrice RAID-1, formĂ©e Ă partir de plusieurs disques de diffĂ©rentes machines connectĂ©es en rĂ©seau (miroir sur le rĂ©seau). Le systĂšme est conçu sous la forme d'un module pour le noyau Linux et est distribuĂ© sous la licence GPLv2. La branche drbd 9.2.0 peut ĂȘtre utilisĂ©e pour un remplacement transparent de drbd 9.x.x et est totalement compatible au niveau du protocole, des fichiers de configuration et des utilitaires.
DRBD permet de regrouper les disques des nĆuds d'un cluster en un stockage tolĂ©rant aux pannes unique. Pour les applications et le systĂšme, ce stockage apparaĂźt comme un dispositif de bloc identique pour tous les systĂšmes. Lors de l'utilisation de DRBD, toutes les opĂ©rations sur le disque local sont envoyĂ©es Ă d'autres nĆuds et synchronisĂ©es avec les disques des autres machines. En cas de dĂ©faillance d'un nĆud, le stockage continuera automatiquement Ă fonctionner grĂące aux nĆuds restants. Lors de la reprise de la disponibilitĂ© du nĆud dĂ©faillant, son Ă©tat sera automatiquement mis Ă jour.
Le cluster qui forme le stockage peut comprendre plusieurs dizaines de nĆuds, situĂ©s Ă la fois dans le rĂ©seau local et gĂ©ographiquement rĂ©partis dans diffĂ©rentes centres de donnĂ©es. La synchronisation dans de tels stockages dĂ©centralisĂ©s s'effectue Ă l'aide de technologies de rĂ©seau maillĂ© (les donnĂ©es circulent en chaĂźne d'un nĆud Ă l'autre). La rĂ©plication des nĆuds peut se faire en mode synchronisĂ© ou asynchrone. Par exemple, les nĆuds localement situĂ©s peuvent utiliser la rĂ©plication synchronisĂ©e, alors que pour les sites distants, une rĂ©plication asynchrone avec compression et chiffrement supplĂ©mentaires du trafic peut ĂȘtre appliquĂ©e.

Dans cette nouvelle version :
- Les latences pour les requĂȘtes de mise Ă jour miroir ont Ă©tĂ© rĂ©duites. Une meilleure intĂ©gration avec la pile rĂ©seau a permis de diminuer le nombre de changements de contexte du planificateur.
- La concurrence entre les entrées/sorties des applications et les entrées/sorties de resynchronisation a été réduite grùce à l'optimisation des verrouillages lors de la resynchronisation des extents.
- Les performances de resynchronisation des backends utilisant l'allocation dynamique d'espace de stockage («thin provisioning») ont été considérablement augmentées. Les performances ont été améliorées grùce à la combinaison des opérations trim/discard, qui prennent beaucoup plus de temps que les opérations d'écriture habituelles.
- La prise en charge des espaces de noms réseau (network namespaces) a été ajoutée, permettant l'intégration avec Kubernetes pour acheminer le trafic réseau des réplications via un réseau séparé lié aux conteneurs, plutÎt que par le réseau d'hÎte.
- Un module transport_rdma a Ă©tĂ© ajoutĂ© pour ĂȘtre utilisĂ© comme transport Infiniband/RoCE au lieu de TCP/IP sur Ethernet. L'utilisation de ce nouveau transport permet de rĂ©duire les latences, de diminuer la charge sur le CPU et d'assurer l'acquisition de donnĂ©es sans opĂ©rations de copie superflues (zero-copy).
Source : opennet.ru
