Hoe werkt Galera en hoe past Shock Media deze techniek toe?


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.

galera
Voorbeeld Galera-opstelling

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 redactie@ispam.nl of kijk op deze pagina voor meer informatie over het leveren van een bijdrage aan ISPam.nl.

Nog geen reacties

Feedback!
Fill out my online form.
Laatste reacties

Bedankt voor het succes van ISPam.nl
Koen Stegeman, Editor-in-Chief & founder Hostingjournalist.com: Jammer Arnout, maar je hebt een mooie bijdrage aan de hosting industrie geleverd, en dat jaren lang....

Bedankt voor het succes van ISPam.nl
Dillard Blom: Jammer dat een 'instituut' verdwijnt, en daarmee een bron van informatie over actuele zaken (en opin...

Bedankt voor het succes van ISPam.nl
L.: Uit automatisme kijk ik toch nog steeds elke dag naar ispam.nl, toch de hoop dat er nog een berichtj...

Bedankt voor het succes van ISPam.nl
Toni Donkers: Arnout bedankt! ik ga het missen dat is een feit!

Bedankt voor het succes van ISPam.nl
Marcel Stegeman: Ik zie het nu pas. Inderdaad jammer maar ik kijk nu al uit naar het volgende project.