Cluster Setup · 4 min read · Jan 29, 2026

Configurando Um Cluster Samba CTDB Ativo/Ativo Usando GFS & DRBD (CentOS 5.5) - Página 2

Este artigo explica como configurar um Cluster Samba CTDB Ativo/Ativo, usando GFS e DRBD. Preparado por Rafael Marangoni, da equipe Servidor Linux da BRLink.

3. Instalando Pré-requisitos E Pacotes Do Cluster

Existem alguns pacotes que precisam ser instalados antes:

yum -y install drbd82 kmod-drbd82 samba

Vamos instalar o Red Hat Cluster Suite:

yum -y groupinstall "Cluster Storage" "Clustering"

4. Configurando DRBD

Primeiro, precisamos configurar /etc/drbd.conf em ambos os nós:

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

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

resource r0 {

  protocol C;

  startup {
    become-primary-on both;              ### Para Primário/Primário ###
    degr-wfc-timeout 60;
    wfc-timeout  30;
  }

  disk {
    on-io-error   detach;
  }

  net {
    allow-two-primaries;                 ### Para Primário/Primário ###
    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;
  }
}  

Os principais pontos de configuração são:
resource: refere-se ao recurso que será gerenciado pelo DRBD, note que chamamos de “r0”
disk: refere-se ao dispositivo que o DRBD usará (um disco ou partição)
address: Endereço IP/porta que o DRBD usará (note que apontamos para interfaces de crossover)
syncer: a taxa de transferência entre os nós (usamos 100M porque temos placas Gigabit)
Se você tiver dúvidas, consulte o Guia do Usuário do DRBD: www.drbd.org/users-guide-emb/

Após essa configuração, podemos criar os metadados no recurso r0. Em ambos os nós, faça:

drbdadm create-md r0

Em seguida, precisamos iniciar os serviços DRBD, para criar o initdb. Em ambos os nós (quase ao mesmo tempo), faça:

/etc/init.d/drbd start

Para colocar os dois nós como primários, em ambos os nós, faça:

drbdsetup /dev/drbd0 primary -o

Para verificar o progresso da sincronização e o status do recurso DRBD, olhe em /proc/drbd:

cat /proc/drbd

Agora, precisamos esperar o fim da sincronização. Isso pode levar muito tempo, dependendo do tamanho e desempenho dos seus discos. E, claro, a velocidade das interfaces de rede do cluster que estão sendo usadas com o cabo crossover).

Quando o processo de sincronização terminar, podemos dar uma olhada no status do recurso r0:

nó1:

[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

nó2:

[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 notar que ambos os servidores estão atualizados (UpToDate/UpToDate) e primários (Primary/Primary).
Para aprender o que significa toda a informação de status, dê uma olhada em: www.drbd.org/users-guide-emb/ch-admin.html#s-proc-drbd

Precisamos fazer com que o serviço DRBD inicie automaticamente na inicialização:

chkconfig --level 35 drbd on

5. Configurando GFS

Agora, devemos configurar o GFS (Red Hat Global File System), que é um sistema de arquivos de cluster para usar com DRBD:

Primeiro, precisamos configurar /etc/cluster/cluster.conf em ambos os nós:

vi /etc/cluster/cluster.conf 







        
                
                        
                
        



        
                
                        
                
        






        


Em seguida, precisamos iniciar o serviço cman, em ambos os nós (ao mesmo tempo):

/etc/init.d/cman start

Depois, podemos iniciar os outros serviços, em ambos os nós:

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

Precisamos garantir que todos os serviços estejam habilitados na inicialização.
Em ambos os nós, faça:

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

Em seguida, formate o dispositivo, apenas em um nó:

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

Agora, criamos o ponto de montagem e montamos o dispositivo drbd, em ambos os nós:

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

Vamos inserir o dispositivo no fstab, em ambos os nós:

vi /etc/fstab

Insira a seguinte linha:

/dev/drbd0          /clusterdata               gfs    defaults        0 0 

Em seguida, é bom verificar se o clusterfs está funcionando:
Apenas no nó1, faça:

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

Agora, verificamos se o arquivo existe no nó2.
Apenas no nó2, faça:

ls -l /clusterdata/ 

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

Agora, vamos testar se o nó2 pode escrever.
Apenas no nó2, faça:

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

Agora, verificamos se os dois arquivos existem no nó1.
Apenas no nó1, faça:

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 tudo estiver bem, claro que podemos deletar os arquivos de teste.
Apenas um nó, faça:

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

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.