IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau Discussion :

[haute dispo] failover à travers internet


Sujet :

Réseau

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut [haute dispo] failover à travers internet
    Bonjour,

    Dans le cadre d'un projet de stage, je dois mettre en place un failover entre deux serveurs web distants. De préférence, aucune machine tierce ne doit être utilisée.

    Architecture (actif/passif):
    1 serveur web "main" qui tourne tout le temps.
    1 serveur web "backup" qui prends le relais quand "main" tombe.

    Après de multiples recherches, je tombe toujours sur les mêmes architectures avec un serveur load-balancer devant deux serveurs web. Notamment en utilisant HAProxy/Hearbeat ou Pound/Keppalived. Je ne peux pas appliquer ces solutions parce que mes serveurs sont distants et je ne dois pas utiliser de machines tierces.

    Est-il possible d'utiliser le mod_proxy_balancer d'Apache sur mes deux serveurs web pour qu'ils fassent de la haute-dispo entre eux?

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Une solution peut être envisagée.

    Sur mon serveur "main" je met en place HAProxy. HAProxy guette la santé du serveur web qui tourne sur "main". Dans le cas où ce dernier tombe, il redirige les requêtes des clients sur le serveur "bu".
    Sitôt que le serveur web sur "main" est de nouveau up, HAProxy envoie les clients sur "main".

    Il me semble que c'est possible de faire ça avec HAProxy. Mais du coup, si la machine "main" tombe, il n'y a plus personne pour aiguiller les clients.
    On en reviens au problème: comment faire sans machine tierce?

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Est-ce que Hearbeat pourrait faire l'affaire?
    Seul "main" serait actif, envoyant des "battements" à "bu". Sitôt que "main" ne donne plus signe de vue, "bu" prend le relais. Une fois que "main" est rétabli, il reprend son activité à la place de "bu".

    Est-ce possible de faire cela à travers internet? D'habitude, les deux noeuds sont sur le même réseau.

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Est-ce possible de faire cela à travers internet? D'habitude, les deux noeuds sont sur le même réseau.
    Bien sûr que non. La solution que j'ai décrite ci-dessus est possible les deux machines partagent la même IP virtuelle. Hors, ces deux machines sont accessibles via deux routeurs différents n'étant absolument pas sur les mêmes plages d'adresses.

    Non, vraiment, personne n'a une idée? Je commence vraiment à sécher là.

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 8
    Points : 2
    Points
    2
    Par défaut
    Pour ceux que ça intéresse...

    J'en suis venu à la conclusion suivante: il n'y a pas de moyen de faire vraiment de la haute-dispo sans machine tierce dans mon cas.

    En revanche, si on met en place un HAProxy sur les deux serveurs "main" et "bu", on dispose facilement d'un failover entre les deux sites distants. De plus, HAProxy permet de faire de la persistance au niveau des sessions. Si un client commence sa session sur le backup, il la terminera dessus, même si le serveur principale est de nouveau opérationnel entre temps.

    Pour mémoire, mes fichiers de configuration haproxy.cfg:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    global
            log 127.0.0.1   local0
            log 127.0.0.1   local1 notice
    #       log loghost     local0 info
            maxconn 4096
            #chroot /usr/share/haproxy
            user haproxy
            group haproxy
            daemon
            #debug
            #quiet
     
    defaults
            log     global
            mode    http
            option  httplog
            option  dontlognull
            retries 3
            option redispatch
            maxconn         2000
            contimeout      5000
            clitimeout      50000
            srvtimeout      50000
     
    listen 192.168.1.65:83 # .66:83 pour bu
            bind 192.168.1.65:83 # .66:83 pour bu
            mode http
            log global #Active les logs en reprenant les valeurs de la section "global"
            stats enable
            stats uri /stats
            stats auth admin:admin
            balance roundrobin
            cookie JSESSIONID prefix #préfixer le cookie JSESSIONID par le nom du serveur utilisé
            option httpclose #Réécrire toutes les requêtes
            option httpchk GET /tcompagnie-yeu-continent.fr/public/check.php HTTP/1.0
            option forwardfor #pour forwarder les logs
            server main 192.168.1.65:80 cookie main check port 80 inter 2000
            server bu 192.168.1.66:80 cookie bu check port 80 inter 4000 backup
    N.B.: vous aurez remarqué que mes adresses IP sont privées, il s'agit en fait de ma maquette.

Discussions similaires

  1. Postgresql - Haute dispo - répartition de charge
    Par kidrek dans le forum PostgreSQL
    Réponses: 0
    Dernier message: 11/02/2008, 01h52
  2. Faire de la haute dispo : RAC ou autre ?
    Par couak dans le forum Administration
    Réponses: 42
    Dernier message: 08/10/2007, 10h51
  3. Controleur de domaine à travers Internet
    Par Arnaud_B dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 25/09/2007, 16h33
  4. bureau a distance a travers internet
    Par mat-tech dans le forum Sécurité
    Réponses: 2
    Dernier message: 03/07/2006, 22h25
  5. connection à un autre pc à travers internet
    Par mat-tech dans le forum Windows XP
    Réponses: 6
    Dernier message: 25/06/2006, 21h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo