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

 

Descone3 - Verifique novamente o status, deve estar assim:

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-----

    ns:434176 nr:0 dw:4 dr:434688 al:1 bm:35 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0cte o recurso
  # drbdadm disconnect dados
Descarte os dados do recurso e reconecte novamente(SOMENTE NO SECUNDÁRIO DANIFICADO)
  # drbdadm -- --discard-my-data connect dados
Vá ao node "primario" e conecte o recurso
  # drbdadm connect dados
Pronto, agora o comando
  cat /proc/drbd