Você está na página 1de 9

09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.

Cluster de Alta Disponibilidade com Heartbeat e DRBD no Linux CentOS 6

ltima atualizao em 19/03/2013 por Rafael Fernando Diorio. .

Introduo

Para acom panhar e ste docum e nto voc vai pre cisar dos se guinte s ite ns:

- Pacote s de instalao do He artbe at e do DR BD;


- Hosts Linux C e ntO S 6;
- Hosts MS W indows (XP ou 7, por e x e m plo).

Ve rificae s iniciais

Ante s de prosse guir com a configurao de nosso cluste r de alta disponibilidade no Linux C e ntO S, no que se
re fe re ao am bie nte de re de adotado, nosso cluste r se r re pre se ntado pe lo e nde re o IP 172.17.0.200/16 (FQ DN
"cluste r.diorio.corp.br") e com posto pe los ns 172.17.0.1/16 (FQ DN "se rv001.diorio.corp.br") e 172.17.0.2/16
(FQ DN "se rv002.diorio.corp.br")... A figura abaix o re pre se nta m e u am bie nte de im plantao:

O O bje tivo de sse ce nrio m ax im izar a disponibilidade da re de atrav s das solue s He artbe at e DR BD
(Distribute d R e plicate d Block De vice ). De m odo ge ral, o pape l do He artbe at ne sse ce nrio atribuir um e nde re o
com um a todos os ns do cluste r (ne sse caso, 172.17.0.200/16) e garantir que os se rvios de re de ne le
de finidos e ste jam disponve is caso um dos ns do cluste r falhe . Q uanto ao DR BD (Distribute d R e plicate d Block
De vice ), se u pape l im ple m e ntar um dispositivo de arm aze nam e nto distribudo e ntre todos os ns do cluste r,
com o um siste m a R AID (R e dundant Array of Inde pe nde nt Disk s) no nve l de re de , garantindo a re dundncia e
inte gridade do siste m a de arquivos utilizado pe lo cluste r.

Para finalizar nossa bre ve introduo, e ste docum e nto conte m pla ape nas a instalao de um cluste r de alta
disponibilidade Linux e no os conce itos te ricos a re spe ito de ste s... C ontudo e x tre m am e nte im portante que
voc conhe a tais conce itos, os quais pode m se r obtidos e m nossa lite ratura ou e m site s Inte rne t dive rsos (vide
re fe r ncias).

C onfigurando o He artbe at

1 - Instalao de pacotes

A teno: Os procedimentos abaixo devem ser realizados em TODOS os ns do cluster.

Iniciando a configurao do cluste r, de ve m os adicionar o re positrio "e pe l" junto aos de m ais re positrios do
siste m a para a instalao do He artbe at via "yum "... De ssa form a, utilize o se guinte com ando para adicionar
e sse novo re positrio no siste m a:

rpm -Uvh http://dl.fe doraproje ct.org/pub/e pe l/6/i386/e pe l-re le ase -6-8.noarch.rpm

Obs.: Acesse o endereo http://fedoraproject.org/wiki/EPEL para verificar uma eventual nova verso do epel para o
CentOS ou se h alteraes da URL para download do mesmo.

Em se guida, utilize o com ando abaix o para baix ar e instalar (ou atualizar) os pacote s He artbe at (e suas
e ve ntuais de pe nd ncias) no siste m a:

yum install he artbe at

2 - A justando arquivos de configurao

A teno: Os procedimentos abaixo devem ser realizados em TODOS os ns do cluster.

Para prosse guir com a configurao do cluste r se r ne ce ssrio copiar alguns arquivos de m ode lo de configurao
do He artbe at para se u re spe ctivo dire trio de configurao ("/e tc/ha.d")... Se ndo assim :

cp /usr/share /doc/heartbeat-3.0.4/authk e ys /e tc/ha.d/


cp /usr/share /doc/heartbeat-3.0.4/ha.cf /e tc/ha.d/
www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 1/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.
cp /usr/share /doc/heartbeat-3.0.4/ha.cf /e tc/ha.d/
cp /usr/share /doc/heartbeat-3.0.4/hare source s /e tc/ha.d/

Obs.: Se aplicvel, altere o diretrio em negrito acima de acordo com a verso do Heartbeat instalado em seu sistema.

Em se guida, ace sse o dire trio "/e tc/ha.d", e dite e re alize as se guinte s alte rae s no arquivo "authk e ys":

auth 2
2 sha1 p@ssw0rd

Obs.: Substitua "p@ssw0rd" pela chave de autenticao que ir utilizar em seu cluster.

Na se qu ncia, alte re a pe rm isso do arquivo acim a para "600":

chm od 600 /e tc/ha.d/authk e ys

Em se guida, e dite e re alize as se guinte s alte rae s no arquivo "ha.cf":

logfile /var/log/he artbe at


logfacility local0
k e e palive 2
de adtim e 30
initde ad 120
udpport 694
bcast e th0
auto_failback on
node se rv001.diorio.corp.br
node se rv002.diorio.corp.br

Obs. 1: Substitua "serv001.diorio.corp.br" e "serv002.diorio.corp.br" pelo FQDN dos ns que faro parte de seu cluster...
Se aplicvel, acrescente neste arquivo os demais ns de seu cluster.

Obs. 2: Caso no possua um DNS instalado e configurado em sua LAN, acrescente o hostname e o respectivo endereo
dos ns de seu cluster no arquivo "/etc/hosts" de TODOS os ns do cluster. Ex:

127.0.0.1 localhost.localdom ain localhost


172.17.0.1 serv001.diorio.corp.br serv001
172.17.0.2 serv002.diorio.corp.br serv002

Obs. 3: Se desejar, para facilitar o processo de configurao dos demais ns do cluster, voc pode copiar todo o contedo
do diretrio "/etc/ha.d" do n j configurado para os demais ns... Como exemplo, a partir do primeiro n do cluster (n
j configurado acima), poderamos utilizar o seguinte comando para copiar sua configurao para o segundo n
(serv002.diorio.corp.br) do cluster:

scp -r /e tc/ha.d/ root@se rv002.diorio.corp.br:/e tc

scp /e tc/hosts root@se rv002.diorio.corp.br:/e tc

Obs.: Substitua "serv002.diorio.corp.br" pelo endereo IP (ou FQDN) do outro n de seu cluster; Execute no(s) n(s)
destino (no exemplo acima, "serv002.diorio.corp.br") o comando "chmod 600 /etc/ha.d/authkeys"; Se aplicvel, repita
esse procedimento para os demais ns de seu cluster.

De ssa form a, o proce sso de configurao dos de m ais ns do cluste r se ria bastante sim plificado, re sum indo-se ,
at e sse ponto, a configurao do prim e iro n do cluste r e de sua "re plicao" (arquivos de configurao) aos
de m ais ns do cluste r.

C onfigurando o DR BD

1 - Verificaes iniciais

C onform e de scrito ante riorm e nte , o pape l do DR BD (Distribute d R e plicate d Block De vice ) im ple m e ntar um
dispositivo de arm aze nam e nto distribudo e ntre todos os ns do cluste r, com o um siste m a R AID (R e dundant
Array of Inde pe nde nt Disk s) no nve l de re de , garantindo a re dundncia e inte gridade do siste m a de arquivos
utilizado pe lo cluste r...

Para viabilizar e ssa im plantao, cada n de m e u cluste r possui um se gundo disco (sdb) de dicado ao cluste r.
Ne sse disco, h um a nica partio (sdb1), a qual um a partio prim ria e utiliza todo o e spao disponve l no
disco. Essa partio no possui ne nhum siste m a de arquivos configurado (no foi form atada) e no e st

m ontada e m ne nhum ponto de m ontage m no siste m a. Se de se jar, voc pode alte rar e sse disco/partio por
outro disco/partio de se u siste m a.

Aps a configurao do DR BD, um "volum e " (drbd0) se r associado a e ssa partio e re plicado e ntre os ns do
cluste r. Som e nte um n do cluste r (n prim rio) pode utilizar e sse "volum e " por ve z. A tare fa de m ontar e sse
"volum e " (viabilizar sua utilizao) no siste m a se r do He artbe at.

2 - Instalao de pacotes

A teno: Os procedimentos abaixo devem ser realizados em TODOS os ns do cluster.

De acordo com inform ae s do site oficial do DR BD (de scritas e m http://www.drbd.org/download/m ainline ), para
distribuie s Linux com ve rse s de Ke rne l infe riore s a 2.6.33 (com o o C e ntO S, por e x e m plo), al m do DR BD
propriam e nte dito, ne ce ssrio baix ar e instalar um m dulo de k e rne l que viabilize a utilizao do DR BD no
siste m a.

Pe lo fato de sse m dulo se r instalado de acordo com a ve rso do k e rne l do siste m a, re com e ndado a
atualizao do k e rne l para sua ve rso m ais re ce nte ... Ne sse caso, ante s de baix ar e instalar o DR BD e se u
re spe ctivo m dulo de k e rne l no siste m a, utilize o se guinte com ando para atualiz-lo no siste m a:

yum update k e rne l

No m e u caso, a ve rso de k e rne l atualizada foi a "2.6.32-279.14.1.el6.i686" (utilize "unam e -r" para ve rificar a
ve rso de se u k e rne l)... C om base e m tal inform ao, ace sse o e nde re o http://dl.atrpm s.ne t/e l6.0-
www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 2/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.
i386/atrpm s/stable / e baix e os pacote s "drbd" (ve rso m ais re ce nte , no m e u caso "drbd-8.4.1-
32.el6.i686.rpm") e "drbd-k m dl" (ve rso com patve l com a ve rso de se u k e rne l, no m e u caso "drbd-kmdl-
2.6.32-279.14.1.el6-8.4.1-32.el6.i686.rpm") no siste m a... C om o e x e m plo, os se guinte s com andos pode m se r
utilizados para baix ar tais pacote s no siste m a:

wge t http://dl.atrpm s.ne t/e l6.0-i386/atrpm s/stable /drbd-k m dl-2.6.32-279.14.1.e l6-8.4.1-


32.e l6.i686.rpm
wge t http://dl.atrpm s.ne t/e l6.0-i386/atrpm s/stable /drbd-8.4.1-32.e l6.i686.rpm

Aps baix ar tais pacote s, instale -os no siste m a utilizando o com ando "rpm "... Para os pacote s acim a, os
se guinte s com andos se riam ne ce ssrios para instal-los no siste m a:

rpm -ivh drbd-k m dl-2.6.32-279.14.1.e l6-8.4.1-32.e l6.i686.rpm


rpm -ivh drbd-8.4.1-32.e l6.i686.rpm

Em se guida, crie o dire trio "/var/lib/drbd" e re inicie o siste m a para que e le se ja inicializado com o k e rne l
atualizado ante riorm e nte , be m com o com o m dulo de k e rne l do DR BD j carre gado e m tal k e rne l...

m k dir /var/lib/drbd
re boot

Aps instalado e com se u m dulo de k e rne l carre gado no siste m a, o DR BD j pode se r configurado no
siste m a...

3 - Criao da partio utilizada pelo "volume" DRBD

A teno: Os procedimentos abaixo devem ser realizados em TODOS os ns do cluster.

C onform e de scrito ante riorm e nte , cada n de m e u cluste r possui um se gundo disco (sdb) de dicado ao cluste r.
Ne sse disco, h um a nica partio (sdb1), a qual um a partio prim ria e utiliza todo o e spao disponve l no
disco. Essa partio no possui ne nhum siste m a de arquivos configurado (no foi form atada) e no e st
m ontada e m ne nhum ponto de m ontage m no siste m a. Se de se jar, voc pode alte rar e sse disco/partio por
outro disco/partio de se u siste m a.

Ne sse conte x to, te ndo com o base a e x ist ncia de um se gundo disco ("/de v/sdb") cone ctado e m todos os ns de
se u cluste r, os se guinte s com andos pode m se r utilizados para criar um a nova partio e m tal disco:

fdisk /dev/sdb
C om m and (m for he lp): n
C om m and action
e e x te nde d
p prim ary partition (1-4)
p
Partition num be r (1-4): 1
First cylinde r (1-2610, de fault 1): <ENTER>
Last cylinde r, +cylinde rs or +size {K,M,G} (1-2610, de fault 2610): <ENTER>
C om m and (m for he lp): w

C om o disco "ok ", o DR BD j pode se r configurado.

4 - A justando arquivos de configurao e inicializao

A teno: Os procedimentos abaixo devem ser realizados em TODOS os ns do cluster.


Ante s de iniciar a configurao do DR BD, por m e didas de pre cauo e se gurana, faa um a cpia (back up) de
se u arquivo de configurao original, tal que se algo de e rrado ocorre r, possam os "voltar" nossa cpia de
se gurana no siste m a...

cp /e tc/drbd.conf /e tc/drbd.conf.bk p

Em se guida, e dite o arquivo acim a ("/e tc/drbd.conf") e de ix e -o com o se guinte conte do:

# You can find an e x am ple in /usr/share /doc/drbd.../drbd.conf.e x am ple

#include "drbd.d/global_com m on.conf";


#include "drbd.d/*.re s";

global { usage -count ye s; }

re source re plica_sdb {
protocol C ;
startup { wfc-tim e out 0; outdate d-wfc-tim e out 60; de gr-wfc-tim e out 120; }
disk { on-io-e rror de tach; }
ne t { cram -hm ac-alg "sha1"; share d-se cre t "p@ssw0rd"; }
synce r { rate 10M; }
on se rv001.diorio.corp.br {
de vice /de v/drbd0;
disk /de v/sdb1;
addre ss 172.17.0.1:7788;
m e ta-disk inte rnal;
}
on se rv002.diorio.corp.br {
de vice /de v/drbd0;
disk /de v/sdb1;
addre ss 172.17.0.2:7788;
m e ta-disk inte rnal;
}
}

Obs. 1: Altere "replica_sdb" pelo nome que deseja atribuir ao recurso de sincronizao DRBD. Altere "p@ssw0rd" pela
chave compartilhada que ser utilizada pela sincronizao DRBD entre os ns do cluster. Altere "serv001.diorio.corp.br" e
"serv002.diorio.corp.br" pelo FQDN dos ns de seu cluster. Altere os endereos 172.17.0.1 e 172.17.0.2 pelo endereo IP
www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 3/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.
"serv002.diorio.corp.br" pelo FQDN dos ns de seu cluster. Altere os endereos 172.17.0.1 e 172.17.0.2 pelo endereo IP
de tais ns de seu cluster. Altere "/dev/sdb1" pela partio que ser sincronizada entre os ns de seu cluster.

Obs. 2: Se desejar, para facilitar o processo de configurao dos demais ns do cluster, voc pode copiar o arquivo acima
("/etc/drbd.conf") do n j configurado para os demais ns... Como exemplo, a partir do primeiro n do cluster (n j
configurado acima), poderamos utilizar o seguinte comando para copiar sua configurao para o segundo n
(serv002.diorio.corp.br) do cluster:

scp /e tc/drbd.conf root@se rv002.diorio.corp.br:/e tc/

Obs.: Substitua "serv002.diorio.corp.br" pelo endereo IP (ou FQDN) do outro n de seu cluster; Se aplicvel, repita esse
procedimento para os demais ns de seu cluster.

Em se guida, utilize o com ando abaix o para criar o m e tadados ("de vice m e tadata") do re curso DR BD:

drbdadm cre ate -m d re plica_sdb

Obs.: Se aplicvel, altere "replica_sdb" (acima) pelo nome de se recurso de sincronizao DRBD.

Na se qu ncia, inicialize o DR BD no siste m a... O bse rve que um n "aguarda" (por 120 se gundos) a inicializao
do outro n na re de ...

se rvice drbd start

Obs.: O comando acima (para inicializao do DRBD) foi executado de modo praticamente simultneo em TODOS os ns
do cluster.

Aps configurar e iniciar o DR BD e m am bos os ns do cluste r, pode -se utilizar o com ando abaix o para ve rificar o
"status" do DR BD e ntre tais ns...

cat /proc/drbd

Se tudo ocorre u be m , am bos os ns e staro cone ctados e o status dos discos e ntre os ns se r "Incosiste nt"
(e sse "status" norm al ne sse m om e nto)... O bse rve que am bos os ns DR BD so tidos com o "Se condary" ne sse
m om e nto...

ve rsion: 8.4.1 (api:1/proto:86-100)


GIT-hash: 91b4c048c1a0e 06777b5f65d312b38d47abae a80 build by gardne r@, 2012-05-24 20:38:09
0: cs:Connected ro:Secondary/Secondary ds:Inconsistent/Inconsistent C r-----
ns:0 nr:0 dw:0 dr:0 al:0 bm :0 lo:0 pe :0 ua:0 ap:0 e p:1 wo:b oos:20964116

Ao final, utilize os com andos abaix o (tam b m e m todos os ns do cluste r) para de finir a inicializao autom tica
do DR BD no siste m a:

chk config --add drbd


chk config drbd on

Obs.: Uma outra opo para se definir quais servios sero (ou no) iniciados automaticamente durante o processo de
boot do servidor atravs do "front-end" exibido a partir do comando "ntsysv".

5 - Executando a sincronizao inicial ("initial full synchronization") do "volume" DRBD

A teno: Os procedimentos abaixo devem ser realizados somente no n principal do cluster (no meu caso,
"serv001.diorio.corp.br").

Utilize o com ando abaix o para iniciar a sincronizao inicial do "volum e " DR BD ("initial full synchronization")
e ntre os ns do cluste r. Parte -se do ponto que o n prim rio do cluste r (no m e u caso, "se rv001.diorio.corp.br")
se r o "source " inicial de tal re curso...

drbdadm prim ary --force re plica_sdb

Obs.: Se aplicvel, altere "replica_sdb" (acima) pelo nome de se recurso de sincronizao DRBD.

Voc pode acom panhar o proce sso de sincronizao inicial do DR BD a partir do arquivo "/proc/drbd" ("cat
/proc/drbd")... O bse rve que o n atual, tido, ne sse m om e nto, com o n prim rio DR BD...

ve rsion: 8.4.1 (api:1/proto:86-100)


GIT-hash: 91b4c048c1a0e 06777b5f65d312b38d47abae a80 build by gardne r@, 2012-05-24 20:38:09
0: cs:SyncSource ro:Primary/Secondary ds:UpToDate/Inconsistent C r-----
ns:229208 nr:0 dw:0 dr:233120 al:0 bm :13 lo:0 pe :1 ua:4 ap:0 e p:1 wo:b oos:20735764
[>....................] sync'ed: 1.2% (20248/20472)M
finish: 0:07:33 speed: 45,668 (45,668) K/sec

O bse rve os "status" e o pe rce ntual de sincronizao DR BD (acim a, e m ne grito)... Aps a concluso do proce sso
de sincronizao, o "volum e " DR BD tido com o "UpToDate " (e m ne grito, abaix o)...

ve rsion: 8.4.1 (api:1/proto:86-100)


GIT-hash: 91b4c048c1a0e 06777b5f65d312b38d47abae a80 build by gardne r@, 2012-05-24 20:38:09
0: cs:Connected ro:Primary/Secondary ds:UpToDate/UpToDate C r-----
ns:20964116 nr:0 dw:0 dr:20964788 al:0 bm :1280 lo:0 pe :0 ua:0 ap:0 e p:1 wo:b oos:0

Aps sincronizado, o "volum e " DR BD pre cisa se r form atado para, poste riorm e nte , se r utilizado pe los ns do
cluste r... Para form at-lo utilizando o siste m a de arquivos "Ex t3", o se guinte com ando pode se r utilizado:

m k fs -t e x t3 /de v/drbd0

Aps form atado, o "volum e " DR BD j e st pronto para utilizao, ne ce ssitando ape nas se r m ontado no
siste m a... Vale re ssaltar que som e nte um n (n prim rio DR BD) pode utilizar o volum e por ve z...

6 - Testando o acesso ao "volume" DRBD

www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 4/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.
C onform e de scrito ante riorm e nte , som e nte um n pode utilizar o "volum e " DR BD por ve z... Esse n o n
prim rio DR BD (no m e u caso, n "se rv001.diorio.corp.br")... Esse status de n prim rio pode se r obse rvado, por
e x e m plo, a partir do arquivo "/proc/drbd", conform e e x ibido no tpico ante rior...

Ne sse conte x to, no n "se rv001.diorio.corp.br" (n prim rio DR BD), para te star o "volum e " DR BD, basta m ont-
lo no siste m a... Ex .:

m k dir /dados
m ount /de v/drbd0 /dados

Obs.: Substitua "/dados" pelo diretrio que deseja montar o "volume" DRBD no sistema.

Aps m ontado, pode -se criar um ou m ais arquivos no "volum e " DR BD... Ex .:

touch /dados/arq1.tx t; m k dir /dados/pasta1; cp /var/log/m e ssage s /dados

Obs.: Substitua "/dados" pelo diretrio que deseja montar o "volume" DRBD no sistema.

A gravao dos arquivos de ve ocorre r de m odo natural no volum e DR BD...

Prosse guindo com nosso te ste , vam os m ontar e sse "volum e " no se gundo n de nosso cluste r (no m e u caso,
"se rv002.diorio.corp.br") e ce rtificar-se que todos os arquivos criados no atual n prim rio (no m e u caso,
"se rv001.diorio.corp.br")... Para tal, de ve m os de sm ontar e sse "volum e " no n prim rio e torn-lo n se cundrio
DR BD...

um ount /dados
drbdadm se condary re plica_sdb

Obs.: Se aplicvel, altere "replica_sdb" (acima) pelo nome de se recurso de sincronizao DRBD e "/dados" pelo diretrio
montado no "volume" DRBD.

Em se guida, no se gundo n do cluste r (no m e u caso, "se rv002.diorio.corp.br"), te m os que torn-lo n prim rio
DR BD, m ontar o "volum e " DR BD e ce rtificar que todos os arquivos criados no prim e iro n do cluste r (no m e u
caso, "se rv001.diorio.corp.br") e sto pre se nte s e m tal volum e ...

m k dir /dados
drbdadm prim ary re plica_sdb
m ount /de v/drbd0 /dados
ls /dados

Obs.: Se aplicvel, altere "replica_sdb" (acima) pelo nome de se recurso de sincronizao DRBD e "/dados" pelo diretrio
que deseja montar o "volume" DRBD no sistema.

Se tudo ocorre r be m , o "volum e " DR BD se r m ontado corre tam e nte no se gundo n do cluste r e todos os
arquivos criados no prim e iro n e staro pre se nte s e m tal volum e ... Isso ate sta que o DR BD e st funcionando
corre tam e nte e j pode se r inte grado ao He artbe at...

O bse rve que , m anualm e nte , o proce sso para utilizao do re curso DR BD consiste e m de finir que m se r o n
prim rio DR BD e na m ontage m do "volum e " DR BD e m tal n... Som e nte um n pode se r o n prim rio DR BD e
som e nte e sse n pode utilizar o "volum e " DR BD... Para tornar um n com o prim rio ou se cundrio DR BD pode -
se utilizar o com ando "drbdadm prim ary/se condary re curso_drbd" (conform e e x e m plos acim a).

Ao final, de sm onte o "volum e " DR BD e m utilizao pe lo se gundo n do cluste r (no m e u caso,


"se rv002.diorio.corp.br") e de fina-o com o se gundo n se cundrio DR BD e volte a utilizar o "volum e " DR BD no n
prim rio do cluste r (no m e u caso, "se rv001.diorio.corp.br")...

# No se gundo n do cluste r (no m e u caso, "se rv002.diorio.corp.br")


um ount /dados
drbdadm se condary re plica_sdb

# No prim e iro n do cluste r (no m e u caso, "se rv001.diorio.corp.br")


drbdadm prim ary re plica_sdb
m ount /de v/drbd0 /dados

Obs.: Se aplicvel, altere "replica_sdb" (acima) pelo nome de se recurso de sincronizao DRBD e "/dados" pelo diretrio
utilizado na montagem do "volume" DRBD.

7 - Resolues de problemas

Durante o proce sso de te ste s com o DR BD, de sligue i um de m e us hosts (n prim rio DR BD, no m e u caso
"se rv001.diorio.corp.br") e , aps algum te m po, am bos os ns ficaram com o "status StandAlone "...

# No prim e iro n do cluste r (no m e u caso, "se rv001.diorio.corp.br")


[root@se rv001 ~]# cat /proc/drbd
ve rsion: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e 06777b5f65d312b38d47abae a80 build by gardne r@, 2012-05-24 20:38:09
0: cs:StandA lone ro:Primary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:0 dw:20 dr:2103 al:1 bm :0 lo:0 pe :0 ua:0 ap:0 e p:1 wo:b oos:4

# No se gundo n do cluste r (no m e u caso, "se rv002.diorio.corp.br")


[root@se rv002 ~]# cat /proc/drbd
ve rsion: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e 06777b5f65d312b38d47abae a80 build by gardne r@, 2012-05-24 20:38:09
0: cs:StandA lone ro:Secondary/Unknown ds:UpToDate/DUnknown r-----
ns:0 nr:0 dw:60 dr:705 al:3 bm :0 lo:0 pe :0 ua:0 ap:0 e p:1 wo:b oos:48

O "volum e " DR BD podia se r m ontado e m am bos os ns (conform e e x e m plos ante riore s), por m os arquivos
criados e m um n no e ram visve is ao outro n (o DR BD no e stava sincronizando os dire trios)...

Para voltar a e stabe le ce r a cone x o DR BD e ntre am bos os ns do cluste r, os se guinte s com andos foram
utilizados:

# No prim e iro n do cluste r (no m e u caso, "se rv001.diorio.corp.br")


www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 5/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.
# No prim e iro n do cluste r (no m e u caso, "se rv001.diorio.corp.br")
[root@se rv001 ~]# drbdadm connect all
[root@se rv001 ~]# cat /proc/drbd
ve rsion: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e 06777b5f65d312b38d47abae a80 build by gardne r@, 2012-05-24 20:38:09
0: cs:WFConnection ro:Prim ary/Unk nown ds:UpToDate /DUnk nown C r-----
ns:0 nr:0 dw:20 dr:2103 al:1 bm :0 lo:0 pe :0 ua:0 ap:0 e p:1 wo:b oos:4

# No se gundo n do cluste r (no m e u caso, "se rv002.diorio.corp.br")


[root@se rv002 ~]# drbdadm -- --discard-my-data connect all
[root@se rv002 ~]# cat /proc/drbd
ve rsion: 8.4.1 (api:1/proto:86-100)
GIT-hash: 91b4c048c1a0e 06777b5f65d312b38d47abae a80 build by gardne r@, 2012-05-24 20:38:09
0: cs:Connected ro:Se condary/Prim ary ds:UpToDate /UpToDate C r-----
ns:0 nr:48 dw:108 dr:705 al:3 bm :2 lo:0 pe :0 ua:0 ap:0 e p:1 wo:b oos:0

Vale re ssaltar que os com andos "drbdadm conne ct all" e "drbdadm -- --discard-m y-data conne ct all" foram
e x e cutados de m odo praticam e nte sim ultne o e m am bos os ns DR DB... Se ne ce ssrio, re pita-os at o
e stabe le cim e nto da cone x o...
Aps e sse proce dim e nto, a sincronizao DR DB voltou a ocorre r norm alm e nte e ntre os ns do cluste r.

Inte grando o DR BD ao He artbe at e validando a configurao do cluste r

1 - Integrando o DRBD ao Heartbeat

A teno: Os procedimentos abaixo devem ser realizados em TODOS os ns do cluster.

Ace sse o dire trio "/e tc/ha.d", e dite o arquivo "hare source s" e adicione a se guinte linha de configurao ao final
de se u conte do:

se rv001.diorio.corp.br 172.17.0.200 drbddisk ::re plica_sdb File syste m ::/de v/drbd0::/dados::e x t3

Obs.: Substitua "serv001.diorio.corp.br" pelo FQDN do n primrio de seu cluster e "172.17.0.200" pelo endereo que
deseja atribuir a seu cluster. Se aplicvel, altere "replica_sdb" pelo nome de se recurso de sincronizao DRBD, "/dados"
pelo diretrio que deseja montar o "volume" DRBD no sistema e "ext3" pelo tipo de sistema de arquivos do "volume"
DRBD.

Em se guida, re pita e sse proce dim e nto nos de m ais ns do cluste r...

Se aplicve l, para facilitar o proce sso de configurao do cluste r, voc pode copiar o arquivo acim a
("hare source s") para os de m ais ns do cluste r... Ex .: C pia para o n "se rv002.diorio.corp.br":

scp /e tc/ha.d/hare source s root@se rv002.diorio.corp.br:/e tc/ha.d

Obs.: Substitua "serv002.diorio.corp.br" pelo endereo IP (ou FQDN) do outro n de seu cluster; Se aplicvel, repita esse
procedimento para os demais ns de seu cluster.

Na se qu ncia, utilize o com ando abaix o para inicializar o He artbe at no siste m a:

se rvice he artbe at start

Obs.: Substitua a opo "start" do comando "service" (acima) por "stop" para parar o servio em questo, por "restart"
para reiniciar tal servio, por "reload" para refletir uma alterao realizada nos arquivos de configurao do Heartbeat sem
a necessidade de reinici-lo ou por "status" para verificar se ele est ou no em execuo.

Em se guida, utilize os com andos abaix o para de finir a inicializao autom tica do He artbe at no siste m a:

chk config --add he artbe at


chk config he artbe at on

Obs.: Uma outra opo para se definir quais servios sero (ou no) iniciados automaticamente durante o processo de
boot do servidor atravs do "front-end" exibido a partir do comando "ntsysv".

2 - Validando as configuraes do cluster

Para validar as configurae s do cluste r, pare o He rtbe at no n prim rio do cluste r (no meu caso,
"se rv001.diorio.corp.br"... Ex .:

[root@se rv001 ~]# service heartbeat stop


Stopping High-Availability se rvice s: Done .

Se tudo ocorre r be m , o "volum e " DR BD se r autom aticam e nte m ontado (e m que ste s de se gundos) no
se gundo n do cluste r (no m e u caso, "se rv002.diorio.corp.br"... Ex .:

[root@se rv002 ~]# mount


/de v/sda3 on / type e x t4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
de vpts on /de v/pts type de vpts (rw,gid=5,m ode =620)
tm pfs on /de v/shm type tm pfs (rw)
/de v/sda1 on /boot type e x t4 (rw)
none on /proc/sys/fs/binfm t_m isc type binfm t_m isc (rw)
/dev/drbd0 on /dados type ext3 (rw)

Ao ativar o He artbe at no n prim rio do cluste r, o "volum e " DR BD de sm ontado do n se cundrio e


autom aticam e nte m ontado (e m que ste s de se gundos) no n prim rio... Ex .:

[root@se rv001 ha.d]# service heartbeat start


Starting High-Availability se rvice s: IPaddr[6265]: INFO : R e source is stoppe d
Done .

[root@se rv001 ~]# mount


www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 6/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.
[root@se rv001 ~]# mount
/de v/sda3 on / type e x t4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
de vpts on /de v/pts type de vpts (rw,gid=5,m ode =620)
tm pfs on /de v/shm type tm pfs (rw)

/de v/sda1 on /boot type e x t4 (rw)


none on /proc/sys/fs/binfm t_m isc type binfm t_m isc (rw)
/dev/drbd0 on /dados type ext3 (rw)

Em re sum o, quando o n prim rio do cluste r falhar (no m e u caso, "se rv001.diorio.corp.br"), o "volum e " DR BD
autom aticam e nte m ontado (e m que ste s de se gundos) no se gundo n do cluste r (no m e u caso,
"se rv002.diorio.corp.br"), garantindo a alta disponibilidade de tal re curso... Q uando o n prim rio volta a
funcionar, o "volum e " DR BD volta a se r m ontado e m tal n.

Alta disponibilidade para o se rvidor we b Apache

A teno: Este artigo apenas demonstra como inicializar o servidor web A pache no cluster Heartbeat e integr-
lo ao "volume" DRBD. Para detalhes de configurao do servidor web A pache, vide artigo "Servidores
Web/Intranet com A pache no Linux CentOS 6".

1 - Integrando o A pache ao Heartbeat (com DRBD)

A teno: Os procedimentos abaixo devem ser realizados em TODOS os ns do cluster.

Ace sse o dire trio "/e tc/ha.d", e dite o arquivo "hare source s" e adicione a se guinte e ntrada de configurao (e m
ne grito) na linha de configurao de m ontage m do "volum e " DR BD...

se rv001.diorio.corp.br 172.17.0.200 drbddisk ::re plica_sdb File syste m ::/de v/drbd0::/dados::e x t3 httpd

Em se guida, e dite o arquivo de configurao do se rvidor we b Apache ("/e tc/httpd/conf/httpd.conf") e alte re as


e ntradas "/var/www/htm l" para "/dados/portal", tal que todos os arquivos we b do se rvidor we b Apache se jam
arm aze nados/lidos a partir de sse dire trio ("/dados/portal")... Ex .:

:
# DocumentRoot "/var/www/html"
DocumentRoot "/dados/portal"
:
# <Dire ctory "/var/www/htm l">
<Directory "/dados/portal">
:

Em se guida, re pita e sse proce dim e nto nos de m ais ns do cluste r...

Se aplicve l, para facilitar o proce sso de configurao do cluste r, voc pode copiar os arquivos acim a
("hare source s" e "httpd.conf") para os de m ais ns do cluste r... Ex .: C pia para o n "se rv002.diorio.corp.br":

scp /e tc/ha.d/hare source s root@se rv002.diorio.corp.br:/e tc/ha.d

scp /e tc/httpd/conf/httpd.conf root@se rv002.diorio.corp.br:/e tc/httpd/conf/

Obs.: Substitua "serv002.diorio.corp.br" pelo endereo IP (ou FQDN) do outro n de seu cluster; Se aplicvel, repita esse
procedimento para os demais ns de seu cluster.

Na se qu ncia, no n que possui o "volum e " DR BD m ontado (no m e u caso, n "se rv001.diorio.corp.br"), crie o
dire trio "portal"...

[root@se rv001 ~]# mount


/de v/sda3 on / type e x t4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
de vpts on /de v/pts type de vpts (rw,gid=5,m ode =620)
tm pfs on /de v/shm type tm pfs (rw)
/de v/sda1 on /boot type e x t4 (rw)
none on /proc/sys/fs/binfm t_m isc type binfm t_m isc (rw)
/dev/drbd0 on /dados type ext3 (rw)

[root@se rv001 ~]# mkdir /dados/portal

Em se guida, utilize o com ando abaix o para validar as alte rae s re alizadas junto ao He artbe at no siste m a:

se rvice he artbe at re start

Para validar o ace sso ao se rvidor we b Apache , ainda no n que possui o "volum e " DR BD m ontado (no m e u caso,
n "se rv001.diorio.corp.br"), crie um a pgina we b qualque r e m "/dados/portal"...

C om o e x e m plo, partindo do ponto que se u se rvidor we b Apache possui suporte a PHP, a se guinte pgina
pode ria se r criada (com o nom e "inde x .php") e m "/dados/portal" para e fe itos de te ste s ao cluste r:

<?php
$cm d = "/bin/hostnam e ";
$saida = she ll_e x e c($cm d);
e cho "<pre >";
e cho "<hr><p align=ce nte r>";
e cho "Portal cluste r.diorio.corp.br";
e cho " | Pagina arm aze nada e m $saida";
e cho "</p><hr>";
e cho "</pre >";
?>

Obs.: Caso seu servidor web Apache no possua suporte ao PHP, crie uma pgina qualquer de nome "index.html", por
exemplo.

www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 7/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.

Em se guida, a partir de um clie nte da LAN, utilizando um browse r qualque r, ace sse a UR L "http://SEU_C LUSTER ",
e m que "SEU_C LUSTER " re pre se nta o FQ DN (ou e nde re o IP) de se u cluste r (no m e u caso "cluste r.diorio.corp.br"
ou "172.17.0.200")...

Obs.: Vale ressaltar que no necessrio inicializar o Apache no sistema, bem como definir o endereo do cluster no
mesmo... Isso realizado automaticamente pelo Heartbeat.

Se tudo ocorre r be m , a pgina we b arm aze nada no "volum e " DR BD se r e x ibida ao clie nte e m que sto...

Obs.: Caso no possua um DNS configurado em sua LAN, altere "cluster.diorio.corp.br" pelo endereo IP atribudo ao
cluster (no meu caso, 172.17.0.200).

C aso o n prim rio do cluste r de ix e de funcionar, a re quisio HTTP autom aticam e nte ate ndida pe lo se gundo
n do cluste r e a pgina we b continua se ndo e x ibida ao clie nte ...

www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 8/9
09/12/13 .: Rafael Fernando Diorio | Personal Page | Linux :.

Em re sum o, quando o n prim rio do cluste r falhar (no m e u caso, "se rv001.diorio.corp.br"), o "volum e " DR BD
autom aticam e nte m ontado (e m que ste s de se gundos) no se gundo n do cluste r (no m e u caso,
"se rv002.diorio.corp.br") e o Apache autom aticam e nte iniciado e m tal n, garantindo a alta disponibilidade de
tais re cursos... Q uando o n prim rio volta a funcionar, o "volum e " DR BD volta a se r m ontado no n prim rio e
as re quisie s we b voltam a se r ate ndidas por tal n.

R e fe r ncias

1 - C e ntO S Proje ct e m http://www.ce ntos.org/;

2 - He artbe at Proje ct e m http://www.linux -ha.org/;

3 - DR BD Proje ct e m http://www.drbd.org/;

4 - He artbe at Docum e ntation e m http://www.linux -ha.org/doc/use rs-guide /use rs-guide .htm l;

5 - DR BD Docum e ntation e m http://www.drbd.org/docs/about/;

6 - Livro R e de s de C om putadore s e a Inte rne t Um a abordage m top-down, dos autore s Jam e s F. Kurose e
Ke ith W . R oss.

Apontar e rros ou suge rir m e lhorias


De ix ar um com e ntrio
Im prim ir docum e nto
Indicar conte do

Ke ywords: cluste r linux ce ntos, install cluste r linux ce ntos, drbd ce ntos, cluste r loadbalance ce ntos, cluste r he artbe at ce ntos, he artbe at
apache sam ba dhcp linux ce ntos, cluste r ha linux ce ntos, m anage linux windows, rhe l, sl, ce ntos 6.

www.diorio.com.br/docs/linux_centos/6/install_heartbeat_drbd_centos.php 9/9

Você também pode gostar