Alta disponibilidade com SuSE 10 Enterprise Server SP2

Saiba como implementar um cluster de alta disponibilidade do tipo ativo/ativo em ambiente Linux. Tutorial baseado na distribuição SuSE 10 Enterprise Server SP2.

[ Hits: 50.998 ]

Por: Saraiva Digital em 27/03/2009 | Blog: http://altadisponibilidade.awardspace.com/


Objetivo / componentes / ambiente



Objetivo

Criação de um cluster de alta disponibilidade do tipo ativo/ativo em ambiente Linux baseado na distribuição SuSE 10 Enterprise Server SP2. O cluster primário será batizado com o nome de Torrenorte e o secundário Torresul. O servidor Torrenorte será responsável pelo Samba, sendo utilizado como servidor de arquivos e o Torresul pelo Firebird, sendo utilizado como servidor de banco de dados.

Componentes

Vamos entender quais os componentes necessários para funcionar nosso cluster. Precisamos do serviço de heartbeat, que é o serviço responsável para monitorar os dois clusters. Através de uma ou mais interfaces dedicadas de rede, o heartbeat envia um pulso para cada servidor do cluster para checar se está on-line, caso uns dos servidores do cluster não responda a esse pulso, o heartbeat declara que o servidor está parado e inicializa os serviços deste servidor parado no outro servidor que está funcionando.

O heartbeat monitora o cluster e é o próprio responsável em iniciar os serviços como Samba e Firebird.

Outro componente fundamental é o DRBD, ele fica responsável em replicar as informações de um disco para o outro via rede. Por exemplo, temos o disco /storage montado no servidor Torrenorte, enquanto este trabalha o drbd replica os dados no mesmo disco no servidor Torresul, só que neste servidor ele não fica visível. Caso Torrenorte venha a falhar e cair, o heartbeat entra em ação e monta o disco /storage no servidor Torresul, assim mantendo o serviço funcionando.

Um recurso interessante que usaremos em nosso cluster é o Channel Bonding (Rede Vinculada). Através de duas ou mais interfaces de rede temos uma união de canal, assim além de alta disponibilidade de interface, também temos balanceamento de carga. No nosso caso o Bond será usado exclusivamente para o heartbeat e o DRBD. Ele propicia uma segurança a mais em nosso cluster, protegendo-o contra o problema de Split Brain (interface de monitoramento é rompida com o cluster funcionando, ocasionando uma parada crítica no sistema!).

Ambiente

Abaixo temos uma figura como o esquema de nosso cluster.
Linux: Alta Disponibilidade com Suse 10 Enterprise Server SP2
  • 2 servidores usando Linux SuSE 10 Enterprise SP2;
  • 3 placas de rede em cada servidor, eth0, eth1 e eth2. A placa eth0 é usada para a LAN/Rede Local e as placas eth1 e eth2 são ligadas através de cabo cross-over para uso exclusivo da comunicação e replicação do cluster, eth1 do servidor Torrenorte é conectada com o eth1 do servidor Torresul, assim também com o eth2;
  • 3 discos rígidos em cada servidor.

Servidor Torrenorte:
  • Serviços: heartbeat, drbd, mon, smb
  • Rede local: Eth0 = 172.27.0.1 máscara 255.255.0.0
  • Rede cluster: Bond0 = 10.27.1.101 máscara 255.255.255.0
  • IP virtual: 172.27.1.101 máscara 255.255.0.0
  • Disco Drbd: /dev/drbd0
  • Ponto de montagem: /storage

Servidor Torresul:
  • Serviços: heartbeat, drbd, mon, firebird
  • Rede local: Eth0 = 172.27.0.2 máscara 255.255.0.0
  • Rede cluster: Bond0 = 10.27.1.102 máscara 255.255.255.0
  • IP virtual: 172.27.1.102 máscara 255.255.0.0
  • Disco Drbd: /dev/drbd1
  • Ponto de montagem: /database

    Próxima página

Páginas do artigo
   1. Objetivo / componentes / ambiente
   2. Preparação
   3. Configuração
   4. Preparando o ambiente e configurando DRBD
   6. Configurando Heartbeat
   7. Dicas finais
Outros artigos deste autor
Nenhum artigo encontrado.
Leitura recomendada

Atualizando o Gnome no Slackware com Dropline

Apache 2.4 - A diretiva Options

Instalando um servidor LAMP no Linux Ubuntu 7.10

Criação de usuário, grupo e permissão

MikroTik + Squid 2.6 com cache full

  
Comentários
[1] Comentário enviado por demoncyber em 27/03/2009 - 13:31h

Ótimo artigo, já foi adicionado em favoritos =)

Parabéns!!!



[2] Comentário enviado por doomk em 27/03/2009 - 14:57h

Very Good!

Parabéns saraiva, tutorial muito bem explicado.

[3] Comentário enviado por jefers0n em 27/03/2009 - 19:43h

Muito interessante e bem explicado. Parabéns amigo.

Jeferson.

[4] Comentário enviado por junior em 28/03/2009 - 01:29h

Cara, que ARTIGO hein?!

Muito bem explicado e detalhado, só ficaria mais feliz ainda em ver um assim com Debian.
hehe

Abraço, e sucesso!

[5] Comentário enviado por loverbeck em 06/04/2009 - 19:35h

Beleza de Artigo heim Saraiva!
:)

falow cara abraço... ta na hora da pizza heim !!! hehehe

Fabiano

[6] Comentário enviado por rommelprata em 24/04/2009 - 23:01h

Parabens, eu fiz alguns ajustes para rodar em opensuse 11.1 , existem algumas modificacoes ja que o kernel e mais novo o Hearbeat e Drbd estao na versao 8, algumas ordens e formatacoes devem ser ajustadas, sds.
Rommel

[7] Comentário enviado por okudak em 02/06/2009 - 11:00h

Esse artigo funcionaria em um Servidor de Storage iSCSI... digo... 2 target iSCSI em Cluster?

[8] Comentário enviado por saraivadigital em 02/06/2009 - 13:41h

Opa, nunca testei como iSCSI.

[9] Comentário enviado por okudak em 02/06/2009 - 16:10h

Sim... mas a questão seria, como fazer o Heartbeat startar o serviço de target scsi...
Pois pelo entendi ele que starta o smb e o firebird...
Ele pode iniciar qualquer serviço, ou esses são parametros proprios do heartbeat?

[10] Comentário enviado por saraivadigital em 02/06/2009 - 16:56h

Bem o Teste que vc pode fazer é o seguinte la no haresource por ex: smb e firebird que contem na linha do haresource , o heartbeat processas os scripts que estão em /etc/ha.d/resource.d
ou em /etc/init.d
se o script que inicia o iScsi estiver em alguns desse locais e so colocar no nome do script no haresource.
Beleza!

[11] Comentário enviado por aldoarendt em 25/01/2010 - 22:23h

Em Primeiro Lugar quero te parabenizar pelo tuto, muito bem elavorado e explicado, preciso de uma maozinha estou usando o opensuse 11.1 e me da um erro (Starting DRBD resources: /etc/drbd.conf:9: Parse error: 'protocol | on | disk | net | syncer | startup | handlers' expected,
but got 'incon-degr-cmd' (TK 278)), sera que alguem ai poderia me dar uma maozinha

[12] Comentário enviado por rafaelcosta1984 em 17/12/2010 - 14:00h

Olá Saraiva,

Primeiramente gostaria de te parabenizar pelo excelente artigo. todos os passos estão bem documentados e de fácil leitura.

Eu implementei aqui essa solução mas fiquei com uma dúvida. A autenticação dos meus usuários do samba é feita através de uma base ldap. portanto como faço para que essa base de dados seja replicada também para o servidor que estiver com o serviço desabilitado.

Além disso, como faço para manter os arquivos de configuração do samba sincronizado automaticamente ?

obrigado


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor HostGator.
Linux banner
Linux banner
Linux banner

Destaques

Artigos

Dicas

Viva o Android

Tópicos

Top 10 do mês

Scripts