Le Forum Non Officiel de la DEDIBOX
Vous n'êtes pas identifié.
Pages: 1 2
Salut,
Bon, bien du temps est passé depuis mon première essai qui avait échoué à cause de mon disque dur.
Et tant mieux ! Avec le temps, j'ai pu me rendre compte que mon ancienne architecture était très mauvaise et ne permettais pas de gérer la charge des machines sereinement.
Depuis un petit mois maintenant, je travail à nouveau sur un panel de gestion d'hébergement mutualisé.
Celui-ci n'est pas autant avancé que l'ancien, mais je suis content du boulot effectué.
Architecture :
Il peut y avoir différent cas, je vais citer celui qui me semble le plus logique.
Un serveur se charge de la répartition (LVS) : il redirige les requêtes HTTP(S) sur un des deux serveur 'web' disponible.
Il redirige aussi les emails vers un ou deux serveurs mails en fonction du nombre de serveurs installés.
Les requêtes FTP vont quant à elle vont directement sur le serveur NFS du cluster client.
Trois serveurs dit 'frontaux' de charge de recevoir les requêtes HTTP(S) et de les traiter.
Il y a un serveur MySQL derrière avec un autre pour la réplication MySQL.
Le deuxième sert de backup MySQL et serveur NFS.
On se retrouve avec :
- Un serveur de répartition des charges "LVS"
- Deux serveurs frontaux
- Un serveur Mail + DNS
- Un serveur MySQL
- Un serveur NFS + réplication MySQL
L'avantage de cette architecture est de pouvoir ajouter un serveur frontal "dans la foulée" et ainsi mieux répondre aux montées de charge.
Le panel se veut "multi-clusters".
Ainsi plusieurs clusters pourront fonctionner parallèlement et leurs configuration pourra différer.
Il y aura une gestion des paiements. Ainsi que les offres, gratuite ou payante.
Autre avantage, sera le fait de ne plus avoir de safe_mode, et d'avoir plusieurs extensions dont php, python ou encore PERL.
Chaque utilisateur aura son UID et les bon chmod seront accordés de façon à cloisonner chacun.
Un accès ssh sera probablement proposé.
Technique:
Voila, je vous ai exposé ce que je désire faire, maintenant un peu plus dans l'actuel :
Le panel se compose de deux manières :
- L'interface
- Les daemons
1, L'interface
Elle est motorisé par PHP5.
Elle est écrite en Programmation orienté objet. Elle est commenté.
Il y a une gestion des erreurs (exceptions), elle est multi-template et multi-langue.
Le tout mixé à la web 2.0 avec du ajax et des effets scriptaculous.
2, Les daemons
Ils seront écrit en bash et PHP
Pas plus d'info à ce niveau pour le moment.
Screens de dev'
Voir le Fichier : Image1.png
Voir le Fichier : Image2.png
Prix
Vu la complexité de la chose, je doute fortement que cela intéresse les petit hébergeurs.
De ce fait, le prix d'une licence 2 ou 3 ans devrait coûter entre 4 et 10 milles euros.
Dans certains cas, celle-ci pourra être offerte.
Si vous avez des remarques, ou attentes, n'hésitez pas ![]()
Dernière modification par Mogui (2008-08-22 11:43:02)
Hors ligne
Et bien beau boulot et bonne continuation dans ton entreprise et dans ta futur ^^
Hors ligne
Bon courage.
Hors ligne
Par multi serveurs , tu envisage donc un systeme de répartition de charge ?
Car je suis en "pour projet" actuellement un tel panel , donc ca m'intéresse ton idée
En ligne
Ca dépend de ce que tu entend par "repartition des charges" ?
-> Cluster
-> Gerer les clients sur plusieurs serveurs
Dernière modification par Mogui (2007-05-04 17:34:27)
Hors ligne
ça à l'air très sympa comme truc, bon courage ![]()
Hors ligne
john a écrit:
ça à l'air très sympa comme truc, bon courage
Courage...
Je risque d'en manquer..
Mon disque dur vient de faire un coups de pute.. (ca fait juste le deuxieme)
Bref, je peux tout recoder a partir de zero ![]()
Hors ligne
Jérémy a écrit:
J'entendais un systeme a peu pres de clusterisation , avec RoundRobin par exemple
Bah, pour faire des clusters, je ne sais pas encore..
Le principe, c'est que pour le panel, un serveur de fichier = 1 adresse IP..
Si tu trouves un moyen de faire des clusters avec une seule adresse IP "public", ca devrait le faire ![]()
Hors ligne
Jérémy a écrit:
J'entendais un systeme a peu pres de clusterisation , avec RoundRobin par exemple
Round Robin et cluster, ca va pas trop ensemble. ![]()
Hors ligne
Oui je sais bien que ce terme pour une répartition de charge via round robin n'est pas exacte mais dans un réseau non controlé (dans le sens ou ne peux pas se pointer et ajouter un serveur de clusterisation) on est un peu obligé de faire une répartition de charge via round robin
Perso je planche sur une structure pour le moment :
Serveur central NFS avec copie des sites sur les frontaux pour un acces plus rapide et un dossier "files" par site pour un acces direct sans copie sur les frontaux (ou via rsync)
Seveur SQL unique ( qui gerera le NS2 également )
Un serveur DNS principale qui gere le Round Robin et supprime toutes les X minutes les Serveurs qui ne pinguent pas et les remets quand cela reping
Ensuite une répartition des Serveurs SQL , mais a ce niveau la ca se complique, soit le cluster que Mysql propose (je ne sais pas ce qu'il vaut) soit un NFS également
Je précise que cette structure serait uniquement pour mon usage et non pas pour de la revente
Dernière modification par Jérémy (2007-05-05 17:55:03)
En ligne
Pour le round robin, je sais pas si ca vaut le coup de mettre en place une usine à gaz (avec ping, "sortie" des serveurs) sachant que t'as une latence conséquente.
Si on part là dessus, je lorgnerais directement load balancing (LVS, RadWare...).
Pour MySQL, la fonction cluster (NDB) dans l'état actuel de choses ne permet que de travailler en RAM. Ca peut quand même sérieusement limiter les choses pour certaines applis.
Quand à NFS et MySQL, je vois pas trop le rapport ? Tu voudrais faire quoi ?
A mon sens, si t'as une application avec beaucoup de lecture et peu d'écriture (cas typique), c'est réplication + couche applicative qui redirige là où il faut.
Ne pas oublier les informations de session (si utilisées par les applis).
Hors ligne
En gros j'aurais aimer que les serveurs MYSQL puisent sur un seul et meme serveur de données
J'en suis actuellement qu'a mon début de projet , je ne connais pas toutes les possibilités et limites des technologies que je veux utiliser
En ligne
Jérémy a écrit:
En gros j'aurais aimer que les serveurs MYSQL puisent sur un seul et meme serveur de données
A part corrompre tes données (si ca démarre), je pense pas que t'obtiendrais grand chose. :happy:
Hors ligne
Dans le sens cluster, oui.
Si t'es patient, ils parlent de faire du clustering sur disque... mais ca sent le MySQL 6 (ou 7
).
Sinon, y a les solutions de master/slave, mais ca implique que l'applicatif soit assez intelligent.
Hors ligne
oué bon de toute maniere je suis du genre a pas consommer beaucoup de SQL , j'optimise en général beaucoup
Donc pour le moment ca ira , déja un round robin et un rsync je pense que ca peut etre pas mal
En ligne
Alors ca en est ou ce panel ?
Hors ligne
Ben comme dit plus haut, mon disque dur a craché, et j'etait un peu dégouté, donc je bosse sur le panel Kelio ( http://dev.kelio.org/Page.html )
Mais je garde le projet ! Je le reprendrais quand j'aurais finis le panel actuel ![]()
Hors ligne
Et t'a pas encore tout recoder ![]()
Hors ligne
J@r0d a écrit:
Et t'a pas encore tout recoder
Ya une chose qu'on apelle "motivation" qu'a pris un coups quand ce {#ç(!!!( disque dur à laché ![]()
Hors ligne
Fallait pas prendre un maxtor ![]()
Remarque suffit d'une fois pour que le mot "sauveagarde" prenne tout son sens et une valeure infinie ![]()
Hors ligne
Ca avance kelio ? Septembre est proche ![]()
Hors ligne
Petit up ![]()
Hors ligne
Un petit point sur l'avancement Mogui ?
Sinon, pour ajouter quelque chose sur le MySQL, la solution que j'ai retenue quand j'ai du faire du clustering à été la réplication actif/actif.
En fait, depuis le 5.1.je-sais-plus-quoi, NDB est capable de gérer les données sur disque.le problème étant que les colonnes qui possèdent un index doivent forcément être en RAM.
La réplication master/master marche bien, mais la reprise sur panne peut se réveler assez acrobatique...
Hors ligne
Pages: 1 2