Você deverá configurar em seu servidor de DNS os hosts do cluster os dois nós se chamarão srvp1 e srvp2 para facilitar o entendimento de todos e o cluster se chamará mail.
Split DNS IP: 10.0.1.100 mail.linuxajuda.org
Nó primário: 10.0.1.101 psrvp1.linuxajuda.org
Nó secundário: 10.0.1.102 srvp2.linuxajuda.org
Em ambos os nós a configuração do /etc/hosts ficará da seguinte forma:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
10.0.1.101 srvp1.linuxajuda.org srvp1
10.0.1.102 srvp2.linuxajuda.org srvp2
10.0.1.100 mail.linuxajuda.org linuxajuda.org
Instalação do DRBD
O
DRBD é um software que permite fazer RAID pela rede, ou seja, podemos replicar dados de partições inteiras pela rede. É um recurso extraordinário para servidores críticos, onde seus dados não podem ser perdidos.
Instale os pacotes
drbd-versaoatual-utils e
kmod-versaoatual-drbd em ambos os nós:
# rpm -Uvh http://www.elrepo.org/elrepo-release-6-6.el6.elrepo.noarch.rpm
# yum install drbd84-utils.x86_64 kmod-drbd84.x86_64
Deixe os arquivos
/etc/drbd.conf e
/etc/drbd.d/global_common.conf por padrão e crie o arquivo
optzimbra no diretório /etc/drbd.d:
resource optzimbra {
startup {
wfc-timeout 0;
degr-wfc-timeout
20;
}
syncer {
rate 10M;
al-extents 257;
}
disk { on-io-error detach; }
on srvp1.linuxajuda.org {
device /dev/drbd0;
disk /dev/sda3;
address 10.0.1.101:7788;
meta-disk internal;
}
on srvp2.linuxajdua.org {
device /dev/drbd0;
disk /dev/sda3;
address 10.0.1.102:7788;
meta-disk internal;
}
}
Remova qualquer referência ao /dev/sda3 no arquivo
/etc/fstab, pois o drbd é que vai se encarregar de montar o filesystem.
Primeiramente iremos zerar os dados da partição em ambos os nós:
# dd if=/dev/zero of=/dev/sda3 bs=1M count=128
Agora iniciaremos o módulo do DRBD:
# modprobe drbd
Uma vez configurado o drbd, vamos criar o metadata no recurso optzimbra.res, em ambos os nós:
# drbdadm create-md optzimbra
Nó srvp1:
# drbdadm create-md optzimbra
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
Nó srvp2:
# drbdadm create-md optzimbra
Writing meta data...
initializing activity log
NOT initialized bitmap
New drbd meta data block successfully created.
Conectando e inicializando o recurso, em ambos os nós:
# drbdadm up optzimbra
Vamos realizar a primeira sincronização entre os nós. Execute apenas no nó primário, que no nosso caso, será o srvp1. Então somente no srvp1, rodar:
# drbdadm -- --overwrite-data-of-peer primary optzimbra
# drbdadm --discard-my-data connect optzimbra
No servidor primário deverá ficar:
# cat /proc/drbd
version: 8.4.6 (api:1/proto:86-101)
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by phil@Build64R6, 2015-04-09 14:35:00 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ns:7304 nr:0 dw:1856548 dr:726541 al:106 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
E no secundário:
version: 8.4.6 (api:1/proto:86-101)
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by phil@Build64R6, 2015-04-09 14:35:000: cs:Connected ro:Secondary/Primary ds:UpToDate/UpToDate C r-----ns:0 nr:365436 dw:365436 dr:0 al:0 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0
Criando agora o sistema de arquivos no servidor primário:
# mkfs.ext4 /dev/drbd0
Agora iremos rebaixar o nó srvp1 para secundário para criar o sistema de arquivos no secundário:
# drbdadm secondary optzimbra
Agora execute no servidor srvp2 o comando abaixo:
# drbdadm primary optzimbra
# mkfs.ext4 /dev/drbd0
Feito isso iremos reverter os servidores novamente colocando o primário como primeiro nó e o secundário como segundo nó.
Em ambos os nós faça o seguinte:
# drbdadm disconnect optzimbra
Agora no nó secundário:
# drbdadm secondary optzimbra
# drbdadm connect --discard-my-data optzimbra
E no nó primário:
# drbdadm connect optzimbra
Agora vamos verificar a sincronização:
# cat /proc/drbd
version: 8.4.6 (api:1/proto:86-101)
GIT-hash: 833d830e0152d1e457fa7856e71e11248ccf3f70 build by phil@Build64R6, 2015-04-09 14:35:00 0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r----- ns:7304 nr:0 dw:1856548 dr:726541 al:106 bm:0 lo:0 pe:0 ua:0 ap:0 ep:1 wo:f oos:0