- Door
- Isabelle Walter, Managed Hosting Specialist (Shock Media)
- geplaatst op
- 7 april 2016 10:00 uur
Bedrijfskritische applicaties van klanten vereisen doorgaans een kritieke hostingomgeving waarbij data op elk moment beschikbaar moet zijn. Om dit te realiseren is het belangrijk dat er een opstelling wordt opgezet waarbij uitval van een server of applicatie geen invloed heeft op de beschikbaarheid van de kritieke omgeving. Bij uitval kan gedacht worden aan uitval door een storing, het herstarten van een server voor een kritieke update, maar ook het herstarten van alleen de webserver of databaseserver. Om deze uitval op te kunnen vangen is het van belang dat er van elk onderdeel in de omgeving altijd meerdere real-time kopieën beschikbaar zijn die de taak kunnen overnemen.
Eén van de technieken die wij toepassen om uitval op te vangen binnen kritieke omgevingen, is Galera. Galera wordt in combinatie met MySQL gebruikt bij databases en maakt het mogelijk om meerdere MySQL-servers te clusteren. Alle MySQL-servers binnen zo’n cluster maken gebruik van exact dezelfde data. Tevens worden aanpassingen van data in het cluster continu gesynchroniseerd naar andere servers binnen het cluster. Hierbij kan elke server binnen dit cluster aanpassingen maken aan de data, een zogenoemd ‘Multi-Master Cluster’.
De meeste applicaties die gebruikmaken van MySQL, zullen geen of weinig aanpassingen nodig hebben om te draaien op een Galera-cluster. Dit komt doordat elke server in het cluster gebruikt kan worden om beschreven en gelezen te worden. Doordat er geen of weinig aanpassingen vereist zijn, is het voor klanten slechts een kleine stap om door te groeien naar een Galera-opstelling, welke de zekerheid biedt dat de uitval van een MySQL-server niet meer tot uitval van de applicatie zal leiden.
Hoe werkt Galera?
In grote lijnen werkt Galera op basis van datareplicatie van servers binnen een cluster, waarbij de data van het cluster continu gesynchroniseerd wordt tussen alle nodes. Wanneer er op één server data wordt toegevoegd of gewijzigd middels een MySQL-query zorgt dit voor wijzigingen van data op het gehele cluster. Galera zorgt ervoor dat wijzigingen van data worden verspreid over alle andere servers. Hierdoor werken alle servers constant met dezelfde data.
Overlap van data
Bij het schrijven van data door meerdere servers tegelijk en het continu tegelijk synchroniseren van deze data over de servers, kijkt Galera of de schrijfacties elkaar in de weg zitten waardoor er een ‘lock’ ontstaat.
-
Mocht er geen overlap van data zijn, dan zullen de schrijfacties gelijktijdig uitgevoerd worden en zal het cluster de rest van de servers op basis van deze wijzigingen weer gelijk maken met de data op het cluster.
-
Mocht er wel overlap zijn, dan wordt één schrijfactie in de wacht gezet tot de andere schrijfactie is voltooid. Vervolgens wordt de query opnieuw uitgevoerd. Galera gaat heel slim om met datawijzigingen, zodat deze ‘locks’ en het in de wacht zetten zo veel mogelijk worden voorkomen.
Vereisten
In een enkele MySQL-server komen ‘locks’ ook voor, echter binnen een Galera-opstelling kunnen ‘locks’ in meer situaties voorkomen. Hierdoor is het mogelijk dat er aanpassingen zijn vereist in de afhandeling van queries en deze moeten worden doorgevoerd in sommige applicaties. Een andere vereiste voor de applicatie is dat alle tabellen die gesynchroniseerd moeten worden binnen het cluster, gebruik moeten maken van InnoDB.
Hoe passen wij Galera toe?
Wij zijn uiterst ervaren op het gebied van Galera en veel opdrachtgevers maken dan ook al gebruik van een Galera-opstelling voor de database-infrastructuur. De omgevingen die gebruikmaken van Galera variëren van grote Magento-webshops en WordPress-installaties tot volledige maatwerk (web)applicaties. Ook veel van onze eigen interne systemen maken al jaren gebruik van een Galera-opstelling. Hierbij is gekozen om de opstelling over 4 geografisch gescheiden locaties op te zetten. Hierbij wordt data continu gesynchroniseerd en heeft eventuele uitval van één of zelfs meerdere locaties geen invloed op de beschikbaarheid van de interne systemen.
Geschreven door Isabelle Walter, Managed Hosting Specialist, Shock Media en Niels te Grotenhuis, System Administrator, Shock Media
Geschreven door Isabelle Walter, Managed Hosting Specialist (Shock Media)
Dit ingezonden artikel is geschreven door Isabelle Walter, Managed Hosting Specialist van Shock Media.
Lees ook de onderstaande artikelen van Shock Media
Stuur ook uw blog, achtergrond artikel of andere bijdrage in!
Indien u zelf een interessante bijdrage, zoals een blog, how-to of achtergrond heeft, dan plaatsen wij die graag en dat kost u niks. Neem contact op met de ISPam.nl redactie via [email protected] of kijk op deze pagina voor meer informatie over het leveren van een bijdrage aan ISPam.nl.