On 22 Aug 2011, at 15:31, Raphael Mazelier wrote:

> Le 22/08/2011 01:17, Thomas Mangin a écrit :
> 
>> Les options de failover cote client sont toutes berk !
> 
> Certes, certes mais parfois il n'est pas possible de faire autrement.

Nous sommes d'accord :(

>> Donc a mon avis : utiliser un /32 pour le service annonce grace a un IGP/BGP 
>> entre l'hote et le routeur est la meilleure solution.
>> pub: j'utilise exabpg a cette fin et supporte un programme externe de 
>> "watchdog" du service afin de retirer l'IP si le service est en panne.
>> 
> 
> On est d'accord que c'est une solution a priori plus propre. Mais j'ai plein 
> d'exemples où ce n'est pas possible :
> 
> - séparation système/réseaux (pas les même équipes)
> - pas d'IGP sur le réseau (on ne rigole pas)

Oui

> - les vip doivent être dans le même subnet

Non .. J'ai un /24 pour les IP des machines et j'utilise des /32 pour dans un 
autre subnet pour les IP de services.

Les IP de services sont monte sur le loopback de la machine
Et on evite que la machines repondent au requetes ARP (pour ne pas avoir deux 
machines repondant a la meme requete 

# sysctl -p
net.ipv4.ip_forward = 1
net.ipv4.conf.all.arp_filter = 1
net.ipv4.conf.all.arp_ignore = 1
net.ipv4.conf.eth0.arp_ignore = 1
net.ipv4.conf.all.arp_announce = 2
net.ipv4.conf.eth0.arp_announce = 2

lo:service-namea Link encap:Local Loopback  
          inet addr:82.219.4.xxx  Mask:255.255.255.255
          UP LOOPBACK RUNNING  MTU:16436  Metric:1

Si on n'a qu'une seule machine on peut monter l'IP sur ethX directement - plus 
simple :D

> A propos d'exabgp tu as exemple de conf basique de watchdog applicatif ?
> Ou même seulement est ce qu'exabgp est capable de faire du tracking ip ?

Je vais peut-etre faire un lightning talk sur exabpg a l'EPF - l'occasion de 
voir ce que les gens voudrait avoir comme amelioration.
Avec 1.3.3 - Si tu peux ecrire un petit script, tu peux faire ce que tu veux :)

debian: http://packages.debian.org/hu/sid/exabgp
ubuntu: https://code.launchpad.net/~brightbox/+recipe/exabgp-1.3.3
code: http://code.google.com/p/exabgp/source/checkout

> J'utilise pour le moment ifstated sous openbsd pour ce genre de truc, mais 
> c'est moyen propre.

Ca marche :D

J'ai du code qui lit les message NETLINK du kernel sous Linux - pour la 
prochaine version, je peux surement l'améliorer/modifier pour tracker les 
changement d'état des interfaces et ajouter ca dans les outils annexes ..
Mais tu peux intégrer ifstated avec exabpg comme un des test a effectuer.

Thomas

---------------------------
Liste de diffusion du FRnOG
http://www.frnog.org/

Répondre à