Accueil🇫🇷Chercher

DRBD

DRBD (Distributed Replicated Block Device en anglais, ou périphérique en mode bloc répliqué et distribué en français) est une architecture de stockage distribuée pour GNU/Linux, permettant la réplication de périphériques de bloc (disques, partitions, volumes logiques etc.) entre des serveurs. DRBD est un logiciel libre, mais un support existe. DRBD est composé d'un module noyau, d'outils d'administration en espace utilisateur ainsi que de scripts shell.

La réplication des données se fait :

  • En temps rĂ©el. En permanence, pendant que les applications modifient les donnĂ©es prĂ©sentes sur le pĂ©riphĂ©rique.
  • De façon transparente. Les applications qui stockent leurs donnĂ©es sur le pĂ©riphĂ©rique rĂ©pliquĂ© n'ont pas conscience que ces donnĂ©es sont en fait stockĂ©es sur plusieurs ordinateurs.
  • De façon synchrone, ou asynchrone. En fonctionnement synchrone, une application qui dĂ©clenche une Ă©criture de donnĂ©e est notifiĂ©e de la fin de l'opĂ©ration seulement après que l'Ă©criture a Ă©tĂ© effectuĂ©e sur tous les serveurs, alors qu'en fonctionnement asynchrone, la notification se fait après que la donnĂ©e a Ă©tĂ© Ă©crite localement, mais avant la propagation de la donnĂ©e.

À ce jour, DRBD ne permet que la réplication entre deux nœuds, mais la feuille de route nous indique qu'il est prévu pour la version 9 de corriger cela.

Principe de fonctionnement

DRBD ajoute une couche logique de périphériques de bloc (conventionnellement nommée /dev/drbdX, ou X est le numéro de périphérique mineur) au-dessus de la couche logique locale des périphériques de bloc existante sur les nœuds du cluster participants. Les écritures sur le nœud primaire sont transférées sur le périphérique de bloc de bas niveau et sont simultanément propagées au nœud secondaire. Le nœud secondaire transfère ensuite les données à son périphérique de bloc de bas niveau correspondant. Toutes les lectures sont effectuées localement.

En cas de défaillance du nœud primaire, un processus de gestion de cluster promeut le nœud secondaire dans un état primaire. Cette transition peut requérir une vérification subséquente de l'intégrité du système de fichier, empilé au sommet de DRBD, par le biais d'une vérification du système de fichiers ou d'un rejeu de journal. Quand l'ancien nœud primaire défaillant revient, le système peut (ou peut ne pas) l'élever à nouveau à un niveau primaire, après une synchronisation des données du périphérique. L'algorithme de synchronisation de DRBD est efficace dans le sens où seuls les blocs qui ont changé durant la panne doivent être resynchronisés, plutôt que le périphérique dans son entièreté.

DRBD peut être utilisé aussi bien en dessous qu'au-dessus de la pile de Linux LVM.

La version 8 de DRBD, livrée en , a introduit le support des configurations de répartition de charge, permettant aux différents nœuds d'accéder à un DRBD en particulier en mode lecture/écriture avec des sémantiques de stockage partagé. Une telle configuration requiert l'usage d'un gestionnaire de verrou distribué.

Utilisations

DRBD peut être utilisé comme une base pour de nombreux systèmes comme, notamment :

  • Un système de fichiers classique,
  • Un système de fichiers sur disque partagĂ© tels que GFS ou OCFS,
  • Un autre pĂ©riphĂ©rique de bloc logique (tel qu'utilisĂ© dans LVM)

Il peut être aussi intégré au sein de certains gestionnaires de "grappes" (clusters, en anglais) tels que Pacemaker, Heartbeat ou Red Hat Cluster Suite.

DRBD peut, finalement, être utilisé en association avec Xen. Cela permet, par exemple, de faire de la réplication non seulement sur des serveurs Linux (ce qui est l'utilisation de base de DRBD) mais aussi sur d'autres systèmes d'exploitation qui peuvent être virtualisés sous Xen (ce qui comprend, en principe, n'importe quel système d'exploitation d'architecture Intel 32 ou 64 bits).

Il est à noter que DRBD est intégré au projet linux-ha.

Avantages par rapport au stockage de cluster partagé

Les systèmes de cluster informatiques conventionnels utilisent, typiquement, une sorte de stockage partagĂ© pour que les donnĂ©es puissent ĂŞtre utilisĂ©es par les ressources des clusters. Cette approche a un certain nombre d'inconvĂ©nients, que DRBD peut aider Ă  compenser :

  • Les ressources du stockage partagĂ© introduisent habituellement un point individuel de dĂ©faillance dans la configuration du cluster --- alors que chacun des nĹ“uds du cluster peuvent faillir sans provoquer d'interruption de service, la dĂ©faillance du stockage cause presque inĂ©vitablement un arrĂŞt du service. Dans DRBD, aucun problème de la sorte n'existe puisque les donnĂ©es de ressource du cluster sont rĂ©pliquĂ©es plutĂ´t que partagĂ©es.
  • Les ressources du stockage partagĂ© sont particulièrement sensibles aux situations de « split-brain Â», dans lesquelles les diffĂ©rents nĹ“uds du cluster sont encore en vie mais ont perdu toute connectivitĂ© rĂ©seau entre eux. Dans un tel scĂ©nario, chaque nĹ“ud du cluster va se considĂ©rer comme Ă©tant le seul nĹ“ud vivant du cluster et prendre le contrĂ´le de toutes les ressources du cluster. Cela peut mener vers des rĂ©sultats potentiellement dĂ©sastreux quand les diffĂ©rents nĹ“uds, par exemple, montent et Ă©crivent sur un système de fichiers de façon concurrente. Les administrateurs de cluster doivent donc implĂ©menter de façon attentive les politiques de clĂ´tures de nĹ“uds afin d'Ă©viter cela. DRBD attĂ©nue sensiblement ce problème en gardant deux ensembles de donnĂ©es rĂ©pliquĂ©es au lieu d'un ensemble commun.

Architecture

DRBD se décompose en deux parties: le module noyau d'une part, et les outils d'administration et autres scripts d'autre part.

Le module noyau

Architecture de DRBD dans le noyau.

La fonctionnalité principale de DRBD est implémentée par un module noyau. Plus précisément, DRBD est un driver pour un périphérique virtuel de type bloc ; de fait, DRBD se situe plutôt bas dans la pile d'entrée/sortie du système, ce qui le rend très flexible et transparent.

Les auteurs de DRBD ont soumis leur contribution au projet du noyau Linux en , en vue d'une intégration au noyau "vanilla". Il fut intégré en pour la version 2.6.33 du noyau.

Les outils en espace utilisateur

La communication avec le module noyau de DRBD se fait via des outils en espace utilisateur. Ces outils sont les suivants:

  • drbdadm l'outil d'administration de haut niveau de DRBD. Il rĂ©cupère les informations depuis le fichier de configuration /etc/drbd.conf. Il sert d'interface pour drbdsetup et drbdmeta. Un mode "dry-run" permet d'afficher les commandes Ă  destination de ces programmes.
  • drbdsetup est le programme qui permet aux utilisateurs de configurer le module DRBD après son chargement. C'est un outil d'assez bas niveau, auquel toutes les options doivent-ĂŞtre passĂ©es par la ligne de commande, ce qui le rend Ă  la fois plus flexible, au prix d'une difficultĂ© d'utilisation.
  • drbdmeta est un programme qui permet Ă  l'utilisateur de crĂ©er, sauvegarder, restaurer et modifier les mĂ©ta-donnĂ©es des structures de donnĂ©es de DRBD.

Références

Exemple de mise en Ĺ“uvre

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplémentaires peuvent s’appliquer aux fichiers multimédias.