Cluster verhuizing

Dit is het grootste project in de afgelopen anderhalve jaar. MobGen heeft een cluster opgezet dat de functies en schaalbaarheid van het oude infrastructuur op moet vangen.

De indeling van het cluster ziet er als volgt uit:
2x Loadbalancer
3x Apache web servers
3x MySQL data nodes
2x MySQL data storage servers

De opstelling
De opstelling van het cluster is gedaan door andere medewerkers in het bedrijf. Dit was in de tussenperiode van februari 2011 tot september 2011 gedaan.
De opstelling van een cluster is in het begin al vrij kritisch omdat we na verloop van tijd toch tegen problemen aan liepen dat niet in een cluster horen te zitten. Denk hierbij aan opslag van data dat op alle 3 de servers gelijk moeten blijven en vliegensvlug bijgewerkt moet worden.
In mijn stageperiode bij MobGen zijn we hier tegen aan gelopen. Vanuit apachenode 1 wordt het gesynchroniseerd naar apachenode 2 en 3. Wat hierbij het probleem secnario is, is dat als je wat op apachenode 2 of 3 aanmaakt, dat het niet gesynchroniseerd wordt naar apachenode 1.

Het zwakke punt in deze opstelling is de data opslag. Op dit moment moet een bezoeker op dezelfde server blijven om zijn onthouden sessie en dergelijke te bewaren. Dit zou eventueel opgelost kunnen worden door mysql als file storage te gebruiken, maar aangezien mysql als cluster opgezet is, zal al deze data bewaard worden in het RAM geheugen.
Dit is echter nog steeds geen oplossing aangezien de servers max 16 - 32 GB RAM hebben per server. Je zou denken dat een disktable zou werken, maar dit is echter te langzaam om in een productieomgeving te gebruiken.
Het probleem is vrij simpel op te lossen door een data server erbij te voegen. Zie hieronder als voorbeeld:

Het project
Mijn taak van het project was om de websites die op die oude webserver draait, over te zetten op de cluster en te zorgen dat alles goed werkt. Voor de websites met een CMS systeem hebben we een aparte url voor gemaakt. Dit was nodig om al het verkeer naar 1 vaste webserver te laten lopen zodat elk cms systeem correct werkt.
In dit project heb ik veel geleerd. Zo weet ik nu hoe je makkelijk bestanden kan doorzoeken en weet nu ook hoe je apache handmatig in kan stellen. In de afgelopen 2 maanden heb ik dit ook uitgeoefend op een lichte VPS server en is succesvol verlopen.