logo université de Strasbourg logo CNRS logo INSA Strasbourg logo ENGEES

Service informatique

Drbd

De Service informatique
Aller à la navigation Aller à la recherche

Introduction

DRBD (Distributed Replicated Block Device) est un outil qui permet de synchroniser (par réplication) des périphériques de stockage (disque dur, partition, volume logique, etc.) entre deux nœuds via le réseau. Pour simplifier, il s'apparente à du RAID-1 sur IP. Quand une écriture a lieu sur le disque du serveur maître, l'écriture est simultanément réalisée sur le serveur esclave. La synchronisation est faite au niveau de la partition.

Fonctionnalité

  • Gestion de 2 noeuds maximum (La gestion de n noeuds est prévu pour la version 9.x voir la roadmap).
  • Synchronisation en temps réel : elle se fait à la volée, pendant que les données sont modifiées.
  • Utilisation transparente : les applications, qui enregistrent leurs données sur le périphérique de stockage répliqué, le font sans même savoir qu'il s'agit d'une unité de stockage spéciale.

Plusieurs mode de synchronisation

  • Fonctionnement asynchrone (mode A), les opérations d'écriture en local sur le nœud principal sont considéré comme achevées dès que l'écriture sur le disque local a eu lieu,
  • Fonctionnement semi-synchrone (mode B) les opérations d'écriture en local sur le nœud principal sont considérées comme achevées dès que l'écriture sur le disque local a eu lieu, et le paquet de réplication a atteint les nœuds pairs.
  • En fonctionnement synchrone (mode C), les opérations d'écriture en local sur le nœud principal sont considérées comme achevées lorsque que les écritures sur disque local et le disque distant ont été confirmées.

Le protocole C étant le mode conseillé par la documentation officielle

Installation

  • paquet drbd8-utils
  • Fichier de configuration /etc/drbd.conf

LSIIT

L'installation de drbd sur les servers lsiit-s1 et lsiit-s2 se fait automatiquement via cfengine3

Utilisation

  • cat /proc/drbd

Fichier de configuration

/etc/drbd.conf

resource vz3 {

 protocol C;  # protocole d'acquittement

 net {
   cram-hmac-alg sha1;
   shared-secret "2t0411lF64t4nm0td2P6ss2!";
   allow-two-primaries;
 }

 startup {
  wfc-timeout 240;    # Au démarrage du noeud, on attend (cela bloque le démarrage) le noeud distant pendant 4 minutes.
  degr-wfc-timeout 240;
  become-primary-on both;
 }


 syncer {
   rate 700000K;  # On ne limite pas la vitesse de synchronisation.
   al-extents 257;
 }

 on lsiit-s1 {
      device     /dev/drbd3;
      disk       /dev/sda3;
      address    192.168.91.231:7783;
      meta-disk  internal;
 }
 on lsiit-s2 {
      device     /dev/drbd3;
      disk       /dev/sda3;
      address    192.168.91.232:7783;
      meta-disk  internal;
 }
}
 
resource vz4 {
  
 protocol C;  # protocole d'acquittement
 net {
   cram-hmac-alg sha1;
   shared-secret "2t0411lF64t4nm0td2P6ss2!";
   allow-two-primaries;
 }

 startup {
  wfc-timeout 240;    # Au démarrage du noeud, on attend (cela bloque le démarrage) le noeud distant pendant 4 minutes.
  degr-wfc-timeout 240;
  become-primary-on both;
 }

 syncer {
   rate 700000K;  # On ne limite pas la vitesse de synchronisation.
   al-extents 257;
 }

 on lsiit-s1 {
      device     /dev/drbd4;
      disk       /dev/sda4;
      address    192.168.91.231:7784;
      meta-disk  internal;
 }
 on lsiit-s2 {
      device     /dev/drbd4;
      disk       /dev/sda4;
      address    192.168.91.232:7784;
      meta-disk  internal;
 }
}

DRBD Management Console

  • cf: [ttp://oss.linbit.com/drbd-mc/]
  • Documentation offcielle: [ttp://www.drbd.org/docs/about/]

à voir

Liens

  • documentation officielle de ubuntu : ttps://help.ubuntu.com/10.04/serverguide/C/drbd.html
  • ttp://doc.ubuntu-fr.org/tutoriel/mirroring_sur_deux_serveurs#configuration_et_mise_en_place_de_drbd
  • configuration : ttp://www.drbd.org/users-guide-emb/ch-configure.html
  • utilisation : ttp://www.drbd.org/users-guide-emb/p-work.html
  • //doc.ubuntu-fr.org/drbd