Cluster Debian avec DRBD et GFS2
Signature : | Mis en ligne le : 12/06/2012
Catégorie(s) :
  • GNU/Linux Magazine
  • | Domaine :
    2 commentaire(s)
    2 avis
    creative commons
    Article publié dans :
    Achetez
    Linux Magazine 135 :
    Version Papier
    Version PDF
    Page 1/2
    Page suivante »

    DRBD (Distributed Replicated Block Device) est une solution de réplication de périphériques blocs via le réseau. Un périphérique bloc peut être une partition, un périphérique LVM, RAID logiciel, etc. La réplication se fait en continu et peut être synchrone ou asynchrone. Le module noyau est intégré désormais en standard au noyau depuis la version 2.6.33. Jusqu’à la version 0.7, DRBD fonctionnait en mode actif/passif. Depuis la version 0.8, il est possible de mettre en place un système multi-maître à condition que le système de fichiers le prenne en charge, et c’est là que GFS2 entre en jeu.

    1. Apéritif

    Afin de mettre en œuvre ce qui va suivre, j'ai préparé deux machines virtuelles sous KVM, disons " arnold " et " willy " sous Debian GNU/Linux Squeeze. Bien qu'elle ne soit pas encore publiée, elle est gelée et j'ai donc bon espoir qu'elle ne soit pas aussi retardée que la Woody. Surtout, la prise en charge de DRBD 0.8 et de GFS2 est à un stade bien plus avancé que la Lenny. Les deux machines virtuelles possèdent une patte dans le réseau LAN en 192.168.69.0/24 et une patte dans le réseau de stockage en 192.168.254.0/24.

    2. DRBD

    2.1. Installation

    Depuis la Squeeze, le module noyau drbd est intégré en standard, il n'est donc plus nécessaire de passer par module-assistant pour son installation. On installe juste le nécessaire sur les deux serveurs via un simple :

    2.2. Deux nœuds primaires

    Par défaut, DRBD ne permet pas de mettre en œuvre le multi-maître. Il faut donc lui spécifier le nécessaire dans les options globales du fichier /etc/drbd.d/global_common.conf.

    Il faut donc définir qu'on autorise les deux nœuds à devenir des nœuds maîtres (section net) et ce, dès le démarrage du service (startup). Dans le bloc syncer, on définit le débit maximal du réseau de stockage et la fonction de hash qui s'assurera que les données sont correctement répliquées. On peut utiliser à ce niveau tout algorithme de hash supporté par le noyau.

    2.3. Paramétrage du stockage répliqué

    Sur chacun des serveurs, on crée un fichier /etc/drbd.d/cluster.res qui contiendra la configuration du stockage partagé. La configuration de DRBD doit être identique sur les deux serveurs, par conséquent le plus simple reste de faire le paramétrage sur un serveur et de copier la configuration via scp.

    Le fichier parle de lui-même pour la plupart des éléments de configuration. On définit une ressource DRBD nommée r0, accessible via le périphérique /dev/drbd0. Sur chaque serveur, on définit le périphérique bloc (de taille identique) qui sera répliqué au travers du réseau. meta-disk indique que les métadonnées seront stockées en fin de fichier. Un point plus important est la notion de protocole :

    • protocol A considère les données écrites lorsque les données de réplication sont dans le buffer TCP ;
    • protocol B considère les données écrites lorsque les données de réplication sont dans le cache disque distant ;
    • protocol C considère les données écrites lorsque les données sont écrites sur les deux nÅ“uds du cluster, c'est donc logiquement le plus fiable.

    2.4. Alors, ça marche ?

    Tout d'abord, il faut créer la ressource drbd à partir de ce qui est spécifié dans les fichiers de configuration précédents. Ceci est fait par le script d'init de drbd, mais il me semble plus intéressant de voir en détail les commandes lancées par ce script au premier lancement sur les deux nœuds :

    Si tout s'est bien passé, on peut lancer la synchronisation initiale. À partir de ce moment, les deux nœuds restent en secondaire tant que la synchronisation n'est pas lancée. Celle-ci peut être lancée indifféremment du nœud et l'état d'avancement et de synchronisation est visible dans le fichier /proc/drbd. Quand la synchronisation est terminée, on demande à chaque nœud de passer maître sur la ressource, ce qui n'est pas souhaitable tant que la synchronisation n'est pas terminée.

    3. Au tour du système de fichiers

    3.1. Un FS clusterisé

    Pour utiliser un périphérique de type bloc en lecture/écriture sur plusieurs nœuds, il faut naturellement un système de fichiers prenant en charge le multi-maître, ce que ne sont pas XFS et EXTn. De base, le noyau Linux prend en charge GFS de RedHat et OCFS2 d'Oracle. GFS2 gère les verrous entre les nœuds via DLM, CLVM et CMAN. Commençons par installer les pré-requis et corriger les bogues de packaging :

    Une fois les dépendances installées, il faut créer le répertoire /var/run/lvm qui n'est pas créé à l'installation de clvm, puis modifier le fichier d'init /etc/init.d/clvm et modifier la ligne indiquant le chemin du binaire clvmd ainsi : DAEMON=/usr/sbin/clvmd.

    Donnez votre avis - 2 commentaire(s)
  • Évaluation de l'article :
    Sidze dit :

    Bonjour,

    DRBD fonctionne à un niveau assez bas, ce qui signifie que la réplication des données est transparente pour les applications comme Samba par exemple.

    J’utilise dans mon cas Proxmox (hyperviseur de machines virtuelles) avec DRBD pour des machines virtuelles qui servent de serveurs SQL.

    Tout fonctionne à merveille sauf l’utilisation de la RAM par les SGBDR qui fait que la synchronisation des machines est quelque peu décalée (environ 30secondes)… Notamment dû au fait que les requêtes ne sont pas immédiatement écrites sur les disques.

    En ce qui concerne l’appréciation de l’article, c’est bien entendu vu et expliqué très simplement, ce qui n’est pas forcément chose facile à faire. Cela dit je déplore une certaine déception de ne pas en apprendre davantage, était-ce juste une mise en bouche ? :P

    En espérant que ça vous aura aidé.
    Bien cordialement
    Sidze

  • Évaluation de l'article :
    crahier dit :

    Bonjour,

    Une fois de plus, un article super intéressant et didactique.

    Une question cependant : dans mon cas, j’utilise un fileserver Debian où un share Samba est créé et accédé par une quinzaine de serveurs web.

    Si je mets en place DRBD, puis-je continuer à utiliser le système que j’ai mis en place ?

    Merci d’avance.

    Christophe

  • Vous souhaitez commenter cet article ?
    Brèves Flux RSS
    Édito : Linux Pratique N°77
    Édito : GNU/Linux Magazine N°160
    Édito : GNU/Linux Magazine Hors-Série N°66
    Édito : MISC Hors-Série N°7
    Édito : Linux Essentiel N°31
    Communication RSS Com. RSS Presse
    Misc, Partenaire de l’événement Hack In Paris.
    Linux Pratique, Partenaire de l’Ubuntu Party à la Cité des Sciences et...
    Linux Essentiel N°31 – Communiqué de presse
    GNU/Linux Magazine N°159 – Communiqué de presse
    Linux Magazine, Partenaire de Symfony Live Paris
    Rechercher un article dans notre base documentaire :
    En kiosque Flux RSS

    Le tout nouveau Misc est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Pratique est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau GNU/Linux Magazine HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Misc HS est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Linux Essentiel est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...

    Le tout nouveau Open Silicium est disponible dès maintenant chez votre marchand de journaux et sur notre site marchand.

    Découvrez le sommaire de ce numéro et un aperçu de ce magazine...

    Lire la suite...