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.

- 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
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
| Item | Requisito, licença ou versão |
|---|---|
| Máquina virtual ou física | 2 vCPU, 2GB RAM, 2 discos (20GB+10GB), 1 interface de rede, Linux kernel >= 4.15 |
| DRBD | GPLv2 · 9.x (consulte a documentação para a versão estável atual) |
| Pacemaker | GPLv2 · a versão estável atual |
| Corosync | BSD · a versão estável atual |
Roteiro
- 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.
lsblkO que você deve ver: Ambos os nodes mostram /dev/sdb disponível e sem uso.
- 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/hostsO que você deve ver: Ping entre nodes usando nome funciona.
- 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 -yO que você deve ver: drbdadm disponível no terminal.
- Carregar módulo DRBD
Carregue o módulo no kernel para ativar o DRBD.
modprobe drbdO que você deve ver: lsmod | grep drbd mostra o módulo carregado.
- 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; } } EOFO que você deve ver: /etc/drbd.d/r0.res igual nos dois nodes, com nomes e IPs corretos.
- Criar metadados do DRBD
Inicialize os metadados do DRBD no disco dedicado em ambos os nodes.
drbdadm create-md r0O que você deve ver: Mensagem de sucesso sobre criação de metadados.
- Iniciar o recurso DRBD
Ative o recurso em ambos os nodes.
drbdadm up r0O que você deve ver: cat /proc/drbd mostra ambos os nodes conectados, estado 'Secondary/Secondary'.
- Promover node1 a Primary
DRBD só permite escrita no Primary. Promova node1.
drbdadm primary --force r0O que você deve ver: cat /proc/drbd mostra 'Primary/Secondary' em node1.
- Criar sistema de arquivos no dispositivo DRBD
Formate /dev/drbd0 no node primário para uso.
mkfs.ext4 /dev/drbd0O que você deve ver: Sistema de arquivos criado sem erro.
- Montar e testar escrita no volume DRBD
Monte e escreva arquivos teste no node primário.
mkdir /mnt/drbd touch /mnt/drbd/teste.txtO que você deve ver: Arquivo criado com sucesso em /mnt/drbd.
- 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/drbdO que você deve ver: Arquivo teste.txt visível em node2 após montagem.
- 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
| Teste | Comando | Critério |
|---|---|---|
| Verificar status do DRBD | cat /proc/drbd | Estado 'Primary/Secondary' ou 'Secondary/Primary', ambos UpToDate. |
| Testar escrita e leitura após failover | ls /mnt/drbd | Arquivo teste.txt presente em ambos os nodes após failover. |
| Checar sincronização de dados | drbdadm status r0 | Ambos os nodes com status 'UpToDate'. |
| Verificar logs de DRBD | journalctl -u drbd --since '10 minutes ago' | Sem erros de conexão ou sincronização. |
Troubleshooting
| Sintoma | Causa provável | Correçã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 Primary | Dispositivo DRBD já montado em outro node. | Desmonte em todos os nodes antes de promover. |
| Estado 'Diskless' em um node | Disco /dev/sdb não disponível ou com erro. | Cheque se o disco está presente e sem partição ativa. |
| Sincronização muito lenta | Rede 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
- DRBD 9 User's Guide · LINBIT (DRBD) (docs.linbit.com)
- 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
