Alta disponibilidade com CARP

Veremos como aplicar alta disponibilidade em serviços utilizando o protocolo CARP. Este conhecimento contribuirá para a implementação de um cluster de firewall ou outros. O interesse não é propor soluções definitivas e sim criar alternativas de utilização deste protocolo de forma dinâmica. Para teste foi utilizado o S.O. FreeBSD 7.2 RELEASE com a customização necessária citada ao longo do artigo.

[ Hits: 36.603 ]

Por: cristofe coelho lopes da rocha em 01/02/2010


Configurando o grupo



Cada grupo CARP é representado por uma interface virtual (pseudo-device). E pode ser configurado com auxílio do comando ifconfig(8). O requisito principal para o funcionamento da disponibilidade é manter as interfaces físicas no mesmo seguimento de rede.

Grupo CARP 1:

Para efeito de teste adotaremos le0 como sendo a interface física.

Servidor master:

# ifconfig le0 192.168.90.2/24 (interface física rede 192.168.90.0/24)
# ifconfig carp1 create (cria o grupo carp1)
# ifconfig carp1 vhid 1 pass senha_do_grupo advskew 1 192.168.90.1 255.255.255.0

Servidor backup:

# ifconfig le0 192.168.90.3/24 (interface física rede 192.168.90.0/24)
# ifconfig carp1 create (cria o grupo carp2)
# ifconfig carp1 vhid 1 pass senha_do_grupo advskew 2 192.168.90.1 255.255.255.0

Grupo CARP 2:

Para efeito de teste adotaremos le0 como sendo a interface física.

Servidor master:

# ifconfig le0 192.168.90.3/24 (interface física rede 192.168.90.0/24)
# ifconfig carp2 create (cria o grupo carp2)
# ifconfig carp2 vhid 2 pass senha_do_grupo2 advskew 1 192.168.90.1 255.255.255.0

Servidor backup:

# ifconfig le0 192.168.90.2/24 (interface física rede 192.168.90.0/24)
# ifconfig carp2 create (cria o grupo carp2)
# ifconfig carp2 vhid 2 pass senha_do_grupo2 advskew 2 192.168.90.1 255.255.255.0

Obs.: Desta forma teremos dois master e backups no mesmo seguimento fazendo load balance. Contudo poderemos ter um segundo ou terceiro grupo atuando em outro seguimento de rede utilizando o recursos de alias. Para fazer load balance observe que os dois grupos compartilham o mesmo ip estando no mesmo seguimento de rede.

Balanceamento possui suas limitações. Devem ser feitas no mesmo seguimento de rede não atravessando o router.

Descrição das funções:
  • vhid - Virtual host ID utilizado para identificar o grupo.
  • Passwd - Senha atribuída ao grupo.
  • advskew - Se 1 indica host master, acima indicará o nível de prioridade do host. Caso 2 será o 1 host a assumir caso o master decline, se 3 será o segundo e assim em diante.

Desta forma basta então realizar o teste para verificar se está funcionando. Pingue o ip compartilhado 192.168.90.1 e retire o cabo de rede de uma das duas máquinas e verá que mesmo assim o ping não será descontinuado. É fato que não queremos apenas estabilizar o ping e sim o serviço. Portanto cabe a sua criatividade dar funcionalidade ao CARP. Como sugestão servidor web que compartilham a mesma aplicação e mesmo banco podem funcionar com o sistema. Todavia ao configurar apenas um grupo o servidor de backup só atuará caso o master decline caso sejam configurados dois grupos como citado acima. Veremos numa próxima ocasião como fazer balanceamento com DNS utilizando algoritmo round-robin atualizando o estado das conexões, ou seja, sincronizando o estado das conexões. Desta forma implementaremos um CLUSTER.

Bibliografia

  • TRACANELLI, Patrick. Programa FreeBSD S.S.A. Belo Horizontei-MG: FreeBSD Brasil,2009;
  • MICHAEL, Lucas.Dominando BSD : O guia definitivo para FreeBSD. Rio de Janeiro-RJ: Editora moderna Ltda,2003

Página anterior    

Páginas do artigo
   1. Introdução
   2. Compreendendo seu funcionamento
   3. Configurando o grupo
Outros artigos deste autor

Redes definidas por Software com Mininet e POX - Criando meu primeiro Controlador

Um dia depois da inundação

Fingerprint: Conhecimento TCP

Varredura bruta com NMAP

Festa com SQL injection

Leitura recomendada

Terceirização de segurança gera dúvidas em profissionais de TI

Vírus? Checando base de dados de fabricantes proprietários como McAfee e Symantec e aplicando em distribuições Red Hat

Libsafe: Protegendo Linux contra Smashing Overflow

Sudoers 1.8.12 - Parte II - Manual

Segurança em redes wireless

  
Comentários
[1] Comentário enviado por tatototino em 02/02/2010 - 18:49h

Excelente artigo, so uma duvida o CARP e so aplicado no Kernel BSD ou pode ser implantado no Linux e Unix*.
Olhei no meu Centos se existe alguma entrada /proc/sys/net/* referente a CARP e nao encontrei.

Parabens!

[2] Comentário enviado por barrabaz_tux em 03/02/2010 - 04:15h

oxe q esse artigo ta bom d+++
vo monta nos meus freebsd das vm...

parabéns e muito axé!!

[3] Comentário enviado por _simmons_ em 04/02/2010 - 13:29h

Parabéns pelo artigo cristofe!!

O CARP é um protocolo excelente para failover e loadbalance.

tatototino.

Seria o mundo perfeito se o CARP fosse migrado para o Kernel do Linux, mas andei lendo e até agora só existem alguns rascunhos de como fazer isso.

Eu utilizo muito o CARP , só que no OpenBSD.

No Linux existe o uCARP , mas quando eu o utilizei não funcionou como o CARP dos BSD's.

[]'s

André Michi



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts