DRBD · 6 min read · Jan 30, 2026

Replicação de Terceiro Nó DRBD 8.3 Com Debian Etch

Replicação de Terceiro Nó DRBD 8.3 Com Debian Etch

Guia de Instalação e Configuração para DRBD 8.3 + Debian Etch

Configuração do Terceiro Nó

por Brian Hellman

O recente lançamento do DRBD 8.3 agora inclui O Terceiro Nó como um componente disponível gratuitamente. Este documento abordará o básico de como configurar um terceiro nó em uma instalação padrão do Debian Etch. Ao final deste tutorial, você terá um dispositivo DRBD que pode ser utilizado como um SAN, um alvo iSCSI, um servidor de arquivos ou um servidor de banco de dados.

Nota: Clientes de suporte da LINBIT podem pular a Seção 1 e utilizar os repositórios de pacotes.

LINBIT possui soluções de terceiro nó disponíveis, entre em contato com eles em [email protected] para mais informações.

Prefácio:

A configuração é a seguinte:

  • Três servidores: alpha, bravo, foxtrot
  • alpha e bravo são os nós locais primário e secundário
  • foxtrot é o terceiro nó que está em uma rede remota
  • Tanto alpha quanto bravo têm interfaces na rede 192.168.1.x (eth0) para conectividade externa.
  • Uma conexão cruzada existe em alpha e bravo (eth1) para replicação usando 172.16.6.10 e .20
  • O Heartbeat fornece um IP virtual de 192.168.5.2 para se comunicar com o nó de recuperação de desastres localizado em um local geograficamente diverso

Seção 1: Instalando a Fonte

Esses passos precisam ser feitos em cada um dos 3 nós.

Pré-requisitos:

  • make
  • gcc
  • bibliotecas de desenvolvimento glibc
  • gerador de scanner flex
  • cabeçalhos para o kernel atual

Digite o seguinte na linha de comando como um usuário privilegiado para satisfazer essas dependências:

apt-get install make gcc libc6 flex linux-headers-uname -r libc6-dev linux-kernel-headers

Uma vez que as dependências estejam instaladas, baixe o DRBD. A versão mais recente pode sempre ser obtida em http://oss.linbit.com/drbd/. Atualmente, é 8.3.

cd /usr/src/
wget http://oss.linbit.com/drbd/8.3/drbd-8.3.0.tar.gz

Após o download ser concluído:

  • Descompacte o DRBD
  • Entre no diretório de origem
  • Compile a fonte
  • Instale o DRBD

tar -xzvf drbd-8.3.0.tar.gz
cd /usr/src/drbd-8.3.0/
make clean all
make install

Agora carregue e verifique o módulo:

modprobe drbd
cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11

Uma vez que isso tenha sido concluído em cada um dos três nós, continue para a próxima seção.

Seção 2: Configuração do Heartbeat

Configurar um terceiro nó implica empilhar o DRBD sobre o DRBD. Um IP virtual é necessário para o terceiro nó se conectar, para isso configuraremos uma simples configuração do Heartbeat v1. Esta seção será feita apenas em alpha e bravo.

Instale o Heartbeat:

apt-get install heartbeat

Edite o arquivo authkeys:

vi /etc/ha.d/authkeys

auth 1
1 sha1 suaSenhaSuperSecretaAqui

Uma vez que o arquivo tenha sido criado, mude as permissões do arquivo. O Heartbeat não iniciará se este passo não for seguido.

chmod 600 /etc/ha.d/authkeys

Copie o arquivo authkeys para bravo:

scp /etc/ha.d/authkeys bravo:/etc/ha.d/

Edite o arquivo ha.cf:

vi /etc/ha.d/ha.cf
debugfile /var/log/ha-debug
    logfile /var/log/ha-log
    logfacility     local0
    keepalive 1
    deadtime 10
    warntime 5
    initdead 60
    udpport 694
    ucast eth0 192.168.1.10
    ucast eth0 192.168.1.20
    auto_failback off
    node alpha
    node bravo

Copie o arquivo ha.cf para bravo:

scp /etc/ha.d/ha.cf bravo:/etc/ha.d/

Edite o arquivo haresources, o IP criado aqui será o IP que nosso terceiro nó se refere.

vi /etc/ha.d/haresources
alpha IPaddr::192.168.5.2/24/eth0

Copie o arquivo haresources para bravo:

scp /etc/ha.d/haresources bravo:/etc/ha.d/

Inicie o serviço de heartbeat em ambos os servidores para ativar o IP virtual:

alpha:/# /etc/init.d/heartbeat start
bravo:/# /etc/init.d/heartbeat start

O Heartbeat ativará a nova interface (eth0:0).

Nota: Pode levar até um minuto para o heartbeat ativar a interface.

alpha:/# ifconfig eth0:0

eth0:0 Link encap:Ethernet HWaddr 00:08:C7:DB:01:CC
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

Seção 3: Configuração do DRBD

A configuração do DRBD é feita através do arquivo drbd.conf. Este precisa ser o mesmo em todos os nós (alpha, bravo, foxtrot). Por favor, note que a contagem de uso está definida como sim, o que significa que notificará a Linbit que você instalou o DRBD. Nenhuma informação pessoal é coletada. Por favor, veja esta página para mais informações:

global { usage-count yes; }

resource data-lower {
  protocol C;
  net {
    shared-secret "LINBIT";
  }
syncer {
    rate 12M;
}

  on alpha {
    device     /dev/drbd1;
    disk       /dev/hdb1;
    address    172.16.6.10:7788;
    meta-disk  internal;
  }

  on bravo {
    device    /dev/drbd1;
    disk      /dev/hdd1;
    address   172.16.6.20:7788;
    meta-disk internal;
  }
}

  resource data-upper {
  protocol A;
  syncer {
    after data-lower;
    rate 12M;
    al-extents 513;
  }
  net {
        shared-secret "LINBIT";
  }
  stacked-on-top-of data-lower {
        device /dev/drbd3;
        address 192.168.5.2:7788; # IP fornecido pelo Heartbeat
        }

  on foxtrot {
    device     /dev/drbd3;
    disk       /dev/sdb1;
    address    192.168.5.3:7788; # IP público do nó de backup
    meta-disk  internal;
  }
}

Seção 4: Preparando os Dispositivos DRBD

Agora que a configuração está em vigor, crie os metadados em alpha e bravo.

alpha:/usr/src/drbd-8.3.0# drbdadm create-md data-lower

Escrevendo metadados…
Inicializando log de atividades
NÃO inicializado bitmap
Novo bloco de metadados drbd criado com sucesso.

bravo:/usr/src/drbd-8.3.0# drbdadm create-md data-lower

Escrevendo metadados…
Inicializando log de atividades
NÃO inicializado bitmap
Novo bloco de metadados drbd criado com sucesso.

Agora inicie o DRBD em alpha e bravo:

alpha:/usr/src/drbd-8.3.0# /etc/init.d/drbd start
bravo:/usr/src/drbd-8.3.0# /etc/init.d/drbd start

Verifique se os dispositivos DRBD de nível inferior estão conectados:

cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530844

Diga ao alpha para se tornar o nó primário:

NOTA: Como o comando indica, isso irá sobrescrever qualquer dado em bravo: Agora é um bom momento para pegar sua bebida favorita.

alpha:/# drbdadm – –overwrite-data-of-peer primary data-lower
alpha:/# cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r—
ns:3088464 nr:0 dw:0 dr:3089408 al:0 bm:188 lo:23 pe:6 ua:53 ap:0 ep:1 wo:b oos:16442556
[==>……………..] sincronizado: 15.9% (16057/19073)M
finalizar: 0:16:30 velocidade: 16,512 (8,276) K/sec

Após a sincronização dos dados ser concluída, crie os metadados em data-upper em alpha, seguido por foxtrot.

Note que o recurso é data-upper e a opção –stacked está apenas em alpha.

alpha:~# drbdadm –stacked create-md data-upper

Escrevendo metadados…
Inicializando log de atividades
NÃO inicializado bitmap
Novo bloco de metadados drbd criado com sucesso.
sucesso

foxtrot:/usr/src/drbd-8.3.0# drbdadm create-md data-upper

Escrevendo metadados…
Inicializando log de atividades
NÃO inicializado bitmap
Novo bloco de metadados drbd criado com sucesso.

Ative o recurso empilhado, depois faça alpha o primário de data-upper:

alpha:/# drbdadm --stacked adjust data-upper

foxtrot:~# drbdadm adjust data-upper
foxtrot:~# cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@foxtrot, 2009-02-02 10:28:37
1: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent A r—
ns:0 nr:0 dw:0 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:b oos:19530208

alpha:~# drbdadm –stacked – –overwrite-data-of-peer primary data-upper
alpha:~# cat /proc/drbd

version: 8.3.0 (api:88/proto:86-89)
GIT-hash: 9ba8b93e24d842f0dd3fb1f9b90e8348ddb95829 build by root@alpha, 2009-02-05 10:36:11
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r—
ns:19532532 nr:0 dw:1688 dr:34046020 al:1 bm:1196 lo:156 pe:0 ua:0 ap:156 ep:1 wo:b oos:0
1: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent A r—
ns:14512132 nr:0 dw:0 dr:14512676 al:0 bm:885 lo:156 pe:32 ua:292 ap:0 ep:1 wo:b oos:5018200
[=============>……] sincronizado: 74.4% (4900/19072)M
finalizar: 0:07:06 velocidade: 11,776 (10,992) K/sec

Hora da bebida novamente!

Após a sincronização ser concluída, acesse seu dispositivo de bloco DRBD via /dev/drbd3. Isso escreverá em ambos os nós locais e no terceiro nó remoto. Em sua configuração do Heartbeat, você usará o script “drbdupper” para ativar seu dispositivo /dev/drbd3. Divirta-se!

DRBD® e LINBIT® são marcas registradas da LINBIT, Áustria.

Share: X/Twitter LinkedIn

Receba novas postagens na sua caixa de entrada

Sem spam. Cancele a assinatura a qualquer momento.