Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Replicação Síncrona de Dados com DRBD em Ambiente Linux

Você terá dois servidores Linux replicando dados em tempo real via DRBD, com failover manual. O laboratório leva cerca de 2 horas.

DRBD do zero à replicação síncrona de dados
Ligado ao treinamento DRBD do zero à replicação síncrona de dados
ULC-LAB-CONT-0003 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
12
Validações
4
Versões da documentação consultada
DRBD 9.x (consulte a documentação para a versão estável atual) · Pacemaker a versão estável atual · Corosync a versão estável atual
Objetivo

Demonstrar, na prática, como implementar replicação síncrona de blocos entre dois servidores Linux usando DRBD, garantindo continuidade de dados críticos. O laboratório cobre instalação, configuração, inicialização, testes de escrita e failover manual, usando apenas software livre.

Topologia

Dois servidores Linux (node1 e node2) conectados em rede privada (ex: 192.168.56.101 e 192.168.56.102). Cada um com disco dedicado para DRBD (/dev/sdb). Comunicação direta entre os nodes, sem roteadores ou switches gerenciados.

   +-----------+           +-----------+
   |  node1    | <-------> |  node2    |
   |192.168.56.101|       |192.168.56.102|
   |  /dev/sdb  |         |  /dev/sdb  |
   +-----------+           +-----------+

Equipamentos e software

ItemRequisito, licença ou versão
Máquina virtual ou física2 vCPU, 2GB RAM, 2 discos (20GB+10GB), 1 interface de rede, Linux kernel >= 4.15
DRBDGPLv2 · 9.x (consulte a documentação para a versão estável atual)
PacemakerGPLv2 · a versão estável atual
CorosyncBSD · a versão estável atual

Roteiro

  1. Preparar os servidores e discos

    Garanta que ambos os servidores tenham Linux instalado, acesso root e um disco extra (/dev/sdb) sem partição. O DRBD replica blocos; precisa de disco dedicado.

    lsblk

    O que você deve ver: Ambos os nodes mostram /dev/sdb disponível e sem uso.

  2. Configurar rede e hosts

    Edite /etc/hosts em ambos para resolução rápida entre nodes.

    echo '192.168.56.101 node1' >> /etc/hosts
    echo '192.168.56.102 node2' >> /etc/hosts

    O que você deve ver: Ping entre nodes usando nome funciona.

  3. Instalar DRBD e dependências

    Instale os pacotes necessários em ambos os nodes. DRBD precisa de kernel module e utilitários.

    apt update && apt install drbd-utils -y

    O que você deve ver: drbdadm disponível no terminal.

  4. Carregar módulo DRBD

    Carregue o módulo no kernel para ativar o DRBD.

    modprobe drbd

    O que você deve ver: lsmod | grep drbd mostra o módulo carregado.

  5. Criar arquivo de configuração do recurso DRBD

    Crie /etc/drbd.d/r0.res com as definições do recurso, nomes dos hosts e discos.

    cat > /etc/drbd.d/r0.res <<EOF
    resource r0 {
      protocol C;
      on node1 {
        device    /dev/drbd0;
        disk      /dev/sdb;
        address   192.168.56.101:7788;
        meta-disk internal;
      }
      on node2 {
        device    /dev/drbd0;
        disk      /dev/sdb;
        address   192.168.56.102:7788;
        meta-disk internal;
      }
    }
    EOF

    O que você deve ver: /etc/drbd.d/r0.res igual nos dois nodes, com nomes e IPs corretos.

  6. Criar metadados do DRBD

    Inicialize os metadados do DRBD no disco dedicado em ambos os nodes.

    drbdadm create-md r0

    O que você deve ver: Mensagem de sucesso sobre criação de metadados.

  7. Iniciar o recurso DRBD

    Ative o recurso em ambos os nodes.

    drbdadm up r0

    O que você deve ver: cat /proc/drbd mostra ambos os nodes conectados, estado 'Secondary/Secondary'.

  8. Promover node1 a Primary

    DRBD só permite escrita no Primary. Promova node1.

    drbdadm primary --force r0

    O que você deve ver: cat /proc/drbd mostra 'Primary/Secondary' em node1.

  9. Criar sistema de arquivos no dispositivo DRBD

    Formate /dev/drbd0 no node primário para uso.

    mkfs.ext4 /dev/drbd0

    O que você deve ver: Sistema de arquivos criado sem erro.

  10. Montar e testar escrita no volume DRBD

    Monte e escreva arquivos teste no node primário.

    mkdir /mnt/drbd
    touch /mnt/drbd/teste.txt

    O que você deve ver: Arquivo criado com sucesso em /mnt/drbd.

  11. Simular failover: promover node2 a Primary

    Desmonte, rebaixe node1 para Secondary, promova node2 e monte lá.

    umount /mnt/drbd
    drbdadm secondary r0 # no node1
    drbdadm primary r0 # no node2
    mkdir /mnt/drbd
    mount /dev/drbd0 /mnt/drbd

    O que você deve ver: Arquivo teste.txt visível em node2 após montagem.

  12. Configurar sincronização automática (opcional)

    Consulte a documentação para ajustar parâmetros de sincronização e auto-failover com Pacemaker.

    O que você deve ver: Configuração básica de replicação síncrona já está funcional.

Como saber que funcionou

TesteComandoCritério
Verificar status do DRBDcat /proc/drbdEstado 'Primary/Secondary' ou 'Secondary/Primary', ambos UpToDate.
Testar escrita e leitura após failoverls /mnt/drbdArquivo teste.txt presente em ambos os nodes após failover.
Checar sincronização de dadosdrbdadm status r0Ambos os nodes com status 'UpToDate'.
Verificar logs de DRBDjournalctl -u drbd --since '10 minutes ago'Sem erros de conexão ou sincronização.

Troubleshooting

SintomaCausa provávelCorreção
cat /proc/drbd mostra 'WFConnection'Nodes não conseguem se comunicar na porta 7788.Verifique firewall e conectividade IP entre nodes.
Erro 'Device or resource busy' ao promover PrimaryDispositivo DRBD já montado em outro node.Desmonte em todos os nodes antes de promover.
Estado 'Diskless' em um nodeDisco /dev/sdb não disponível ou com erro.Cheque se o disco está presente e sem partição ativa.
Sincronização muito lentaRede lenta ou disco com I/O alto.Teste rede com iperf e monitore uso de disco.

Segurança e hardening

  • Restrinja acesso à porta 7788 apenas entre os nodes DRBD
  • Garanta que apenas root possa manipular /dev/drbd0 e arquivos de configuração
  • Considere criptografia de disco se dados forem sensíveis
  • Mantenha backups regulares fora do cluster DRBD

Checklist final

Referências

  1. DRBD 9 User's Guide · LINBIT (DRBD) (docs.linbit.com)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
1 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.