Alta disponibilidade de links

Neste artigo venho compartilhar a minha experiência e desespero quando precisei criar um sistema de alta disponibilidade de links em ambiente Linux numa Sexta-feira às 5:30 da tarde. Acredito que muitos já passaram por isso. Obtive sucesso com a minha solução e espero que este artigo ajude muitas pessoas contribuindo ainda mais com a comunidade.

[ Hits: 31.855 ]

Por: Bruno em 16/11/2004


Introdução



Nosso objetivo consiste em construir um ambiente de alta disponibilidade de link e somente de link, para o nosso cliente.

Nós não utilizaremos ferramentas como iproute2 e heartbeat neste documento, pois nosso foco será somente alta disponibilidade de link e não balanceamento de link ou replicação de dados.

    Próxima página

Páginas do artigo
   1. Introdução
   2. Ambiente
   3. Implantação
Outros artigos deste autor

Detectando possíveis trojans e lkms em seu servidor

POP3 gateway com fetchmail

Leitura recomendada

GNU Parallel: criando atividades em paralelo com shell script

Assinatura de documentos PDF em lote via Bash

Aprendendo a melhorar os seus scripts

Monitorando servidores pelo celular

Shell Script como serviço no Windows

  
Comentários
[1] Comentário enviado por fabio em 16/11/2004 - 00:04h

Bruno, muito bom seu artigo, com certeza será útil para muito. Bela sacada! Já foi pra pastinha de favoritos da minha conta aqui no VOL :)

[]'s

[2] Comentário enviado por pop_lamen em 16/11/2004 - 01:25h

Amigo, bem legal,
mas eu acho q faltou um IF aih, se a LP estivesse down, mas o speedy ja configurado, então ele deveria sair:

echo "verifica se existe rota da LP, se existir deleta"
if route -n | grep $LPGW > /dev/null; then
route del default gw $LPGW > /dev/null

fi
#agora vamos checar se o gw ja nao eh speedy
if if route -n | grep $SPEEDY > /dev/null ;then
#se for sai, se não continua
echo "Speedy ja ativado"
exit 0
else
echo "adiciono a rota default da speedy"
route add default gw $SPEEDY > /dev/null
echo "rota adicionada"
$IPTABLES -t nat -D POSTROUTING 1 > /dev/null
$IPTABLES -t nat -A POSTROUTING -i eth2 -j MASQUERADE > /dev/null
echo "regras de firewall adicionadas"

fi
#acionamos um ultimo
fi
done

--------------
Além disso serial legal implementar funções, a asism chama-las com um loop infinito, pausando, podendo assim, checar tudo de tempo em tempo.



[3] Comentário enviado por silvioreis em 16/11/2004 - 03:41h

Bruno,

A proposta é boa, mas a sua implementação precisa melhorar, essas soluções de coisas no cron monitorando de tempos em tempos são horriveis.

Estou trabalhando no mesmo problema e não vejo como fugir do iproute2 + "alguma coisa".

O problema link dedicado com ip fixo e link adsl com ip dinamico parece não ser muito facil de resolver de maneira simples, ou seja, sem precisar aplicar patches de kernel.

Pq vc desistiu do iproute2 ?

[4] Comentário enviado por naoexistemais em 16/11/2004 - 05:28h

Bruno,

Esse artigo posso considerar o melhor que já vi aqui no VOL, parabens.......

Falou,

[5] Comentário enviado por y2h4ck em 16/11/2004 - 10:11h

Ae Bruno sup3r hax0r b1g b33r eheheh
Mandou bem no artigo.

Demorou mais saiu aheheheh

[]s brow.

Spawn

[6] Comentário enviado por chroot em 16/11/2004 - 10:18h

Obrigado pela forca galera, deixando claro que a solução esta aberta para criticas e opiniões, pois o objetivo é que juntos, consigamos tornar a solução a melhor possivel, então mãos a obra e ajudem a comunidade ;)

ps : humildade sempre

[7] Comentário enviado por wronieri em 16/11/2004 - 21:06h

Muito bom seu artigo Bruno estou tentando fazer este tipo de esquema mas com heartbeat vc nunca tentou usar este esquema?

Parabéns ;-)

[8] Comentário enviado por removido em 17/11/2004 - 15:48h

Excelente material...
Parabéns!!!!!!!!!!!!

[9] Comentário enviado por uxhsilva em 23/05/2006 - 16:08h

Parabens !!

[10] Comentário enviado por removido em 14/11/2006 - 09:38h

bonding \o/

[11] Comentário enviado por andrelopes.mrx em 26/12/2009 - 16:52h

Eu achei precário, que a inteligência fique num script agendado no cron, pense nisso: mantenha rota para os 2 gateways de saída para a internet, sendo a saída pelo link secundário com uma metrica pior.

Em ambientes BSD, você pode monitorar as interfaces de maneira eficiente com ifstated, mas creio que para o seu cenário nem isso seja necessário.

Espero ter contribuído com alguma idéia.

André Gustavo
blog: http://blog.mrx.com.br
gtalk: andre@mrx.com.br


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts