Openfiler · 5 min read · Jan 31, 2026
Instalação e Configuração do Openfiler com DRBD e Heartbeat
Instalação e Configuração do Openfiler com DRBD e Heartbeat
Introdução
Openfiler é um sistema operacional de alto desempenho projetado para uso como um dispositivo SAN/NAS. Esta configuração permitirá que dois dispositivos Openfiler funcionem em um cenário de alta disponibilidade Ativo/Passivo.
Requisitos
Hardware
- 2 x caixas que atendam às especificações mínimas de hardware do Openfiler.
- 2 x interfaces ethernet em cada caixa
- Mídia de instalação do Openfiler 2.3.
- Ambas as caixas devem ter discos do mesmo tamanho em cada uma para evitar inconsistências de replicação.
Software
Instale o Openfiler 2.3 em ambas as caixas utilizando uma configuração de disco como a seguinte:
- 3 GB de partição raiz (“/”)
- 2 GB de partição “swap”
- 512 MB de partição “/meta” (usada para DRBD0)
- Partição de dados configurada como um LVM não montado (usada para DRBD1)
Configuração
Rede
Cada dispositivo Openfiler terá duas NICs: uma para se comunicar com a LAN, a outra para se comunicar com o outro SAN (via cabo direto). A primeira será usada para administração, para se comunicar diretamente com cada nó.
Uma terceira interface “virtual” é usada pelo serviço de heartbeat e é o que será usado pelos computadores na LAN.
Abaixo está o que é utilizado:
filer01
- Interface LAN (eth0) 192.168.1.18
- Interface de Replicação (eth1) 10.188.188.1
filer02
- Interface LAN (eth0) 192.168.1.19
- Interface de Replicação (eth1) 10.188.188.2
Endereço HA NAS/SAN (eth0) 192.168.1.17
- Isso é configurado no arquivo cluster.xml (não tente configurar em outro lugar)
Configuração do Nome do Host
Para que ambos os nós possam se reconhecer pelo nome, configure o arquivo hosts em cada computador.
Modifique nosso /etc/hosts (em filer01):
# Não remova a linha a seguir, ou vários programas
# que requerem funcionalidade de rede falharão.
127.0.0.1 filer01 localhost.localdomain localhost
10.188.188.2 filer02Modifique nosso /etc/hosts (em filer02):
# Não remova a linha a seguir, ou vários programas
# que requerem funcionalidade de rede falharão.
127.0.0.1 filer02 localhost.localdomain localhost
10.188.188.1 filer01Chaves SSH Compartilhadas
Para permitir que os dois dispositivos Openfiler se comuniquem entre si sem precisar usar uma senha, use chaves SSH compartilhadas.
Em filer01:
root@filer01 ~# ssh-keygen -t dsaPressione enter nas solicitações (não defina uma senha na chave).
Em filer02:
root@filer02 ~# ssh-keygen -t dsaPressione enter nas solicitações (não defina uma senha na chave).
O comando acima gerará um arquivo chamado “id_dsa.pub” em ~/.ssh/, que é a chave pública que precisará ser copiada para o outro nó:
root@filer01 ~# scp .ssh/id_dsa.pub root@filer02:~/.ssh/authorized_keys2
root@filer02 ~# scp .ssh/id_dsa.pub root@filer01:~/.ssh/authorized_keys2
Configurar DRBD
DRBD é o que manterá os dados entre os dois nós consistentes.
Em filer01:
root@filer01 ~# mv /etc/drbd.conf /etc/drbd.conf.orgEm seguida, modifique drbd.conf (versão 8) de acordo com o seguinte:
global {
# minor-count 64;
# dialog-refresh 5; # 5 segundos
# disable-ip-verification;
usage-count ask;
}
common {
syncer { rate 100M; }
}
resource cluster_metadata {
protocol C;
handlers {
pri-on-incon-degr "echo O > /proc/sysrq-trigger ; halt -f";
pri-lost-after-sb "echo O > /proc/sysrq-trigger ; halt -f";
local-io-error "echo O > /proc/sysrq-trigger ; halt -f";
# outdate-peer "/usr/sbin/drbd-peer-outdater";
}
startup {
# wfc-timeout 0;
degr-wfc-timeout 120; # 2 minutos.
}
disk {
on-io-error detach;
}
net {
after-sb-0pri disconnect;
after-sb-1pri disconnect;
after-sb-2pri disconnect;
rr-conflict disconnect;
}
syncer {
# rate 10M;
# after "r2";
al-extents 257;
}
on filer01 {
device /dev/drbd0;
disk /dev/sda3;
address 10.188.188.1:7788;
meta-disk internal;
}
on filer02 {
device /dev/drbd0;
disk /dev/sda3;
address 10.188.188.2:7788;
meta-disk internal;
}
}
resource vg0drbd {
protocol C;
startup {
wfc-timeout 0; ## Infinito!
degr-wfc-timeout 120; ## 2 minutos.
}
disk {
on-io-error detach;
}
net {
# timeout 60;
# connect-int 10;
# ping-int 10;
# max-buffers 2048;
# max-epoch-size 2048;
}
syncer {
after "cluster_metadata";
}
on filer01 {
device /dev/drbd1;
disk /dev/sda5;
address 10.188.188.1:7789;
meta-disk internal;
}
on filer02 {
device /dev/drbd1;
disk /dev/sda5;
address 10.188.188.2:7789;
meta-disk internal;
}
}Ambos os hosts precisam do mesmo drbd.conf, então o arquivo drbd.conf de filer01 será copiado para filer02:
root@filer01 ~# scp /etc/drbd.conf root@filer02:/etc/drbd.confInicialize os metadados em /dev/drbd0 (cluster_metadata) e /dev/drbd1 (vg0drbd) em ambos os nós:
root@filer01 ~# drbdadm create-md cluster_metadata
root@filer01 ~# drbdadm create-md vg0drbd
root@filer02 ~# drbdadm create-md cluster_metadata
root@filer02 ~# drbdadm create-md vg0drbd
Nota: se os comandos acima gerarem erros sobre a necessidade de zerar o sistema de arquivos, use o seguinte comando:
root@filer01 ~# dd if=/dev/zero of=/dev/sda3Tenha cuidado com este comando e certifique-se de que está no disco correto.
Antes de iniciar o serviço DRBD, certifique-se de que a partição usada para drbd0 (no recurso cluster_metadata no arquivo drbd.conf) não esteja montada (o que estará por padrão se foi criada durante a instalação).
root@filer01 ~# umount /dev/sda3Agora, inicie o DRBD em ambos os hosts:
root@filer01 ~# service drbd start root@filer02 ~# service drbd startSe tudo correr bem, eles devem se conectar e executar “service drbd status” deve apresentar uma saída semelhante à seguinte:
root@filer1 /# service drbd statusdrbd driver carregado OK; status do dispositivo:
versão: 8.0.12 (api:86/proto:86)
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 compilado por phil@mescal, 2008-04-24 13:29:44
m:res cs st ds p montado fstype
0:cluster_metadata Conectado Secundário/Secundário Inconsistente/Inconsistente C
1:vg0drbd Conectado Secundário/Secundário Inconsistente/Inconsistente C
Uma vez que ambos os recursos drbd estejam conectados e ambos os nós estejam no estado Secundário (como acima), defina um nó Primário:
root@filer01 ~# drbdsetup /dev/drbd0 primary -o
root@filer01 ~# drbdsetup /dev/drbd1 primary -o
Isso deve lhe dar um resultado de status semelhante ao seguinte:
root@filer1 /# service drbd statusdrbd driver carregado OK; status do dispositivo:
versão: 8.0.12 (api:86/proto:86)
GIT-hash: 5c9f89594553e32adb87d9638dce591782f947e3 compilado por phil@mescal, 2008-04-24 13:29:44
m:res cs st ds p montado fstype
… sincronizado: 17.9% (247232/297152)K
0:cluster_metadata SyncSource? Primário/Secundário Atualizado/Inconsistente C
1:vg0drbd PausadoSyncS? Primário/Secundário Atualizado/Inconsistente C
Nota: se o LVM vg0drbd for grande, levará muito tempo para sincronizar (talvez durante a noite).
Ative o DRBD para iniciar na inicialização:
root@filer01 ~# chkconfig –level 2345 drbd on
root@filer02 ~# chkconfig –level 2345 drbd on
Agora crie o sistema de arquivos cluster_metadata. Use esta partição de 512 MB para manter todos os dados de configuração do Openfiler e os dados para os serviços que devem estar disponíveis em HA (por exemplo, NFS, iSCSI, SMB).
root@filer01 ~# mkfs.ext3 /dev/drbd0Não adicione esta partição a um /etc/fstab, pois isso é gerenciado pelo Heartbeat (e será configurado em breve).
Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.