DRBD
1 - Instale os 2 servidores com as mesmas partições. Crie a partição (swap) para a troca de memoria, a partição (/) para o sistema operacional e deixe uma parte livre para o espelhamento. Depois de instalado Debian nao esqueca de criar a partição que ficou livre como por exemple sda3.
2 – Depois de instalado o sistema (Debian), instalar os Pacotes do DRBD nos dois servidores:
# apt-get install drbd8-utils
3 – Depois de instalado o DRBD, edite o arquivo /etc/drbd.conf nos dois servidores com as mesmas informações:
### wget https://www.dropbox.com/s/hffu9774zpncilf/drbd.conf
# Inicio ------------------------------------------
global { usage-count no; }
common { syncer { rate 100M; } }
resource r0 {
protocol C;
startup {
wfc-timeout 15;
degr-wfc-timeout 60;
}
net {
cram-hmac-alg sha1;
shared-secret "secret";
}
on principal {
device /dev/drbd0;
disk /dev/sda3;
address 192.168.0.1:7788;
meta-disk internal;
}
on espelho {
device /dev/drbd0;
disk /dev/sda3;
address 192.168.0.2:7788;
meta-disk internal;
}
}
# Fim ----------------------------------------------
4 – Carrego o modulo do DRBD
# modprobe drbd
5 – Agora vamos criar os discos virtuais nos dois servidores:
# drbdadm create-md r0
6 – Reinicie o serviço do DRBD nos dois servidores:
# /etc/init.d/drbd restart
7 – No Servidor principal, vamos começar a sincronizar os discos:
# drbdadm -- --overwrite-data-of-peer primary all
8 - É muito importante essa primeira sincronia. Por isso veja o andamento da sincronia com o comando abaixo:
# watch -n1 cat /proc/drbd
9 – Depois de terminado a sincronia, formate o disco virtual no primario:
# mkfs.ext4 /dev/drbd0
10 – Agora vamos montar o disco:
# mount /dev/drbd0 /dados
obs: “dados” é a pasta que você deve criar nos dois servidores para serem o ponto de montagem do disco virtual.
Testando
11 – Digite o comando df para ver os discos e veja se montou a partição /dev/drbd0 em /dados.
12 – Se estiver ok, copie ou crie qualquer coisa nessa pasta para testarmos.
13 – Agora para ver se deu certo, desmonte a partição:
# umount /dados
14 – Depois no servidor primário digite o comando abaixo para altera-lo para secundário:
# drbdadm secondary r0
15 – E no Secundario:
drbdadm primary r0
16 – Agora no Secundario monte a pasta dados para ver se os dados estarão la:
# mount /dev/drbd0 /dados
É para estarem todos os arquivos que você copiou ou criou no servidor primário.
HEARTBEAT
Obs: Faça tudo nos 2 servidores.
1 – Instale o pacote nos dois servidores:
# apt-get install heartbeat
2 - Crie os arquivos na pasta /etc/had.d
# touch authkeys
# touch ha.cf
# touch haresources
Ou baixe os meus prontos! Srsrs
# wget https://www.dropbox.com/s/cmfgrob7ypq8xrg/authkeys
# wget https://www.dropbox.com/s/221lyjv0v5teqry/ha.cf
# wget https://www.dropbox.com/s/s0jz1weayc5da57/haresources
3 – Edite esses arquivos com as seguintes informações:
authkeys: ------------------------------------
# auth 1
# 1 md5 asdfg
(asdfg) = qualquer senha
ha.cf: ------------------------------------------
node principal
node espelho
bcast eth0
debugfile /var/log/ha-debug
logfile /var/log/ha-log
keepalive 2
deadtime 30
warntime 10
initdead 90
baud 19200
udpport 694
auto_failback off
compression bz2
compression_threshold 2
haresources: -----------------------------------------------
# principal IPaddr::192.168.0.1/24/eth0 drbddisk::r0 Filesystem::/dev/drbd0::/dados::ext4 samba
192.168.0.1 é o IP virtual
4 - Mude as permissões do arquivo:
# chmod 600 /etc/ha.d/authkeys
5 – Adicione a seguinte ao arquivo fstab:
# /dev/drbd0 /dados ext4 _netdev,defaults 0 0
6 – Inicie o serviço do heartbeat nos dois servidores
# /etc/init.d/heartbeat start
7 – Pelo rcconf deixe habilitado os serviços drbd e heartbeat
Final
- Digite ifconfig e veja se apareceu o ip virtual 192.168.0.1
- Para visualizar o sincronismo digite watch cat /proc/drbd
- Se derrubar primaria a secundaria sobe para primaria e se a primaria voltar ela volta como secundaria, ai é so derrubar o outro servidor para ela voltar a primaria.
- Depois é so instalar o SAMBA com as mesmas configurações nos dois servidores, inclusive o NEBIOSNAME.
RECUPERANDO DADOS E SINCRONISMO
### Se perder a comunicacao entre os servidores faça o seguinte:
1 - Verique o status
# cat /proc/drbd
# drbd-status (Se tiver o script)
Resultado:
version: 8.3.7 (api:88/proto:86-91)
srcversion: EE47D8BF18AC166BE219757
1: cs:StandAlone ro:Secondary/Unknown ds:Outdated/DUnknown 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:258100
# Nao pode aparecer Standalone e nem Unknown. Se aparecer, faça os comandos abaixo:
2 - No Servidor que perdeu a sincronizacao ou dados antigos, Desconecte o recurso;
# drbdadm disconnect r0
3 - Descarte os dados do recurso e reconecte novamente(SOMENTE NO SECUNDÁRIO DANIFICADO)
# drbdadm -- --discard-my-data connect r0
4 - Vá ao node "primario, onde esta com os dados corretos" e conecte o recurso
# drbdadm connect r0
Pronto, agora o comando
cat /proc/drbd
Every 1,0s: cat /proc/drbd Fri Aug 1 00:46:54 2014
version: 8.3.11 (api:88/proto:86-96)
srcversion: F937DCB2E5D83C6CCE4A6C9
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----