Cluster Setup · 4 min read · Jan 29, 2026

Impostare un Cluster Samba CTDB Active/Active Utilizzando GFS e DRBD (CentOS 5.5) - Pagina 2

Questo articolo spiega come impostare un Cluster Samba CTDB Active/Active, utilizzando GFS e DRBD. Preparato da Rafael Marangoni, dal Team Servidor Linux di BRLink.

3. Installazione dei Prerequisiti e dei Pacchetti del Cluster

Ci sono alcuni pacchetti che devono essere installati prima:

yum -y install drbd82 kmod-drbd82 samba

Installiamo il Red Hat Cluster Suite:

yum -y groupinstall "Cluster Storage" "Clustering"

4. Configurazione di DRBD

Per prima cosa, dobbiamo configurare /etc/drbd.conf su entrambi i nodi:

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

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

resource r0 {

  protocol C;

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

  disk {
    on-io-error   detach;
  }

  net {
    allow-two-primaries;                 ### Per 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;
  }
}  

I punti principali di configurazione sono:
resource: si riferisce alla risorsa che sarà gestita da DRBD, nota che l’abbiamo chiamata “r0”
disk: si riferisce al dispositivo che DRBD utilizzerà (un disco o una partizione)
address: Indirizzo IP/porta che DRBD utilizzerà (nota che puntiamo a interfacce incrociate)
syncer: il tasso di trasferimento tra i nodi (utilizziamo 100M perché abbiamo schede Gigabit)
Se hai dubbi, consulta la Guida per gli Utenti di DRBD: www.drbd.org/users-guide-emb/

Dopo questa configurazione, possiamo creare i metadati sulla risorsa r0. Su entrambi i nodi esegui:

drbdadm create-md r0

Successivamente, dobbiamo avviare i servizi DRBD, per creare l’initdb. Su entrambi i nodi (quasi contemporaneamente), esegui:

/etc/init.d/drbd start

Per impostare i due nodi come primari, su entrambi i nodi esegui:

drbdsetup /dev/drbd0 primary -o

Per controllare il progresso della sincronizzazione e lo stato della risorsa DRBD, guarda in /proc/drbd:

cat /proc/drbd

Ora, dobbiamo aspettare la fine della sincronizzazione. Questo potrebbe richiedere molto tempo, a seconda delle dimensioni e delle prestazioni dei tuoi dischi.
E, naturalmente, la velocità delle interfacce di rete del cluster che viene utilizzata con il cavo incrociato).

Quando il processo di sincronizzazione termina, possiamo dare un’occhiata allo stato della risorsa r0:

node1:

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

[root@node1 ~]# cat /proc/drbd
version: 8.2.6 (api:88/proto:86-88)
GIT-hash: 3e69822d3bb4920a8c1bfdf7d647169eba7d2eb4 build by 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 build by 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

È importante notare che entrambi i server sono aggiornati (UpToDate/UpToDate) e primari (Primary/Primary).
Per sapere cosa significano tutte le informazioni di stato, dai un’occhiata a: www.drbd.org/users-guide-emb/ch-admin.html#s-proc-drbd

Dobbiamo fare in modo che il servizio DRBD si avvii automaticamente all’avvio:

chkconfig --level 35 drbd on

5. Configurazione di GFS

Ora, dobbiamo configurare GFS (Red Hat Global File System), che è un filesystem cluster da utilizzare con DRBD:

Per prima cosa, dobbiamo configurare /etc/cluster/cluster.conf su entrambi i nodi:

vi /etc/cluster/cluster.conf 







        
                
                        
                
        



        
                
                        
                
        






        


Successivamente, dobbiamo avviare il servizio cman, su entrambi i nodi (allo stesso tempo):

/etc/init.d/cman start

Dopo, possiamo avviare gli altri servizi, su entrambi i nodi:

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

Dobbiamo assicurarci che tutti i servizi siano abilitati all’inizializzazione.
Su entrambi i nodi, esegui:

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

Successivamente, formattiamo il dispositivo, solo su un nodo:

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

Ora, creiamo il punto di mount e montiamo il dispositivo drbd, su entrambi i nodi:

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

Inseriamo il dispositivo in fstab, su entrambi i nodi:

vi /etc/fstab

Inserisci la seguente riga:

/dev/drbd0          /clusterdata               gfs    defaults        0 0 

Successivamente, è bene controllare che il clusterfs funzioni:
Solo su node1, esegui:

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

Ora, controlliamo se il file esiste su node2.
Solo su node2, esegui:

ls -l /clusterdata/ 

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

Ora, testiamo se node2 può scrivere.
Solo su node2, esegui:

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

Ora, controlliamo se i due file esistono su node1.
Solo su node1, esegui:

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

Se tutto va bene, ovviamente possiamo eliminare i file di test.
Solo un nodo, esegui:

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

Ricevi i nuovi post nella tua casella di posta.

Nessuno spam. Disiscriviti in qualsiasi momento.