Config pour projet perso : load balancing, mysql, LAMP
Config pour projet perso : load balancing, mysql, LAMP
j'avais lu il y a peu, mais il faut une sacré infrastructure tout de meme :/
pour un particulier ça devient chaud...
pour un particulier ça devient chaud...
Config pour projet perso : load balancing, mysql, LAMP
on l'utilise au boulot et je confirme :dj'avais lu il y a peu, mais il faut une sacré infrastructure tout de meme :/
pour un particulier ça devient chaud...
Config pour projet perso : load balancing, mysql, LAMP
arf :/
en même temps je viens aussi de voir les tarifs ça refroidit aussi
donc pour résumer au vue de tous les conseils :
Un firewall -> vers Apache 2 (sur une Debian raid 1 ) / Php. (PowerEdge 2650)
un serveur MySql (eServer x345 raid 5) connecté vers Apache, mais aucun accès de l'extérieur. Enfin le serveur Web communiquera aussi avec le serveur de stockage (config perso : AMD AThlon 64 x2 3800+, 4 go de ram, disque de 1 to en raid 1 pour commencer )
OU :
Serveur Debian (eServer x345 : raid 5, 4 go ram) sur lequel tournent deux VM : le serveur Apache + Php, une VM pour le serveur MySql et je garde l'autre tour pour en faire le serveur de stockage.
Sur ce même serveur de stockage tournera une VM qui sera un LAMP complet de pré-prod (donc déploiement systématique des dev dessus, tests; et mise en prod )
qu'en pensez vous ?
en même temps je viens aussi de voir les tarifs ça refroidit aussi
Un firewall -> vers Apache 2 (sur une Debian raid 1 ) / Php. (PowerEdge 2650)
un serveur MySql (eServer x345 raid 5) connecté vers Apache, mais aucun accès de l'extérieur. Enfin le serveur Web communiquera aussi avec le serveur de stockage (config perso : AMD AThlon 64 x2 3800+, 4 go de ram, disque de 1 to en raid 1 pour commencer )
OU :
Serveur Debian (eServer x345 : raid 5, 4 go ram) sur lequel tournent deux VM : le serveur Apache + Php, une VM pour le serveur MySql et je garde l'autre tour pour en faire le serveur de stockage.
Sur ce même serveur de stockage tournera une VM qui sera un LAMP complet de pré-prod (donc déploiement systématique des dev dessus, tests; et mise en prod )
qu'en pensez vous ?

-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP
De rien 
Je ne mettrais pas mes data en raid 5 personnellement. Même si Oracle n'est pas MySQL, ils "interdisent" d'utiliser le raid 5 pour y mettre leurs bases, car le calcul de parité détruit les performances, même si tu as du sas en 15k
Je continuerais ma prose plus tard, l'assiette m'appelle

Je ne mettrais pas mes data en raid 5 personnellement. Même si Oracle n'est pas MySQL, ils "interdisent" d'utiliser le raid 5 pour y mettre leurs bases, car le calcul de parité détruit les performances, même si tu as du sas en 15k

Je continuerais ma prose plus tard, l'assiette m'appelle

Config pour projet perso : load balancing, mysql, LAMP
bon appétit, merci pour le raid 5 je savais pas,
quel est le plus simple ? raid 1 ou raid 0 pour les perf avec une sauvegarde automatique (cron ) ?
quel est le plus simple ? raid 1 ou raid 0 pour les perf avec une sauvegarde automatique (cron ) ?
-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP
Le must : RAID10 : c'est un raid 1 de raid 0
Comme tu n'auras pas 1To de data pour ta base mysql, un raid 10 de 4*36Go ce sera bon 
Perso, je ne sais pas fan de la virtualisation : si tu as un pépin hard quel qu'il soit, ça t'oblige à arrêter tous tes serveurs virtuels. J'ai fait une mise à jour firmware sur un p5 cet aprem, j'ai du arrêter mes 3 partitions alors que seule 1 était concernée (partition = serveur virtuel).
MySQL gère plutôt pas mal le mode cluster, ce sera toujours mieux que de mettre un LB pour 2 serveurs MySQL. D'ailleurs pour moi c'est impossible, car si tu mets un LB et 2 serveurs data, comment tu fais pour la synchro des data ? A moins que tu ais un systeme avec vhd à la oracle (un espace disque pour 2 serveurs, gérés intelligemment par oracle, pas de soucis de conflicts, mais il faut du cpu et de la ram en quantité par contre pour gérer le cache).
Si tu veux mettre un LB, mets le juste après ta connexion web pour répartir la charge sur tes 2 Apache/php.
Tes 2 Dell feront parfaitement et largement l'affaire pour le serveur web, tout comme l'IBM fera amplement l'affaire aussi comme serveur MySQL. Niveau machine, comme tu le dis, tu es OK.
Pour les sauvegardes automatiques MySQL, tu as l'outil mysqldump je crois, tu mets dans un beau petit script dans ta cron (si possible cron du compte mysql pour est tiptop), et roulez jeunesse
Autre solution : comme on sait que les lenteurs causées sur les forums sont la plupart du temps dûes à MySQL, pourquoi ne pas mettre plutôt 1 seul serveur Apache/mysql et faire un cluster MySQL ? La ça pourrait être un bon petit challenge
Quitte ensuite à doubler l'apache avec le serveur LB et te dégoter un altéon sur ebay 


Perso, je ne sais pas fan de la virtualisation : si tu as un pépin hard quel qu'il soit, ça t'oblige à arrêter tous tes serveurs virtuels. J'ai fait une mise à jour firmware sur un p5 cet aprem, j'ai du arrêter mes 3 partitions alors que seule 1 était concernée (partition = serveur virtuel).
MySQL gère plutôt pas mal le mode cluster, ce sera toujours mieux que de mettre un LB pour 2 serveurs MySQL. D'ailleurs pour moi c'est impossible, car si tu mets un LB et 2 serveurs data, comment tu fais pour la synchro des data ? A moins que tu ais un systeme avec vhd à la oracle (un espace disque pour 2 serveurs, gérés intelligemment par oracle, pas de soucis de conflicts, mais il faut du cpu et de la ram en quantité par contre pour gérer le cache).
Si tu veux mettre un LB, mets le juste après ta connexion web pour répartir la charge sur tes 2 Apache/php.
Tes 2 Dell feront parfaitement et largement l'affaire pour le serveur web, tout comme l'IBM fera amplement l'affaire aussi comme serveur MySQL. Niveau machine, comme tu le dis, tu es OK.
Pour les sauvegardes automatiques MySQL, tu as l'outil mysqldump je crois, tu mets dans un beau petit script dans ta cron (si possible cron du compte mysql pour est tiptop), et roulez jeunesse

Autre solution : comme on sait que les lenteurs causées sur les forums sont la plupart du temps dûes à MySQL, pourquoi ne pas mettre plutôt 1 seul serveur Apache/mysql et faire un cluster MySQL ? La ça pourrait être un bon petit challenge


Config pour projet perso : load balancing, mysql, LAMP

en effet je suis parti dans un premier temps maintenant sur 0 LB.
Pour résumer : le powerEged 2650 avec VMWare ESX : deux VM : une apache /php. et l'autre un LAMP complet de préprod
Sur le eServer x354 : raid 10 pour le serveur MySql uniquement
après ta / vos lectures, j'ai "sous estimé" MySql, cette base est bien plus gourmande / critique que je ne l'avais pensé. N'ayant que travaillé avec sur des "petits trucs", je réalise mieux aujourdh'ui son rôle

sur le serveur de backup, rien d'autre pour le moment.
Je pense valider cette configuration pour plusieurs choses : je dédie le eServer à la bdd / je peux ensuite aisément la mettre en cluster (pour le moment je m'abstiens, et si elle fatigue alors j'essaie le cluster)
ensuite, je garde quand même deux VM Prod et préprod sur un seul serveur. J'hésite quand même encore un peu, parce que si je serveur plante (même si c'est rare), alors les deux sites sont KO. Peut-être devrais-je mettre la préprod ailleurs pour qu'en cas de plantage de la prod, je puisse mettre la préprod en prod ?
Sur cette même préprod (donc une VM sur le 2650) il y aura également Zabbix par exemple.
Dans l'histoire, il me reste un ProLiant DL 360

Pour le serveur de backup, je n'ai pas besoin de config musclée pour le moment, d'autres choses perso pourront même tourner sur ce serveur (d'autres VM), comme le proc est puisant (Athlon 64 x2), je ne me fais pas de soucis)
j'ai donc un parc "ventilé" et je pense que comme ça je peux facilement load-balancer au fur et à mesure les serveurs : par exemple coupler le 2650 à un autre 2650 si Apache fatigue, etc... pareil pour le serveur de backup, j'en ajoute un autre et je peux envisager un trunking par exemple, etc...
voila encore merci ça va vite avec vous

Config pour projet perso : load balancing, mysql, LAMP
pour MySQL il y a aussi la possibilité de faire de la réplication en un master et plusieurs slave, le failover etant ( je crois ) pris en charge aussi de cette manière.
-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP
Oh que oui ! Mes préprod sont toujours à l'image de la prod (enfin en minorité surtout niveau perf), mais niveau applicatif prod = preprod, donc sur 2 serveurs physiques séparés.ensuite, je garde quand même deux VM Prod et préprod sur un seul serveur. J'hésite quand même encore un peu, parce que si je serveur plante (même si c'est rare), alors les deux sites sont KO. Peut-être devrais-je mettre la préprod ailleurs pour qu'en cas de plantage de la prod, je puisse mettre la préprod en prod ?
Fait ta dev+preprod sur ton Proliant

Aussi, si tu veux faire un jour du cluster avec mysql, il te faudra un LB (j'avais lu un topic la dessus, un membre de SMP-Fr en avait créé dans Software).
-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP
Je ne saurais pas te dire quels sont les modèles exacts que l'on a chez nous, mais voici une offre d'alteon sur la baie 

Config pour projet perso : load balancing, mysql, LAMP
pour la preprod, du coup, oui pourquoi pas passer la préprod sur le petit proLiant 
ensuite pour l'alteon, c'est pas donné pour moi encore
ceci dit ça rox

ensuite pour l'alteon, c'est pas donné pour moi encore

ceci dit ça rox

-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP

ok merci, je n'aurais jamais deviné de foutre un firewal. "devant" chaque serveur
Question con : pourquoi 3 DMZ / isolation si "drastique" ?
quid du lan ? un même subnet pour toute l'archi / VLAN / différents subnets ?

Config pour projet perso : load balancing, mysql, LAMP
ça parait joli tout ça
mais pour un particulier ça fait des couts elevés juste pour fournir des flux web
mais pour un particulier ça fait des couts elevés juste pour fournir des flux web

Config pour projet perso : load balancing, mysql, LAMP
oui c'est clair 
mais dans un premier temps, au fil des mois j'ai accumulé des serveurs chez moi, donc c'est l'occasion de tous les mettre en prod [:kronick:6]
ensuite, il y a pleins de choses à apprendre, ne serait-ce que pour ça il y a certains investissement que je serais prêt à faire
bon par contre l'alteon pas encore [:kronick:7]

mais dans un premier temps, au fil des mois j'ai accumulé des serveurs chez moi, donc c'est l'occasion de tous les mettre en prod [:kronick:6]
ensuite, il y a pleins de choses à apprendre, ne serait-ce que pour ça il y a certains investissement que je serais prêt à faire

bon par contre l'alteon pas encore [:kronick:7]
-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP
On est en prod ou on ne l'est pas 
C'est un vision idéale, qui n'est pas de moi, mais qui existe dans là où je travaille.
La raison : isoler complètement chaque serveur de toute "menace" extérieur. Car si tu mets tout dans 1 seule DMZ, dès lors que la personne mal intentionnée est dans la bulle c'est fini pour ton appli. Alors qu'avec simplement le flux http d'ouvert sur l'apache, le flux mysql sur le serveur de data, tu limites drastiquement les portes d'accès aux machines
Ensuite, si ce n'est qu'un forum, alors soit, tu isoles le tout et basta. Mais si c'est un site de VPC, alors il faut faire ça pour t'assurer de la bonne protection de tes data.
Et oui, 3 réseaux différents, voire de VLAN mais si on LAN principal pète, alors tes VLAN pètent aussi (non ? Je suis une tanche en réseau
).

C'est un vision idéale, qui n'est pas de moi, mais qui existe dans là où je travaille.
La raison : isoler complètement chaque serveur de toute "menace" extérieur. Car si tu mets tout dans 1 seule DMZ, dès lors que la personne mal intentionnée est dans la bulle c'est fini pour ton appli. Alors qu'avec simplement le flux http d'ouvert sur l'apache, le flux mysql sur le serveur de data, tu limites drastiquement les portes d'accès aux machines

Ensuite, si ce n'est qu'un forum, alors soit, tu isoles le tout et basta. Mais si c'est un site de VPC, alors il faut faire ça pour t'assurer de la bonne protection de tes data.
Et oui, 3 réseaux différents, voire de VLAN mais si on LAN principal pète, alors tes VLAN pètent aussi (non ? Je suis une tanche en réseau

Config pour projet perso : load balancing, mysql, LAMP
tout dépend de ou tu as défini ton VLAN, par exemple si c'est au niveau du Firewall, il y a une indépendance certaine entre ton VLan et le Lan, il plug le Vlan sur l'interface Lan mais crée une séparation virtuelle.
J'aurais une petite application développé et un forum, rien de plus pour le moment
par contre, est-ce que ça revient au même par exemple de nater toutes les requêtes vers le serveur web, et bloquer tout le reste depuis un accès externe pour sécuriser les deux autres serveurs ? j'ai l'impression que non.
pour continuer dans cette agréable problématique :
si j'en viens à mettre une DMZ / un firewall devant chaque serveur, qu'est-ce qui doit se faire : prendre 3 firewall de marque différentes ?
ce sont des vrais firewall dans lesquels en fait je recrée toute une archi devant chaque serveur, ou dois-je au contraire avoir des firewall virtuels : iptables sur les deux autres serveurs, netfilter, etc ....
la question en fait c'est plûtot : as-tu créer dans la mesure du possible une VRAIE séparation (par des appliances) ou te contentes-tu d'ajouter des protections supplémentaires sur les serveurs concernés ?
si tu en viens à load-balancer les machines, comment ça se passe :
le cluster MySql dans la DMZ, le LB dans la DMZ, etc ...

J'aurais une petite application développé et un forum, rien de plus pour le moment

pour continuer dans cette agréable problématique :
si j'en viens à mettre une DMZ / un firewall devant chaque serveur, qu'est-ce qui doit se faire : prendre 3 firewall de marque différentes ?
ce sont des vrais firewall dans lesquels en fait je recrée toute une archi devant chaque serveur, ou dois-je au contraire avoir des firewall virtuels : iptables sur les deux autres serveurs, netfilter, etc ....
la question en fait c'est plûtot : as-tu créer dans la mesure du possible une VRAIE séparation (par des appliances) ou te contentes-tu d'ajouter des protections supplémentaires sur les serveurs concernés ?
si tu en viens à load-balancer les machines, comment ça se passe :
le cluster MySql dans la DMZ, le LB dans la DMZ, etc ...

-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP
> Si tu es parano de la sécu alors ouiprendre 3 firewall de marque différentes ?


> Je ne maîtrise vraiment pas cette partie-làce sont des vrais firewall dans lesquels en fait je recrée toute une archi devant chaque serveur, ou dois-je au contraire avoir des firewall virtuels : iptables sur les deux autres serveurs, netfilter, etc ....





> Ni l'un ni l'autre en réalité. Je travaille sur l'existant. Quand on a des applis en DMZ, et si elles sont en cluster, les machines sont sur 2 sites physiques différents, donc 2 FW différents.la question en fait c'est plûtot : as-tu créer dans la mesure du possible une VRAIE séparation (par des appliances) ou te contentes-tu d'ajouter des protections supplémentaires sur les serveurs concernés ?
Mais sur un des projets en cours que je mène, il y aura une vraie séparation entre la partie appli (certain type de DMZ), et la partie data (une autre dmz). Et seuls les flux identifiés seront codés sur les FW. Car les bulles DMZ sont déjà existantes, on vient juste se greffer dessus.
> tout dépend de notre parano : si tu veux être le plus carré possible, alors les 2 apache doivent être sous 2 dmz différentes. Par contre pour les data, c'est bête mais je dirais de laisser 1 seule DMZ. Même si elle sera potentiellement hackable pour 2 voies au lieu d'une, au final on attaquera qu'une seule ip, celle du LB mysql.si tu en viens à load-balancer les machines, comment ça se passe :
le cluster MySql dans la DMZ, le LB dans la DMZ, etc ...
Donc soit tu mets ton LB mysql et les 2 serveurs mysql dans la même bulle DMZ, soit tu fais 3 bulles DMZ, 1 par machine.
Mon idée pour ton projet : 1 seul FW (soit un physique, soit une base d'iptables comme ipcop), sur lequel tu codes tous tes flux, de telle ip à telle ip pour tel port et basta. Ce sera le mieux à mon gout, et le moins couteux à mettre en route.
Config pour projet perso : load balancing, mysql, LAMP
ok, merci
j'ai tout saisi
je suis en train d'étudier, mais je pense qu'avec tout ça j'ai le compromis entre sécurité / simplicité et surtout geekité
je vais étudier surtout la répartition des serveurs soit dans un premier temps en tout laissant sur le même Lan par exmeple, en ensuite dans un deuxième temps, commencer à créer des subnets. Si je commence à load balancer alors je penserais aux DMZ
je suis aussi en train d'envisager les différentes conditions de remise en service justement : quel est le chemin le plus efficace à emprunter si un des composants de la chaîne venait à défaillir : comment éliminer le SPOF ou remttre rapidement en service la chose. ou même si je me fais hacker, comment isoler la portée de l'attaque.
ENFIN : comment envisager les indisponibilités d'un équipement /
pour continuer
: fais tu les mises à jour sur les systèmes d'exploitation ? comment ça se passe pour celles qui nécéssitent un reboot ?

j'ai tout saisi

je suis en train d'étudier, mais je pense qu'avec tout ça j'ai le compromis entre sécurité / simplicité et surtout geekité

je vais étudier surtout la répartition des serveurs soit dans un premier temps en tout laissant sur le même Lan par exmeple, en ensuite dans un deuxième temps, commencer à créer des subnets. Si je commence à load balancer alors je penserais aux DMZ

je suis aussi en train d'envisager les différentes conditions de remise en service justement : quel est le chemin le plus efficace à emprunter si un des composants de la chaîne venait à défaillir : comment éliminer le SPOF ou remttre rapidement en service la chose. ou même si je me fais hacker, comment isoler la portée de l'attaque.
ENFIN : comment envisager les indisponibilités d'un équipement /
pour continuer


-
- Messages : 732
- Inscription : ven. 12 janv. 2018 17:44
Config pour projet perso : load balancing, mysql, LAMP
soit on coupe le service, soit on fait ça hors service, soit si on est en mode sécurisé, alors on coupe un noeud.pour continuer: fais tu les mises à jour sur les systèmes d'exploitation ? comment ça se passe pour celles qui nécéssitent un reboot ?