DRBD

DRBD
DRBD
DRBD logo.svg
Développeur Philipp Reisner, Lars Ellenberg LINBIT (http://www.linbit.com)
Dernière version 8.3.7 (13 janvier 2010) [+/−]
Écrit en C
Environnement GNU/Linux
Type Architecture distribuée
Licence GNU General Public License v2
Site web http://www.drbd.org/

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. Ce support est réalisé par la société Linbit. 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 leur 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. ( A détailler )

Sommaire

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és sur le périphérique de bloc de bas niveau et sont simultanéments 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, enpilé 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 ou 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 Janvier 2007, 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écisement, 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 juillet 2007, en vue d'une intégration au noyau "vanilla". Il fut intégré en décembre 2009 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 drbdasetup 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


Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article DRBD de Wikipédia en français (auteurs)

Игры ⚽ Нужно сделать НИР?

Regardez d'autres dictionnaires:

  • DRBD — Original author(s) Philipp Reisner, Lars Ellenberg Developer(s) LINBIT (http://www.linbit.com) …   Wikipedia

  • DRBD — Entwickler LINBIT HA Solutions GmbH Aktuelle Version 8.3.y Betriebssystem GN …   Deutsch Wikipedia

  • DRBD — (от англ. Distributed Replicated Block Device  «Распределённое Копируемое Блочное Устройство») это блочное устройство, обеспечивающее синхронизацию (RAID1) между локальным блочным устройством и удалённым. Одним из применений является… …   Википедия

  • DRBD — Distributed Replicated Block Device …   Acronyms

  • DRBD — Distributed Replicated Block Device …   Acronyms von A bis Z

  • Linux-HA — Unter Heartbeat versteht man eine Netzwerkverbindung zwischen zwei (oder mehr) Clusternodes. Über diese Verbindung benachrichtigen sich die beiden Clusternodes gegenseitig, dass sie gegenwärtig betriebsbereit sind und ihre Aufgaben noch erfüllen… …   Deutsch Wikipedia

  • OpenSSI — Developer(s) OpenSSI Team [1] Stable release 1.9.3 …   Wikipedia

  • Replication (computer science) — Replication is the process of sharing information so as to ensure consistency between redundant resources, such as software or hardware components, to improve reliability, fault tolerance, or accessibility. It could be data replication if the… …   Wikipedia

  • Tiger class fast attack craft — Not to be confused with Tiger class cruiser or Tiger class battlecruiser. Tiger class boat S54 Elster (P6154) Class overview Operators …   Wikipedia

  • Network block device — In Linux, a network block device is a device node whose content is provided by a remote machine. Typically, network block devices are used to access a storage device that does not physically reside in the local machine but on a remote one. As an… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”