MySQL High Availability is een optie die u kunt selecteren waarmee uw MySQL-database beschikbaar blijft in geval van een storing of onderbreking. Met deze functie kunt u hogere uptime-eisen en tolerantie voor dataverlies instellen. In dit artikel bekijken we wat het algemene concept van hoge beschikbaarheid inhoudt, en hoe de optie Hoge beschikbaarheid voor MySQL werkt.
Hoge beschikbaarheid is het vermogen van een systeem of dienst om te blijven functioneren en beschikbaar te blijven wanneer zich een storing of uitval voordoet. Een systeem met hoge beschikbaarheid zorgt ervoor dat de bedrijfskritische systemen en toepassingen van een organisatie altijd operationeel zijn. Het is vooral belangrijk voor organisaties in sectoren als gezondheidszorg, financiën en luchtvaart, waar het uitvallen van een bedrijfskritisch systeem ernstige gevolgen kan hebben.
Hoge beschikbaarheid wordt meestal uitgedrukt als een percentage van de uptime, gedefinieerd door service level agreements (SLA's), waarbij een score van 100 staat voor een systeem dat nooit faalt. Omdat dit vrijwel onhaalbaar is, streven de meeste organisaties naar "vijf negens" of 99,999% beschikbaarheid.
Een systeem met hoge beschikbaarheid moet onmiddellijk kunnen herstellen als zich een fout voordoet. Een architectuur met hoge beschikbaarheid vereist ten minste drie basiselementen die samenwerken om herstelbaarheid en hoge beschikbaarheid te garanderen:
MySQL heeft een High Availability-optie waarmee applicaties kunnen voldoen aan eisen voor een hogere uptime (en geen tolerantie voor dataverlies). Als de optie High Availability is ingeschakeld, creëert het MySQL-systeem drie instances in verschillende foutdomeinen of beschikbaarheidszones.
Data worden gerepliceerd tussen de drie instances met behulp van MySQL Group Replication, en de applicatie maakt verbinding met de primaire instance voor het lezen en schrijven van data van en naar de database. Bij een storing schakelt het systeem binnen enkele minuten automatisch over op een secundaire instance.
Het failover-mechanisme zet diensten over naar een gerepliceerde instance. Als er meer dan één back-up-instance beschikbaar is, kiest het failover-mechanisme de beste om naar de primaire node te verplaatsen.
Zodra failover naar een secundaire instance plaatsvindt, leidt de High Availability-functie alle applicatie- en gebruikersverbindingen om naar wat nu de nieuwe primaire node is. Ook worden alle zoekopdrachten van de oude primaire node omgeleid naar de nieuwe primaire database.
Uptime is de tijd dat een systeem beschikbaar is en correct functioneert en wordt uitgedrukt als een percentage van de totale tijd dat het systeem naar verwachting operationeel is. Een hoge uptime betekent dat het systeem meestal beschikbaar is en functioneert zoals verwacht.
De uptime die u kunt verwachten met verschillende niveaus van MySQL High Availability hangt af van de specifieke oplossing voor hoge beschikbaarheid (HA) die u implementeert.
Met MySQL Replication kunt u meerdere servers inrichten om redundantie en failover te bieden, zodat een hogere uptime wordt ondersteund dan met een MySQL-server zonder HA-mogelijkheid. Een master-slaveconfiguratie gebruikt een enkele masterserver die leest en schrijft en een of meer alleen-lezen slaveservers. Data van de masterserver worden asynchroon gerepliceerd naar de slaveservers.
Om failover te implementeren, moet u een of meer slaveservers instellen als stand-byservers die kunnen worden gepromoveerd tot master in geval van een storing. Failover is over het algemeen een handmatig proces waarbij u de slave node moet promoveren tot master node door de status van de gepromoveerde slave te veranderen in lees-schrijfmodus zodat deze verzoeken kan accepteren.
Omdat de failover handmatig wordt uitgevoerd, duurt het langer en kan er een menselijke fout plaatsvinden, waardoor de storing langer duurt. MySQL Replication gebruikt ook asynchrone replicatie, wat betekent dat als de master faalt, transacties die op de master zijn vastgelegd mogelijk nog niet zijn gerepliceerd naar de slaveservers. Als er bedrijfskritische data verloren gaan, moeten de data worden hersteld, waardoor het systeem langer buiten gebruik is.
Met MySQL Group Replication kunt u hogere uptimes bereiken dan met MySQL Replication. Met MySQL Group Replication zet u meerdere MySQL-servers in een groep, waarbij één server wordt aangewezen als de primaire server en de andere servers als secundaire servers. Elke server in de groep onderhoudt een kopie van de data en gebruikt replicatie om ervoor te zorgen dat de kopieën synchroon blijven.
Als de primaire server uitvalt, detecteren de secundaire servers in de groep de storing automatisch en begint het failoverproces. Een van de secundaire servers wordt automatisch gepromoveerd tot de nieuwe primaire server en begint verzoeken van cliënten te behandelen. De andere secundaire leden in de groep ontvangen nu updates van de nieuwe primaire server en gaan door met het verwerken van client-leesverzoeken.
Als de uitgevallen server weer online komt, voegt hij zich automatisch weer bij de groep als secundaire server.
Omdat foutdetectie en failover automatisch plaatsvinden met MySQL Group Replication, is de downtime minimaal en weten gebruikers en applicaties meestal niet dat er een storing is opgetreden.
Een MySQL Cluster HA-oplossing biedt het hoogste niveau van uptime. Dit uiterst beschikbare, gedistribueerde databasesysteem, samen met automatische failover en load balancing, biedt hoge mate van beschikbaarheid, prestaties en schaalbaarheid en is ontworpen om vrijwel geen downtime te hebben.
MySQL Cluster gebruikt drie soorten nodes die samenwerken om data op te slaan en te beheren:
Als een of meer nodes in een cluster uitvallen, detecteert het cluster het probleem automatisch en start het failoverproces. Het hele proces gebeurt doorgaans binnen één seconde na een storing, zonder dat de service aan cliënttoepassingen wordt onderbroken. Het cluster blijft normaal functioneren, met vrijwel geen downtime.
Werk in een self-service omgeving om het management van een Pure FlashArray™//X te ervaren. Ontdek geavanceerde functies, waaronder snapshots, replicatie, ActiveCluster™ en zelfs integratie van VMware.
Hersteltijd is de tijd die een MySQL-systeem nodig heeft om te herstellen van uitval. Een langere hersteltijd leidt tot een verminderde beschikbaarheid en kan het vermogen van het bedrijf om inkomsten te genereren, de productiviteit van de medewerkers en de klanttevredenheid direct beïnvloeden.
In MySQL is de hersteltijd afhankelijk van het replicatietype dat u gebruikt:
Om uw MySQL High Availability-vereisten te bepalen, zult u verschillende factoren moeten overwegen, waaronder:
Laten we eens kijken naar een paar gebruikssituaties die MySQL High Availability-oplossingen vereisen:
Websites met veel verkeer verwerken duizenden zoekopdrachten en transacties per seconde, om nog maar te zwijgen van duizenden gelijktijdige gebruikers. Maatregelen voor hoge beschikbaarheid zoals serverredundantie en load balancing kunnen ervoor zorgen dat de database beschikbaar blijft en de belasting aankan.
Redundante servers zorgen ervoor dat de website beschikbaar blijft, zelfs als een server uitvalt, en load balancing van inkomende verzoeken over meerdere servers voorkomt dat een enkele server overbelast raakt en offline gaat.
Bedrijven met bedrijfskritische systemen en toepassingen vereisen een hoog niveau van beschikbaarheid en uptime. Meestal kunnen deze systemen zich geen downtime veroorloven, en moet de database te allen tijde beschikbaar blijven.
MySQL HA-oplossingen zoals Group Replication of Cluster zijn in dit geval ideaal omdat ze gebruik maken van een automatisch failovermechanisme dat resulteert in weinig of geen downtime.
Pure Storage® Evergreen™ is een portfolio van abonnementen die zorgen voor implementaties zonder downtime. In combinatie met de unieke storage array-architectuur van Pure Storage stelt Evergreen u in staat de storage-infrastructuur te upgraden zonder de service workloads te onderbreken.
Pure ondersteunt ook active-active clustering en automatische, transparante failover met Purity ActiveCluster™, een multi-site active-active stretch cluster, voor zero RPO en RTO.
Overweeg ook Pure Cloud Block Store™, die cloudbetrouwbaarheid op bedrijfsniveau biedt voor bedrijfskritische applicaties. Met non-disruptieve upgrades en hoge beschikbaarheid tussen beschikbaarheidszones wordt hoge beschikbaarheid bereikt voor multi-cloud bedrijfscontinuïteit en disaster recovery.
Hebt u een vraag of opmerking over Pure-producten of certificeringen? Wij zijn er om te helpen.
Plan een livedemo in en zie zelf hoe Pure kan helpen om jouw data in krachtige resultaten om te zetten.
Bel ons: 31 (0) 20-201-49-65
Media: pr@purestorage.com
Pure Storage
Herikerbergweg 292
1101 CT . Amsterdam Zuidoost
The Netherlands