Disponibilité d'un site Internet

WRInaute discret
Bonjour,

Comment faire pour rendre un site 100% disponible ?

Je connais les moyens suivants :
- load balancing
- fail over

Mais n'y aurait t'il pas un moyen de définir (chez son registrar) plusieurs DNS ? Si oui, combien au maximum ?

Car en fait, j'ai lu que google avait plusieurs datacenters. Chaque datacenter est identifié par une adresse IP et lorsque un visiteur tente d'accèder à leur site Internet il est redirigé sur l'un des datacenters.
Ce système ingénieux permet une très grande évolutivité et une très grande disponibilité.

Comment fait Google pour rediriger le visiteur sur une adresse IP ?

Quel est le registrar le plus fiable (en terme de disponibilité) dans le monde ?

Merci
 
WRInaute occasionnel
A priori, mon frangin avait lu dans un mag serveur une technique pour la dispo 100% qui m'interesse pour un proche avenir...

Sans rentrer dans les details (je n'ai pas lu l'article)

il faut au moins une 1/2 baie de serveur.
2 serveurs principaux reliés physiquement via 2 firewall (2 autres mini serveurs).
En cas de rade d'un serveur, l'autre prend le relai sans qu'il y besoin de faire de manips à la main pour changer les dns (attente de 24 heures en général)...
ce qui permet une non coupure constante malgré des problèmes de serveurs
 
WRInaute accro
une disponibilité à 100% est impossible. Même les grands sites, y compris google, sont confrontés à certains moments à des indisponibilité.
Il n'y a qu'à voir le gros problème arrivé l'an dernier chez Redbus qui vantait sa capacité à survenir à tous les problèmes : alimentations redondantes, etc...

Après, qui a réellement besoin d'une dispo à 100%. Le prix à payer en vaut-il le coup ?
En dehors de certaines applis temps réels genre la bourse et quelques autres, ça n'est qu'un "faux" argument commercial :roll:
 
WRInaute discret
scores a dit:
A priori, mon frangin avait lu dans un mag serveur une technique pour la dispo 100% qui m'interesse pour un proche avenir...

Sans rentrer dans les details (je n'ai pas lu l'article)

il faut au moins une 1/2 baie de serveur.
2 serveurs principaux reliés physiquement via 2 firewall (2 autres mini serveurs).
En cas de rade d'un serveur, l'autre prend le relai sans qu'il y besoin de faire de manips à la main pour changer les dns (attente de 24 heures en général)...
ce qui permet une non coupure constante malgré des problèmes de serveurs

Bonjour,

Merci

En fait, j'ai déjà prévu l'infrastructure technique suivante :
- une baie d'hébergement (46 U)
- un répartiteur de charge (au début) mais après je vais en rajouter plusieurs (car les répartiteurs de charge peuvent tomber en panne aussi).
- 2 switchs
- 2 serveurs au début

Par contre, je ne sais pas comment faire pour :
- les bases mysql (hébergé sur d'autre serveurs) ?
- le stockage des données ? (sur un serveur spécial du type filer)

Et comment faire au niveau de la gestion des DNS (par rapport à mon registrar) ?

Est-ce qu'il serait judicieux de mettre plusieurs DNS primaire ?
 
WRInaute discret
Leonick a dit:
une disponibilité à 100% est impossible. Même les grands sites, y compris google, sont confrontés à certains moments à des indisponibilité.
Il n'y a qu'à voir le gros problème arrivé l'an dernier chez Redbus qui vantait sa capacité à survenir à tous les problèmes : alimentations redondantes, etc...

Après, qui a réellement besoin d'une dispo à 100%. Le prix à payer en vaut-il le coup ?
En dehors de certaines applis temps réels genre la bourse et quelques autres, ça n'est qu'un "faux" argument commercial :roll:

Oui, c'est vrai mais par contre, on peut essayer de réduire au maximum le temps d'indisponibilité d'un site Internet en surdimensionant l'infrastructure technique, non ?

Mon problème : est-t'il possible de définir (dans la définition des DNS ) plusieurs serveurs (datacenters différents) ?

En effet, redbus a eu de gros problème avec l'électricité et justement pour cela qu'il vaut mieux répliquer l'infrastructure sur plusieurs datacenters.

Maintenant, c'est certain que ça un coût élevé.
 
WRInaute discret
C'est bien jolie mais votre disponibilité à 100% que vous proposez part du principe que le lieu ou est votre baie (1/2 baie ou 46U dans vos exemples) ne subira aucune indisponibilité... ce qui est une grosse erreur...
 
WRInaute discret
aspin a dit:
C'est bien jolie mais votre disponibilité à 100% que vous proposez part du principe que le lieu ou est votre baie (1/2 baie ou 46U dans vos exemples) ne subira aucune indisponibilité... ce qui est une grosse erreur...

Oui, c'est justement pour ça que je cherche à répliquer mon contenu dans plusieurs datacenters (global switch, redbus,...)

Mais comment faire ?
 
WRInaute occasionnel
aspin a dit:
C'est bien jolie mais votre disponibilité à 100% que vous proposez part du principe que le lieu ou est votre baie (1/2 baie ou 46U dans vos exemples) ne subira aucune indisponibilité... ce qui est une grosse erreur...

Non bien sur,
il faut bien entendu avoir une 1/4 1/2 de baie dans au moins 2 datacenters geographiquement différents, comme bordeaux et Paris pour ma part.
Pour ce qui est des contenus dupliqués, nous on fait des synchros journalières des contenus entres tous les serveurs.

Du fait d'être obligé de relier physiquement les serveurs pour la 100% dispo, si il s'agit du datecenter lui même qui tombe en rade, je ne crois pas qu'il existe une solution...enfin je serais de curieux de savoir.

Je te raconte pas le merdier si tu switch de datacenter en live, comment veux tu que les données soient bien à jour (à part faire des synchros chaque 10mn ce qui me semble inenvisageable).
 
WRInaute accro
Google fait (entre autres) du round-robin DNS, c'est à dire que pour un domaine donné (par exemple www.google.com), il est associé plusieurs adresses IP.

Il ne faut pas confondre ces adresses et les différents serveurs DNS (Google en a 4, ns1.google.com, etc...), qui eux se chargent de la résolution.

En pratique, tu as plusieurs serveurs DNS (là c'est toi qui voit), avec chacun a priori les mêmes infos de résolutions.
Ces infos sont un truc du genre :
www IN A 1.2.3.4
www IN A 5.6.7.8
...
www IN A 1.4.3.5

Quand un internaute veut se connecter à ton www, il va résoudre l'adresse grâce à l'un de tes serveurs DNS (il tombe dessus aléatoirement je crois), qui vont lui renvoyer au hasard une des IPs définies avant.

Après, il y a d'autres moyens de redondances, mais basiquement du côté DNS c'est ça sauf erreur.
 
WRInaute discret
wullon a dit:
Google fait (entre autres) du round-robin DNS, c'est à dire que pour un domaine donné (par exemple www.google.com), il est associé plusieurs adresses IP.

Il ne faut pas confondre ces adresses et les différents serveurs DNS (Google en a 4, ns1.google.com, etc...), qui eux se chargent de la résolution.

En pratique, tu as plusieurs serveurs DNS (là c'est toi qui voit), avec chacun a priori les mêmes infos de résolutions.
Ces infos sont un truc du genre :
www IN A 1.2.3.4
www IN A 5.6.7.8
...
www IN A 1.4.3.5

Quand un internaute veut se connecter à ton www, il va résoudre l'adresse grâce à l'un de tes serveurs DNS (il tombe dessus aléatoirement je crois), qui vont lui renvoyer au hasard une des IPs définies avant.

Après, il y a d'autres moyens de redondances, mais basiquement du côté DNS c'est ça sauf erreur.

Ok merci

Donc, en fait pour chaque site INternet, il faut un serveur DNS (au moins) qui se chargera de la résolution, c'est bien ça ?

La résolution correspond donc en fait à la redirection sur une adresse IP ?

Mais ne serait-t'il pas plus judicieux de créer beaucoup plus de serveurs DNS localisés dans différents endroits pour assurer une plus grande disponibilité des données ?
 
Nouveau WRInaute
Bonjour,

Pour un nom de domaine, il y a au moins 2 servers DNS

Chez ovh (par ex) il y a dns.ovh.net et ns.ovh.net

Le nom des serveurs DNS est enregistré avec ton nom de domaine, donc on concidère que c'est fiable.

Maintenant que tout le monde connait dns.ovh.net et ns.ovh.net, il faut que ces machines soient accessibles.

Il faut donc les mettre à des endroits différents, sur des IP de class C différentes (normalement..)
Pour cette partie, je fais confiance à mon hébergeur.

Ensuite, quand un internaute a besoin de l'IP de ton serveur web (www.domaine.com) il se connecte donc à l'un des deux DNS (au pif, il n'y a pas de priorités)

Il va donc demandé par exemple, à ns.ovh.net qu'elle est l'IP de www.domaine.com

Et la, le serveur DNS peut en renvoyé plusieurs !

Dans une invite de commande windows, si tu fais un nslookup www.google.fr, tu obtiens:
Réponse ne faisant pas autorité :
Nom : www.l.google.com
Addresses: 66.249.93.104, 66.249.93.99, 66.249.93.147
Aliases: www.google.fr, www.google.com

On a donc 3 IP au choix, qui sont 3 serveurs (ou clusters) différents.
On appelle ça, le round-robin.
http://fr.wikipedia.org/wiki/Round-robi ... matique%29
""Cette répartition de charge peut être effectuée par le serveur DNS (Domain Name System) qui associe plusieurs adresses IP à un nom de domaine.""

Quelques minutes plus tard, on a une IP de plus (surement suivant la charge de leurs clusters):
Réponse ne faisant pas autorité :
Nom : www.l.google.com
Addresses: 64.233.183.99, 64.233.183.147, 64.233.183.104, 64.233.183.103
Aliases: www.google.fr, www.google.com

A priori, cesh google, le TTL (durée de vie de l'info DNS) est de 5 minutes.

Donc si tu fais une autre recherche sur google dans 6 minutes, ton pc refera une autre requette DNS, et aura des infos à jour (enfin, des IP de clusters concidérés comme disponibles, ou plus proche de chez toi)


Le problème est qu'un hébergeur comme ovh, ne te laisse pas préciser plusieurs IP pour un même dommaine (si ma mémoire est bonne)

Il faut donc chercher ailleur, ou faire les DNS soit même.

Souvent, c'est un service gratuit la gestion des DNS, donc perso je préfère les laisser gérer plutot que de m'en occuper.

A bientot

Julien
 
WRInaute accro
Très bonne explication.

En serveurs DNS gratuits tu as Xname.org, sinon après ça dépend des hébergeurs, ou tu peux gérer toi-même sur ton dédié.


9876>vu que tu poses beaucoup de questions concernant l'hébergement, la disponibilité & co, je te conseille d'aller voir et même de laisser un message sur http://groups.google.fr/group/fr.reseau ... ent/topics (en expliquant très clairement ta demande), beaucoup de personnes travaillant dans le monde de l'hébergement participent à ce newsgroup.
 
WRInaute discret
julien04 a dit:
Bonjour,

Pour un nom de domaine, il y a au moins 2 servers DNS

Chez ovh (par ex) il y a dns.ovh.net et ns.ovh.net

Le nom des serveurs DNS est enregistré avec ton nom de domaine, donc on concidère que c'est fiable.

Maintenant que tout le monde connait dns.ovh.net et ns.ovh.net, il faut que ces machines soient accessibles.

Il faut donc les mettre à des endroits différents, sur des IP de class C différentes (normalement..)
Pour cette partie, je fais confiance à mon hébergeur.

Ensuite, quand un internaute a besoin de l'IP de ton serveur web (www.domaine.com) il se connecte donc à l'un des deux DNS (au pif, il n'y a pas de priorités)

Il va donc demandé par exemple, à ns.ovh.net qu'elle est l'IP de www.domaine.com

Et la, le serveur DNS peut en renvoyé plusieurs !

Dans une invite de commande windows, si tu fais un nslookup www.google.fr, tu obtiens:
Réponse ne faisant pas autorité :
Nom : www.l.google.com
Addresses: 66.249.93.104, 66.249.93.99, 66.249.93.147
Aliases: www.google.fr, www.google.com

On a donc 3 IP au choix, qui sont 3 serveurs (ou clusters) différents.
On appelle ça, le round-robin.
http://fr.wikipedia.org/wiki/Round-robi ... matique%29
""Cette répartition de charge peut être effectuée par le serveur DNS (Domain Name System) qui associe plusieurs adresses IP à un nom de domaine.""

Quelques minutes plus tard, on a une IP de plus (surement suivant la charge de leurs clusters):
Réponse ne faisant pas autorité :
Nom : www.l.google.com
Addresses: 64.233.183.99, 64.233.183.147, 64.233.183.104, 64.233.183.103
Aliases: www.google.fr, www.google.com

A priori, cesh google, le TTL (durée de vie de l'info DNS) est de 5 minutes.

Donc si tu fais une autre recherche sur google dans 6 minutes, ton pc refera une autre requette DNS, et aura des infos à jour (enfin, des IP de clusters concidérés comme disponibles, ou plus proche de chez toi)


Le problème est qu'un hébergeur comme ovh, ne te laisse pas préciser plusieurs IP pour un même dommaine (si ma mémoire est bonne)

Il faut donc chercher ailleur, ou faire les DNS soit même.

Souvent, c'est un service gratuit la gestion des DNS, donc perso je préfère les laisser gérer plutot que de m'en occuper.

A bientot

Julien

Merci beaucoup pour la réponse vraiment très interessante.

J'ai compris le principe du round-robin DNS mais par contre tu viens de dire qu'il y a au moins deux serveurs DNS, comment faire pour en rajouter d'autres ?

Combien de serveurs DNS aient t'il possible de rajouter (car j'ai lu quelque part que les très gros sites du genre yahoo ont plusieurs dizaines de serveurs DNS) ?

De plus, le nom de domaine passe (si j'ai bien compris le principe par le serveur DNS d'ovh si je suis hébergé chez OVH sauf si je configure moi-même le serveur DNS) mais est-ce que finalement la qualité du serveur DNS n'influence pas indirectement le temps de réponse d'un site ?

N'y a t'il pas de différence importante au niveau du temps de réponse de chaque serveur DNS ? (entre des hébergeurs differents)

Le TTL peut t'il être modifié toutes les secondes ? La mise à jour est t'elle la même sur tous les FAI dans le monde ?

Si je configure moi-même mon serveur DNS, est-ce que je vais avoir la possibilité de modifier le TTL ?

Merci en tout cas pour ta réponse, c'est vraiment passionnant
 
WRInaute discret
wullon a dit:
Très bonne explication.

En serveurs DNS gratuits tu as Xname.org, sinon après ça dépend des hébergeurs, ou tu peux gérer toi-même sur ton dédié.


9876>vu que tu poses beaucoup de questions concernant l'hébergement, la disponibilité & co, je te conseille d'aller voir et même de laisser un message sur http://groups.google.fr/group/fr.reseau ... ent/topics (en expliquant très clairement ta demande), beaucoup de personnes travaillant dans le monde de l'hébergement participent à ce newsgroup.

Merci pour le lien, je vais peut-être poser une question.
 
Nouveau WRInaute
Bonsoir,

Effectivement on peut mettre plus de 2 serveurs DNS
Chez ovh, le formulaire en accepte 5 max je crois.

Le temps de réponse du serveur DNS ralenti la connexion uniquement la premiere fois.
C'est pour cela que je pense que le service offert par un hébergeur ou xname peut être suffisant.

Ensuite, le pc de l'internaute connait déjà l'ip du server/cluster.
Un TTL de quelques secondes serait catastrophique pour le serveur DNS, et n'apporterait rien de bien.

Si je me souviens bien, les requettes DNS sfont en UDP pour aller plus vite, donc on perd très vite un packet. Il faut donc limiter la charge de la machine au max.
ça doit être pour cela que les gros (google, yahoo) utilisent le max de serveurs différent.


En+, l'internaute n'intéroge que les DNS de sont FAI.
Ceux-ci comportent un cache, pour évite de faire plusieurs fois la même chose.
Ils peuvent donc fermer les yeux sur le ttl de 5min de google, et servir la même info pendant une heure.

Je crois qu'un technicien de Free rappellai que chez Free, tout ttl < 1h était passé à 1h. A confirmer

Finalement, puisque les serveurs DNS (je pense que 2 suffisent) peuvent donner plusieurs adresses IP de destination, la répartition de charge se fait un peu toute seule...
 
WRInaute impliqué
Par contre, je ne sais pas comment faire pour :
- les bases mysql (hébergé sur d'autre serveurs) ?
- le stockage des données ? (sur un serveur spécial du type filer)

Ca dépend quels sont tes besoins,
si ce sont des données qui ont besoin d'être synchro de chez synchro, la base maitre mysql peut générer des logs binaires que tu réinjectes dans la base esclave ( qui est en lecture seule). Mais bon cette méthode pompent beaucoup de ressources puisque tu génères beaucoup de logs.

Pour le stockage des données, dans mon cas c'est un dump à chaud du SQL, suivi du cryptage des fichiers de sauvegarde, puis dispatche sur les serveurs ayant les capacités suffisantes de stockage.

La disponibilité à 100 % demande beaucoup des moyens à partir d'un certain niveau, la courbe disponibilité/ cout est exponentielle faut trouver son juste milieu. Donc pour l'instant, j'ai plutot investi dans la création de scripts maison adapté à notre structure qui permettent de remettre UP les sites en un temps très court. Tout cela avec un max de simplicité, l'intervention humaine est requise et une perte d'une journée de données au maxi est tolérée.
 
WRInaute discret
julien04 a dit:
Bonsoir,

Effectivement on peut mettre plus de 2 serveurs DNS
Chez ovh, le formulaire en accepte 5 max je crois.

Le temps de réponse du serveur DNS ralenti la connexion uniquement la premiere fois.
C'est pour cela que je pense que le service offert par un hébergeur ou xname peut être suffisant.

Ensuite, le pc de l'internaute connait déjà l'ip du server/cluster.
Un TTL de quelques secondes serait catastrophique pour le serveur DNS, et n'apporterait rien de bien.

Si je me souviens bien, les requettes DNS sfont en UDP pour aller plus vite, donc on perd très vite un packet. Il faut donc limiter la charge de la machine au max.
ça doit être pour cela que les gros (google, yahoo) utilisent le max de serveurs différent.


En+, l'internaute n'intéroge que les DNS de sont FAI.
Ceux-ci comportent un cache, pour évite de faire plusieurs fois la même chose.
Ils peuvent donc fermer les yeux sur le ttl de 5min de google, et servir la même info pendant une heure.

Je crois qu'un technicien de Free rappellai que chez Free, tout ttl < 1h était passé à 1h. A confirmer

Finalement, puisque les serveurs DNS (je pense que 2 suffisent) peuvent donner plusieurs adresses IP de destination, la répartition de charge se fait un peu toute seule...

D'accord merci pour ces précisions
 
WRInaute impliqué
julien04 a dit:
Finalement, puisque les serveurs DNS (je pense que 2 suffisent) peuvent donner plusieurs adresses IP de destination, la répartition de charge se fait un peu toute seule...

Idéalement donc ce serait par exemple que le DNS ne donne plus déjà l'adresse d'un serveur qui est down non ? parce que j'imagine qu'au niveau dispo il faut cela aussi car quid d'un serveur DNS qui répond des adresses de serveurs qui peuvent être non dispo.
Bref pas simple tout cela.
 
WRInaute discret
Topsitemaker a dit:
Par contre, je ne sais pas comment faire pour :
- les bases mysql (hébergé sur d'autre serveurs) ?
- le stockage des données ? (sur un serveur spécial du type filer)

Ca dépend quels sont tes besoins,
si ce sont des données qui ont besoin d'être synchro de chez synchro, la base maitre mysql peut générer des logs binaires que tu réinjectes dans la base esclave ( qui est en lecture seule). Mais bon cette méthode pompent beaucoup de ressources puisque tu génères beaucoup de logs.

Pour le stockage des données, dans mon cas c'est un dump à chaud du SQL, suivi du cryptage des fichiers de sauvegarde, puis dispatche sur les serveurs ayant les capacités suffisantes de stockage.

La disponibilité à 100 % demande beaucoup des moyens à partir d'un certain niveau, la courbe disponibilité/ cout est exponentielle faut trouver son juste milieu. Donc pour l'instant, j'ai plutot investi dans la création de scripts maison adapté à notre structure qui permettent de remettre UP les sites en un temps très court. Tout cela avec un max de simplicité, l'intervention humaine est requise et une perte d'une journée de données au maxi est tolérée.

En fait, je m'interesse actuellement aux offres d'OVH concernant l'IP fail-over car me parait assez interessant en terme de tolérance de panne.

Concerant la réplication des données msqyl sur le serveur esclave, est-ce que la réplication est immédiate car en fait j'ai lu dans un article concernant la réplication mysql qu'il était possible (afin d'accroître la vitesse de lecture) d'utiliser uniquement le serveur esclave pour des requêtes en SELECT ?

Je te pose cette question car en fait mes données seront règulièrement mise à jours sur le serveur mysql et il faudra ainsi que ces données soient disponibles immédiatement pour mes visiteurs.
 
WRInaute accro
f_trt a dit:
Idéalement donc ce serait par exemple que le DNS ne donne plus déjà l'adresse d'un serveur qui est down non ?
Oui, mais c'est déjà plus compliqué (il faut tester régulièrement quelles machines sont ups, etc..).

Sur Xname tu peux modifier le TTL je crois, mais ça ne sert pas à grand chose dans la plupart des gars.

Comme l'a précisé, les FAI disposent de cache, et c'est éventuellement pafeil pour l'OS et/ou l'application sauf erreur, donc c'est difficile de prévoir ce qui va se passer exactement.

Pour info, Google dispose de 4 serveurs DNS (frontaux), Yahoo de 9.
 
WRInaute discret
Voilà le type de matériel utilisé pour obtenir des diponibilités supérieurs à 99.999 %:
http://www.layer7solutions.com/9000_series_overview.htm

Et ici, il y a une explication comment fonctionne la fonction de loadbalancing comme l'utilise Google (désolé, c'est en anglais):
http://www.layer7solutions.com/9000_ser ... ancing.htm

Google dispose de plus de 4'500 de ces appliances pour le load balancing et le caching.

Prix d'une appliance d'entrée de gamme: environ 15'000 $ 8O

Avec des méthodes de configuration de type "Round Robin" dans les DNS, on n'arrive malheureusement pas à résoudre complétement ce type de problèmes. :(
 
Nouveau WRInaute
Il est vrai que si le FAI à un ttl de 1heure minimum, on peut avoir une superbe configuration avec du round-robin, cela ne servira à rien pour le client final.
Mais malgré tout, ce sont de bonnes méthodes qui ne coutent pas forcément très cher.

Nous nous utilisons entre autre les services de dnsmadeeasy... c'est assez cool et pas très cher.

Bonne continuation

Céd
http://www.internetVista.com
 
Discussions similaires
Haut