Cluster Configuration · 4 min read · Jan 29, 2026

Configuration d'un cluster Samba CTDB Active/Active utilisant GFS et DRBD (CentOS 5.5) - Page 2

Cet article explique comment configurer un cluster Samba CTDB Active/Active, en utilisant GFS et DRBD. Préparé par Rafael Marangoni, de l’équipe Linux de BRLink.

3. Installation des prérequis et des paquets de cluster

Il y a quelques paquets qui doivent être installés avant :

yum -y install drbd82 kmod-drbd82 samba

Installons Red Hat Cluster Suite :

yum -y groupinstall "Cluster Storage" "Clustering"

4. Configuration de DRBD

Tout d’abord, nous devons configurer /etc/drbd.conf sur les deux nœuds :

vi /etc/drbd.conf 
global {
    usage-count yes;
}

common {
  syncer {
                rate 100M;
                al-extents 257;
         }
}

resource r0 {

  protocol C;

  startup {
    become-primary-on both;              ### Pour Primary/Primary ###
    degr-wfc-timeout 60;
    wfc-timeout  30;
  }

  disk {
    on-io-error   detach;
  }

  net {
    allow-two-primaries;                 ### Pour Primary/Primary ###
    cram-hmac-alg sha1;
    shared-secret "mysecret";
    after-sb-0pri discard-zero-changes;
    after-sb-1pri violently-as0p;
    after-sb-2pri violently-as0p;
  }

  on node1.clustersmb.int {
    device     /dev/drbd0;
    disk       /dev/sdb;
    address    172.16.0.1:7788;
    meta-disk  internal;
  }

  on node2.clustersmb.int {
    device     /dev/drbd0;
    disk       /dev/sdb;
    address    172.16.0.1:7788;
    meta-disk  internal;
  }
}  

Les principaux points de configuration sont :
resource : fait référence à la ressource qui sera gérée par DRBD, notez que nous l’avons appelée “r0”
disk : fait référence au périphérique que DRBD utilisera (un disque ou une partition)
address : adresse IP/port que DRBD utilisera (notez que nous pointons vers des interfaces croisées)
syncer : le taux de transfert entre les nœuds (nous utilisons 100M car nous avons des cartes Gigabit)
Si vous avez des doutes, veuillez consulter le Guide de l’utilisateur DRBD : www.drbd.org/users-guide-emb/

Après cette configuration, nous pouvons créer les métadonnées sur la ressource r0. Sur les deux nœuds, faites :

drbdadm create-md r0

Ensuite, il faut initier les services DRBD, pour créer l’initdb. Sur les deux nœuds (à peu près en même temps), faites :

/etc/init.d/drbd start

Pour mettre les deux nœuds en tant que primaires, sur les deux nœuds, faites :

drbdsetup /dev/drbd0 primary -o

Pour vérifier l’avancement de la synchronisation et l’état de la ressource DRBD, regardez /proc/drbd :

cat /proc/drbd

Maintenant, nous devons attendre la fin de la synchronisation. Cela peut prendre beaucoup de temps, selon la taille et les performances de vos disques.
Et bien sûr, la vitesse des interfaces réseau du cluster qui est utilisée avec le câble croisé).

Lorsque le processus de synchronisation se termine, nous pouvons jeter un œil à l’état de la ressource r0 :

node1 :

[root@node1 ~]# cat /proc/drbd

[root@node1 ~]# cat /proc/drbd
version : 8.2.6 (api:88/proto:86-88)
GIT-hash : 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 construit par buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0 : cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:2097052 nr:0 dw:0 dr:2097052 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0

node2 :

[root@node2 ~]# cat /proc/drbd

[root@node2 ~]# cat /proc/drbd
version : 8.2.6 (api:88/proto:86-88)
GIT-hash : 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 construit par buildsvn@c5-x8664-build, 2008-10-03 11:30:17
0 : cs:Connected st:Primary/Primary ds:UpToDate/UpToDate C r—
ns:0 nr:2097052 dw:2097052 dr:0 al:0 bm:128 lo:0 pe:0 ua:0 ap:0 oos:0

Il est important de noter que les deux serveurs sont à jour (UpToDate/UpToDate) et primaires (Primary/Primary).
Pour apprendre ce que signifie toutes les informations d’état, jetez un œil à : www.drbd.org/users-guide-emb/ch-admin.html#s-proc-drbd

Nous devons faire en sorte que le service DRBD démarre automatiquement au démarrage :

chkconfig --level 35 drbd on

5. Configuration de GFS

Maintenant, nous devons configurer GFS (Red Hat Global File System), qui est un système de fichiers de cluster à utiliser avec DRBD :

Tout d’abord, nous devons configurer /etc/cluster/cluster.conf sur les deux nœuds :

vi /etc/cluster/cluster.conf 







        
                
                        
                
        



        
                
                        
                
        






        


Ensuite, nous devons démarrer le service cman, sur les deux nœuds (en même temps) :

/etc/init.d/cman start

Après cela, nous pouvons démarrer les autres services, sur les deux nœuds :

/etc/init.d/clvmd start
/etc/init.d/gfs start
/etc/init.d/gfs2 start

Nous devons nous assurer que tous les services sont activés au démarrage.
Sur les deux nœuds, faites :

chkconfig –level 35 cman on
chkconfig –level 35 clvmd on
chkconfig –level 35 gfs on
chkconfig –level 35 gfs2 on

Ensuite, formatez le périphérique, uniquement sur un nœud :

gfs_mkfs -p lock_dlm -t cluster1:gfs -j 2 /dev/drbd0

Maintenant, nous créons le point de montage et montons le périphérique drbd, sur les deux nœuds :

mkdir /clusterdata
mount -t gfs /dev/drbd0 /clusterdata

Insérons le périphérique dans fstab, sur les deux nœuds :

vi /etc/fstab

Insérez la ligne suivante :

/dev/drbd0          /clusterdata               gfs    defaults        0 0 

Ensuite, il est bon de vérifier que le clusterfs fonctionne :
Uniquement sur node1, faites :

tar -zcvf /clusterdata/backup-test.tgz /etc/

Maintenant, vérifions si le fichier existe sur node2.
Uniquement sur node2, faites :

ls -l /clusterdata/ 

[root@node2 ~]# ls -l /clusterdata
total 12576
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz

Maintenant, testons si node2 peut écrire.
Uniquement sur node2, faites :

tar -zcvf /clusterdata/backup-test2.tgz /etc/

Maintenant, vérifions si les deux fichiers existent sur node1.
Uniquement sur node1, faites :

ls -l /clusterdata/ 

[root@no2 ~]# ls -l /clusterdata/
total 25160
-rw-r–r– 1 root root 12850665 Jul 23 16:03 backup-test2.tgz
-rw-r–r– 1 root root 12844520 Jul 23 16:01 backup-test.tgz

Si tout va bien, bien sûr nous pouvons supprimer les fichiers de test.
Uniquement sur un nœud, faites :

rm -f /clusterdata/backup* 
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.