Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2497 connectés 

  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Infrastructures serveurs

  Besoin de conseils pour une architecture haute disponibilité web

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Besoin de conseils pour une architecture haute disponibilité web

n°132047
solidxcite​r
Posté le 28-06-2015 à 12:37:29  profilanswer
 

Bonjour à tous,
 
Je suis actuellement entrain de travailler dans mon entreprise à une architecture de haute disponibilité et mutualisée permettant l'accès à plusieurs sites web (moodle). Connaissant pas mal le forum, je sais que certains sont assez bons sur pas mal de sujets et j'aimerais bien avoir des retours sur mon travail ou des retours d'expériences sur ce genre d'installations ! :)
 
Voici à ce dont je suis arrivée pour le moment (cliquer sur l'image) :
http://img11.hostingpics.net/thumbs/mini_967993ArchitectueHA.png
 
Les explications complémentaires
 
La tête de ligne
En tête de ligne se trouve un cluster HAproxy contrôlé par du Failover HeartBeat et m'autorisant à créer une interface virtuelle à la fois côté WAN et également côté LAN. Pour le moment donc, seulement le HaProxy1 est en fonctionnement et s'il est emmené à avoir des problèmes, la bascule vers le HAproxy2 aurait lieu. A priori, il faut compter 20 000 connections possibles par giga de ram et un processeur pas spécialement puissant. Je pense donc prendre des "petites" machines.
 
J'utilise l'algorithme par défaut pour la répartition de charge sur les workers, c'est à dire le RoundRobin. Ce choix me plait bien parce que c'est hyper flexible pour la suite, je peux retirer ou ajouter un worker à ma convenance selon le nombres de connectés et en toute transparence !
 
Les Workers
Ce sont des serveurs debian 7, apache mpm workers et php-fpm. Ils sont configurés pour monter un partage NFS exposé par les serveurs de données (sur leur adresse virtuelle) dans leurs /var/www/.
Les sites webs sont configurés pour aller se connecter aux bases de données.
 
Etant donné ma flexibilité, je vais favorisé plutôt un ensemble de petites machines moins puissantes qu'un nombre moins importants mais plus puissantes.
 
Les serveurs de données
Ce sont également des debian 7 et ils sont contrôlés par du Failover HeartBeat m'autorisant à créer une interface virtuelle côté LAN. Une réplication des données est réalisée par le réseau (sur une interface dédiée) sur leurs seconds disques dur par DRBD. Le point de vigilance sera la vitesse des disques mais en soit pas besoin d'avoir des machines bien puissantes.
 
Les serveurs BDD
Pour le moment dans mon architecture de test, je n'ai qu'un serveur et je n'ai pas encore regardé comment gérer cet aspect. Ce sera certainement les machines les plus puissantes de l'architecture mais je dois encore estimer les besoins.
 
En terme de disponibilité, je pense que ça commence à devenir intéressant. J'ai normalement du failOver un peu de partout malgré que je n'ai pas du LoadBalancing de partout (seulement au niveau des workers).
J'entends bien que ça compliquerait assez les choses d'avoir du actif/actif partout ^^
 
J'ai déjà une bonne partie de l'architecture (haproxy + workers + serveurs de données) en virtuelle sur mon PC et ça semble fonctionner.
 
Voilà, qu'en pensez-vous ? Avez-vous des remarques ou des choses sur lesquelles je me serais loupé ?
 
Merci beaucoup par avance pour toute l'aide que vous m'apporterez !
Bon week-end !


Message édité par solidxciter le 28-06-2015 à 12:42:12
mood
Publicité
Posté le 28-06-2015 à 12:37:29  profilanswer
 

n°132057
matteu
Posté le 29-06-2015 à 08:04:58  profilanswer
 

Bonjour,
 
Alors pour ma part je suis pas archi mais je me permets de t'informer sur un point qui me parait bizarre :
 
Le round robin c'est pas de la "bonne" répartition de charge.
Le principe est que si une personne se connecte elle est dirigé vers un serveur et la seconde vers l'autre la 3ème vers le premier etc... Bref, ca alterne à chaque fois ce qui ne permet pas de garantir une bonne répartition de charge nécessairement...
 
Peut être que ce point la peut être optimisé.
 
Ensuite, au niveau HA je vois que tout est doublé, l'applicatif avec les 2 serveurs web + le stockage à l'aide de drbd donc de ce côté la ca me parait pas mal.


---------------
Mon Feedback---Mes ventes
n°132082
solidxcite​r
Posté le 29-06-2015 à 14:23:22  profilanswer
 

Bonjour Matteu,
 
Merci pour commencer de ta réponse.
 
Je vois bien ce que tu veux dire par le RoundRobin est de la "mauvaise" répartition de charge mais pas avec HaProxy justement ;) La ça va même plus loin vu que c'est la même session HTTP/PHP qui bascule à chaque changement de page d'un serveur à l'autre. HaProxy gère les sessions et leurs répartitions du coup mes 4 workers sont bien chargés de la même façon quand plusieurs utilisateurs se connectent. De plus, comme j'ai pu le dire, cela apporte une grande flexibilité : Un worker tombe, pas de soucis, l'utilisateur y voit que du feu, ces pages sont chargés ailleurs dès son prochain changement de page et si un nombre important d'utilisateurs est connecté, j'ajoute un worker et dès les prochains chargements de pages, il sera exploité ;)
 
Je pensais, au contraire, que c'est le point de mon architecture à ne pas toucher. J'ai plutôt d'autres pistes en tête pour le reste comme par exemple mes serveurs de fichiers.
 
Aurais-tu déjà mis en place du LVM over DRBD ? Pour le moment, sur mes serveurs de données, j'ai répliqué que le deuxième disque dur avec DRBD qu'ensuite j'ai formaté puis j'ai créé mes partages NFS dessus. Ca me plait moyen dans le fond parce que je ne profite pas de LVM pour faire augmenter ma volumétrie dans le futur et surtout de ses snapshots !
 
Déjà dans le principe, j'ai peur d'avoir mal compris :
- J'ai un disque dur disponible pour chacun de mes serveurs
- Je créé mon périphérique DRBD répliqué  
- Je déclare ce périphérique comme PV
- Je l'ajoute à mon VG puis je le découpe en LV
- Puis formatage et partage NFS
 
Dans un second temps :
- Je configure Heartbeat pour balancer les VGs puis derrière monter les partages NFS ?
 
Est-ce que c'est la bonne procédure ? Puis ensuite, si j'ai besoin de faire évoluer la volumétrie, je prend un second disque et j'ajoute une ressource DRBD, puis nouveau PV... ?
 
Merci en tout cas du coup de main qui est très apprécié :)
Bonne journée !

n°132083
matteu
Posté le 29-06-2015 à 16:11:24  profilanswer
 

ok j'ai rien dis pour le round robin dans ce cas la si couplé au HAProxy ca change la donne !
 
Au niveau du stockage, tu as de la redondance également, en quoi ce serait un mauvais point ?
 
et non je suis désolé je suis bien plus axé windows que linux, j'ai mis en place du LVM tout court mais pas over DRBD bien que je suis pas persuadé que ca change grand chose puisque le but étant justement de créer des pools de stockages pour ne pas être liée au matériel physique.
 
En effet, vu comme ca pas de LVM... A voir si c'est supporté par DRBD et a mettre en place je pense oui pour une évolution future.
 
je ne sais pas quand il faut utiliserr DRBD mais j'aurai plutot pensé à la fin pour ma part en disant tel LV se dupplique a tel endroit etc...
Mais je certifie rien, je connais pas ! donc a ne pas prendre au pied de la lettre surtout.


---------------
Mon Feedback---Mes ventes

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Systèmes & Réseaux Pro
  Infrastructures serveurs

  Besoin de conseils pour une architecture haute disponibilité web

 

Sujets relatifs
Monitorer la disponibilité d'un serveur avec MRTGHaute Disponibilité pour BDD
Architecture vmware replication temps réélArchitecture DNS et Active Directory
haute disponibilite et hyper-v 3[tiers-monde] Client-leger materiel et architecture ?
aide choix architecture réseau, serveur pour une pmeArchitecture Exchange 2013 (Tolérance de panne et Haute disponibilité)
Plus de sujets relatifs à : Besoin de conseils pour une architecture haute disponibilité web


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR