Pular para o conteúdo

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.
cristofe coelho lopes da rocha cristofe
Hits: 38.485 Categoria: Linux Subcategoria: Segurança
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Parte 3: 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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.
   1. Introdução
   2. Compreendendo seu funcionamento
   3. Configurando o grupo

Festa com SQL injection

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

Varredura bruta com NMAP

Backups com TAR e DUMP

Fingerprint: Conhecimento TCP

Attik Firewall

Tutorial de Instalação do ClamAV - Anti-vírus open Source

Instalação do Snort + BASE no Debian Etch pelos fontes

Instalando o antivírus BitDefender no Linux

Backup de sua instalação em .iso bootável

#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

Entre na sua conta para comentar.