Bonjour tout le monde,
Dans mon service informatique, on fourni l'accès à Internet à plusieurs sites, un peu comme un FAI : liaisons télécom, proxy, firewall, etc.. On est plusieurs centres informatiques à fournir ce service.
Actuellement, on cherche à mutualiser l’accès à Internet. On se prépare donc à recevoir le flux des autres sites. Du coup, notre pauvre proxy (x86, RHEL4 + Squid + Squidguard) ne suffira plus.
Nous avons donc pensé à ajouter un nouveau proxy avec deux objectifs : équilibrer les charges et assurer une continuité de service. Autrement dit : on veut que le trafic soit partagé entre les deux serveurs en temps normal et que l'un puisse récupérer le trafic de l'autre en cas de défaillance.
En termes de solution, on a pensé à LVS et les projets de haute disponibilité qui y sont liés : Linux-HA, Ultramonkey, Ldirectord, etc.. Idéalement, on voudrait qu’on n’utilise que deux machines. C’est-à-dire les deux proxys ! Eventuellement, on achètera une machine dédiée.
J’ai proposé la solution suivante :
Sur chaque machine : implémenter proxy + LVS + HA. Les deux machines sont proxy mais une seule joue le rôle de load balancer. Le second surveille le premier et si ce dernier tombe en panne au niveau réseau, système ou application, il y a basculement de manière transparente.
Est-ce une solution viable ?
Là où je bloque c’est au niveau de mes maquettes. J’ai du mal à comprendre comment s’agencent les différents composants. Dites-moi si j’ai bien saisi :
Il faut un load balancer : LVS, qui s’administre par Ipvsadm.
La table Ipvsadm est mise à jour par Keepalived en cas de perte ou d’ajout d’un nœud
Le LB devenant un « Single Point Of Failure », c’est là qu’intervient le Failover Service : prendre la place du LB en cas de défaillance du FB principal.
Le FoS surveille :
- L’état du médium avec Heartbeat : peut-on parler aux hôtes ? (le réseau)
- L’état du service avec Mon : les hôtes sont-ils état de fournir le service voulu ?
Fake met à jour les tables ARP lors d’un basculement.
Les éléments à lancer sur le serveur secondaire (services, configuration, réseau) sont gérés par des scripts System V ou Heartbeat.
Me manque-t-il quelque chose ou y-en-t-il trop ?
J’arrive à monter un LB en direct routing mais je n’arrive pas à faire fonctionner le FoS ; notamment monter les VIP correctement, mettre à jour les tables Ipvsadm, gérer le basculement des services. J’ai un problème au niveau conceptuel : qui gère quoi exactement ? Quelle solution choisir ? Un projet « tout compris » comme Ultramonkey ou assembler les éléments un par un ?
Je trouve des sites web qui ont l’air de dire que Heartbeat en actif/actif + Mon suffisent, d’autres qui me font penser qu’il y a des tas de choses qui me manquent.
Merci d’avance.
Poste le Monday 21 August 2006 10:46:16