Escolar Documentos
Profissional Documentos
Cultura Documentos
http://www.vivaolinux.com.br/artigos/impressora...
ACERTAR REPOSITRIOS
Escolha um editor de textos de sua preferncia e adicione estas linhas em seu "sources.list":
# REPOSITRIO OFICIAL
deb ftp://ftp.br.debian.org/debian squeeze main contrib non-free
deb-src ftp://ftp.br.debian.org/debian squeeze main contrib non-free
# REPOSITRIO DE ATUALIZAES DE SEGURANCA
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
# REPOSITRIO DE ATUALIZAES PROPOSTAS
deb ftp://ftp.br.debian.org/debian squeeze-proposed-updates main contrib non-free
deb-src ftp://ftp.br.debian.org/debian squeeze-proposed-updates main contrib non-free
# aptitude update
Acertar o arquivo nas duas mquinas:
# vim /etc/hosts
127.0.0.1
1 de 13
localhost
192.168.254.14
node1.local
node1
192.168.254.15
node2.local
node2
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
Por se tratar de um sistema de alta disponibilidade, importante manter a sincronia tambm da hora do sistema.
Executar nos dois ns:
# modprobe cn
# modprobe drbd
Configurando o DRBD e inserir o seguinte parmetro ( logo abaixo do comando ):
# vim /etc/drbd.d/global_common.conf
global {
usage-count no;
# vim /etc/drbd.d/r0.res
2 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
#!/bin/bash
resource r0
{
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";
pri-lost "echo primary DRBD lost | mail -s DRBD Alert adm@gmail.com adm@gmail.com";
}
startup
{
degr-wfc-timeout 60;
}
disk
{
on-io-error
detach;
}
net
{
sndbuf-size 512k;
timeout
60;
connect-int
12;
ping-int
12;
ping-timeout
9;
max-buffers
20480;
cram-hmac-alg "sha1";
shared-secret "ff3421bc";
after-sb-0pri discard-older-primary;
after-sb-1pri violently-as0p;
after-sb-2pri disconnect;
rr-conflict disconnect;
}
syncer
{
rate 100M;
al-extents 257;
}
on hachi
{
device
/dev/drbd0;
disk
/dev/sda7;
address
192.168.254.14:7793;
meta-disk internal;
}
on narnia
device
disk
address
meta-disk
}
{
/dev/drbd0;
/dev/sda7;
192.168.254.15:7793;
internal;
3 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
# drbdadm create-md r0
# modprobe drbd
# drbdadm up r0
Sincronizando pela primeira vez ( executar somente no primeiro n ):
$ cat /proc/drbd
Aps a sincronia, o log dever ter a seguinte sada:
4 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
srcversion: EE47D8BF18AC166BE219757
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r----
# /etc/init.d/drbd start
Formatando o dispositivos criados nos passos anteriores (somente no primeiro n):
# mkfs.ext4 /dev/drbd0
# mkdir /dados
$ df-h
Verifique se o diretrio "/dados" foi montado.
REALIZANDO TESTES
Crie um arquivo no diretrio onde foi montado o DRBD, por exemplo:
# cd /dados
# touch teste
Desmonte o dispositivo:
# cd /
# umount /dados
Torne o n primrio em secundrio:
5 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
# cp /usr/share/doc/heartbeat/authkeys /etc/ha.d/authkeys
# zcat /usr/share/doc/heartbeat/ha.cf.gz > /etc/ha.d/ha.cf
# zcat /usr/share/doc/heartbeat/haresources.gz > /etc/ha.d/haresources
logfile
/var/log/ha-log
logfacility local0
keepalive 2
deadtime 10
warntime 5
initdead 20
udpport
bcast
694
eth0
auto_failback no
ping
192.168.254.254
node
node1
node
node2
auth 1
6 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
1 md5 digite_sua-senha
# vim /etc/ha.d/ha.cf
node node1
node node2
# QUAL A INTERFACE QUE SER USADA PARA COMUNICAO
bcast
eth0
# ARQUIVOS DE LOGS
debugfile /var/log/ha-debug
logfile /var/log/ha-log
# FREQUNCIA EM SEGUNDOS DA VERIFICAO DOS SERVIDORES
keepalive 2
# TEMPO MNIMO PARA DECLARAR A OUTRA MQUINA DESATIVADA
deadtime 30
# QUANTO TEMPO O HEARTBEAT DEVE ESPERAR POR BITS ATRASADOS
warntime 10
# TEMPO MXIMO PARA DECLARAR O OUTRO SERVIDOR COMO MORTO
initdead 90
# VELOCIDADE DA SERIAL BPS CASO ESTEJA USANDO CABO SERIAL
7 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
baud 19200
# PORTA QUE SERA USADA
udpport 694
# DETERMINANDO SE O SERVIO DEVE VOLTAR PARA O MASTER, CASO ELE VOLTE A
RESPONDER
auto_failback off
# COMPACTAO DOS DADOS
compression
bz2
Edite tambm o arquivo 'haresources', ele ser responsvel por quais recursos estaro no cluster bem como qual
ser o n primrio.
No arquivo adiante monitorar Apache e o DRBD.
# vim /etc/fstab
8 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
# /etc/init.d/heartbeat start
Em seguida, confira se a interface virtual foi iniciada no n primrio:
# ifconfig
Deve aparecer algo como mostra a figura:
(http://img.vivaolinux.com.br
/imagens/artigos/comunidade/1324387591.1.png)
Se a interface virtual aparecer, sinal que correu tudo bem. Agora vamos testar nosso ambiente. Ainda no n 1,
vamos parar o Heartbeat:
# /etc/init.d/heartbear stop
Neste momento dever ocorrer a migrao dos dados para o n 2. Conforme imagem:
(http://img.vivaolinux.com.br
/imagens/artigos/comunidade/1324387705.2.png)
Agora que o n 2 o n primrio, iremos simular um reboot na mesma e acompanhar o processo de migrao
novamente.
# watch cat/proc/drbd
9 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
Enquanto a mquina estiver no processo de reincio, o estado do outro n que assume ser de 'Primary/Unknow',
visto que o mesmo perder a conexo com o n em reboot.
Portanto, assim que a mquina que estava no reboot voltar ao seu estado normal, o status do n que assumiu os
recursos mudar para 'Primary/Secondary' e a mquina que estava em reboot, ficar como 'Secondary/Primary'.
NOTAS DE ERRO
Caso acontea dos recursos no serem migrados durante o reincio do Heartbeat, checar se os servios foram
iniciados.
Caso o Apache2 esteja parado e ao iniciar receber a seguinte mensagem:
Starting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name,
using 192.168.254.15 for ServerName
ServerName Ipdoservidor
# tail if /var/log/messages
# modprobe drbd
10 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
# drbdadm secondary r0
# drbdadm primary r0
# drbdadm disconnect r0
# rbdadm connect r0
# /etc/init.d/heartbeat restart
J no n secundrio entre com os comandos:
# modprobe drbd
# drbdadm -- --discard-my-data connect r0
# /etc/init.d/heartbeat restart
Como o n primrio apresentou erros, ao executar os comandos acima, o Heartbeat criar o IP de servio e ir
mudar para o servidor secundrio que a partir de agora passa a ser primrio. Para conferir se os recursos foram
migrados verifique ser a interface virtual foi criada digitando:
# ifconfig
a sada deve ser algo semelhante a imagem:
(http://img.vivaolinux.com.br
/imagens/artigos/comunidade/1324387882.3.png)
# cat /proc/drbd
Conforme mostra a imagem:
# modprobe drbd
# drbdadm attach r0
# drbdadm syncer r0
11 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
# drbdadm connect r0
# drbdadm disconnect r0
# drbdadm -- --discard-my-data connect r0
# drbdadm get-gi r0
Verifique a sada dos logs em ambos os ns, dever ser algo semelhante a:
# cat /proc/drbd
Conforme mostra a figura:
# /etc/init.d/heartbeat restart
Verifique se o IP virtual foi iniciado conforme mostra imagem:
(http://img.vivaolinux.com.br
/imagens/artigos/comunidade/1324388521.6.png)
# ifconfig
REFERNCIAS
http://gnulinuxbr.com/ (http://gnulinuxbr.com/)
http://www.drbd.org/ (http://www.drbd.org/)
12 de 13
03-12-2015 10:24
http://www.vivaolinux.com.br/artigos/impressora...
http://www.drbd.org/docs/about/ (http://www.drbd.org/docs/about/)
http://www.douglas.wiki.br/doku.php (http://www.douglas.wiki.br/doku.php)
AGRADECIMENTOS
Agradeo ao Evandro Couto, Douglas Quintiliano, Roosevelt e ao Victor Sartori, pela grande ajuda para criar este
material.
Voltar (verArtigo.php?codigo=13214)
13 de 13
03-12-2015 10:24