Cluster de alta disponibilidade para servidores web com Debian 7.1 + Corosync + Pacemaker + DRBD

Tutorial completo sobre Cluster de Alta Disponibilidade (HA) Debian Wheezy 7.1 + Corosync + Pacemaker + DRBD.

[ Hits: 58.702 ]

Por: Danilo Menzanoti Fugi em 09/03/2015 | Blog: http://www.drmusical.vai.la


Introdução



Os Servidores Web são componentes essenciais em uma rede, onde disponibilizam uma infinidade de serviços, no entanto, são dispositivos eletrônicos e estão sujeitos a falhas, tanto físicas quanto lógicas.

Os responsáveis pelo gerenciamento dos servidores utilizam uma gama de recursos para aumentar e garantir a disponibilidade de acesso aos serviços disponibilizados, como Nobreaks, conexões de rede redundantes, entre outras soluções, mas uma falha pode causar enormes prejuízos e perda da credibilidade de qualquer setor.

Os fabricantes dos equipamentos dedicam uma atenção especial no desenvolvimento de componentes com proteção e que possuam o mínimo de pontos críticos de falhas. Desta forma, é comum encontrarmos em servidores Web conexões redundantes, que se alternam em caso de falhas de conexão, sistemas que registram em dois ou mais discos o mesmo arquivo e fontes de energia que se alternam entre falhas elétricas.

A arquitetura da rede de computadores possui premissas de configuração para reduzir os pontos críticos de falhas, componentes específicos como Nobreaks e geradores à combustível, que visam garantir energia elétrica suficiente para manter operante os Servidores Web e componentes de rede necessários.

Dominar as técnicas de tolerância de falhas torna-se essencial aos desenvolvedores e projetistas para disponibilizar um serviço de qualidade e que possa se recuperar de forma eficiente. O custo-benefício é outro ponto importante que deve ser levado em consideração, pois o investimento em tecnologia de prevenção de falhas é muito bem visto e possui um mercado mundial em crescimento, onde alguns serviços de larga escala estão hospedados em mainframes de alto custo, mas garantem alta disponibilidade.

O conceito de Alta Disponibilidade não se restringe apenas à arquitetura da rede, mas sim a todo e qualquer tipo de falha de disponibilidade como parte física, servidores, discos e rede. Visando garantir Alta Disponibilidade a serviços críticos, surgem sistemas alternativos com hardware acessível, chamado de Cluster, que é um agregado de computadores interligados em rede que possui alta escalabilidade e custo mínimo.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Arquitetura do Cluster de Alta Disponibilidade
   3. Os Softwares Corosync, Pacemaker e Distributed Replicated Block Device (DRBD)
   4. Implementação
   5. Configurações
   6. Configuração do DRBD
   7. Conclusão
Outros artigos deste autor

MikroTik RouterOS 5.20 para provedores - Tutorial completo

Montagem de Cluster Beowulf

Configurando servidores DHCP, BIND, Squid, Sarg, Samba e algumas regras IPtables

Leitura recomendada

Super Desktop com Ubuntu Linux 9.10

Criando facilmente um servidor APACHE2 + PHP5 (ou PHP4) + SNMP + MRTG

Instalação do modem Netodragon no Conectiva 10

Virtualização - Montando uma rede virtual para testes e estudos de serviços e servidores

Instalação e configuração do Apache2 com SSL e MOD_JK no Solaris

  
Comentários
[1] Comentário enviado por fabio em 09/03/2015 - 10:16h

Excelente artigo, meus parabéns pelo trabalho!

[2] Comentário enviado por thyagobrasileiro em 10/03/2015 - 18:07h


Favoritado!

Irei tentar recriar no CentOS

[3] Comentário enviado por danilofugi em 10/03/2015 - 19:06h


[1] Comentário enviado por fabio em 09/03/2015 - 10:16h

Excelente artigo, meus parabéns pelo trabalho!


Obrigado!
ajudando a comunidade!

[4] Comentário enviado por danilofugi em 10/03/2015 - 19:07h


[2] Comentário enviado por thyagobrasileiro em 10/03/2015 - 18:07h


Favoritado!

Irei tentar recriar no CentOS


Obrigado, depois posta ai os resultados!

[5] Comentário enviado por rodrigo.kiyoshi em 10/03/2015 - 21:33h

Olá,
Vale ressaltar que, para este cenário, o uso de 3 interfaces de rede é o recomendável, em virtude do ip virtual.
O fato de não estar utilizando o recurso stonith, em caso de split brain (drbd), a intervenção manual se faz necessária.
Do mais, o artigo tá show de bola!

[6] Comentário enviado por danilofugi em 10/03/2015 - 21:49h


[5] Comentário enviado por rodrigo.kiyoshi em 10/03/2015 - 21:33h

Olá,
Vale ressaltar que, para este cenário, o uso de 3 interfaces de rede é o recomendável, em virtude do ip virtual.
O fato de não estar utilizando o recurso stonith, em caso de split brain (drbd), a intervenção manual se faz necessária.
Do mais, o artigo tá show de bola!


Vlw, pelos comentários e considerações!

[7] Comentário enviado por hevilavio em 12/03/2015 - 09:48h

Ótimo Artigo, parabéns!

[8] Comentário enviado por danilofugi em 12/03/2015 - 12:42h


[7] Comentário enviado por hevilavio em 12/03/2015 - 09:48h

Ótimo Artigo, parabéns!


Obrigado Helvilavio!

[9] Comentário enviado por felippem em 21/05/2015 - 15:32h

Olá amigo, estou tentando montar um cluster como esse so que eu queria utilizar o DRBD e o HeartBeat
Será que é possivel me ajudar?

[10] Comentário enviado por danilofugi em 21/05/2015 - 15:44h


[9] Comentário enviado por felippem em 21/05/2015 - 15:32h

Olá amigo, estou tentando montar um cluster como esse so que eu queria utilizar o DRBD e o HeartBeat
Será que é possivel me ajudar?


Olá felippem, com certeza que dá certo sim, tem um tutorial aqui no forum mesmo, vou te passar

http://www.vivaolinux.com.br/artigo/Alta-disponibilidade-com-Debian-Lenny-+-Heartbeat-+-DRBD8-+-OCFS...

único empasse é que deve utilizar o debian Lenny (5.X)

abraços

[11] Comentário enviado por Adonist em 24/03/2016 - 07:57h

Danilo,

Muito bom o seu tutorial. Porem replicando isso nao funcionou para mim na parte do DRBD.
Nao sei se eh por serem versoes diferentes mas na minha configuracao do r0.res eu tive que fazer o seguinte:

resource r0 {
on no01 {
device /dev/drbd0;
disk /dev/hdb1;
address 192.168.0.1:7793;
meta-disk internal;
}

on no02 {
device /dev/drbd0;
disk /dev/hdb1;
address 192.168.0.2:7793;
meta-disk internal;
}

Sendo que apos a opcao 'on' eh o nome da maquina e no resource eh o nome do arquivo que vc criou (r0.res).
Tambem precisei mudar os IP's pois estava conflitando ter as duas configuracoes no mesmo IP.

Valeu

[12] Comentário enviado por danilofugi em 26/03/2016 - 14:28h


[11] Comentário enviado por Adonist em 24/03/2016 - 07:57h

Danilo,

Muito bom o seu tutorial. Porem replicando isso nao funcionou para mim na parte do DRBD.
Nao sei se eh por serem versoes diferentes mas na minha configuracao do r0.res eu tive que fazer o seguinte:

resource r0 {
on no01 {
device /dev/drbd0;
disk /dev/hdb1;
address 192.168.0.1:7793;
meta-disk internal;
}

on no02 {
device /dev/drbd0;
disk /dev/hdb1;
address 192.168.0.2:7793;
meta-disk internal;
}

Sendo que apos a opcao 'on' eh o nome da maquina e no resource eh o nome do arquivo que vc criou (r0.res).
Tambem precisei mudar os IP's pois estava conflitando ter as duas configuracoes no mesmo IP.

Valeu


Agradeço pelo comentário, acabei esquecendo de editar o arquivo...
Caso se interesse, tente usar o software LCMC, faz toda a configuração de DRBD e Cluster pela interface Visual
vlw
abraços

[13] Comentário enviado por dalvasb em 05/09/2016 - 11:44h

Danilo,
você já montou dispositivos drbd com o pacemaker?
Eu consigo montar um, por exemplo, o drbd0, mas não consigo montar dois, não estou sabendo se preciso configurar de novo o resource drbd, ou apenas o resource de montar.

Dalva

[14] Comentário enviado por danilofugi em 05/09/2016 - 13:01h


[13] Comentário enviado por dalvasb em 05/09/2016 - 11:44h

Danilo,
você já montou dispositivos drbd com o pacemaker?
Eu consigo montar um, por exemplo, o drbd0, mas não consigo montar dois, não estou sabendo se preciso configurar de novo o resource drbd, ou apenas o resource de montar.

Dalva


Oi Dalva
Já montei sim e funcionam muito bem como a descrição acima, imagino o que deve estar acontecendo.
Tente o seguinte: esqueça a configuração do DRBD acima, monte seu cluster apenas instalando os pacotes e baixe um arquivo de configuração que se chama LCMC (executável em windows ou baixar um para linux) abra em outro terminal também conectado a rede
O LCMC irá buscar seus nós do cluster e você pode configurar os serviços de Apache DRBD Mysql do Cluster com simples cliques, acaba sendo mais fácil.
Poderá te auxiliar dando uma busca de video, Configuração LCMC DRBD, assim o Software LCMC fará todas as alterações listadas acima e funcionará perfeitamente

[15] Comentário enviado por llJllNllRll em 15/03/2018 - 18:24h

Durante a configuração do crm, sempre que eu o digitava no meu Debian 9.4, era emitida uma mensagem dizendo: "crm: comando não encontrado".

Só consegui resolver esse problema com a instalação do pacote: "#apt-get install crmsh"

Após, tudo prosseguiu sem problemas.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts