Hög tillgänglighet i Azure Database for MySQL

GÄLLER FÖR: Azure Database for MySQL – enskild server

Viktigt!

Azure Database for MySQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till en flexibel Azure Database for MySQL-server. Mer information om hur du migrerar till en flexibel Azure Database for MySQL-server finns i Vad händer med Azure Database for MySQL – enskild server?

Azure Database for MySQL-tjänsten ger en garanterad hög tillgänglighetsnivå med det ekonomiskt säkerhetskopierade serviceavtalet (SLA) på 99,99 % drifttid. Azure Database for MySQL ger hög tillgänglighet under planerade händelser, till exempel användarinitierad skalningsberäkningsåtgärd, och även när oplanerade händelser som underliggande maskinvara, programvara eller nätverksfel inträffar. Azure Database for MySQL kan snabbt återställas från de flesta kritiska omständigheter, vilket garanterar praktiskt taget ingen programstoppstid när du använder den här tjänsten.

Azure Database for MySQL är lämpligt för att köra verksamhetskritiska databaser som kräver hög drifttid. Tjänsten bygger på Azure-arkitektur och har funktioner för hög tillgänglighet, redundans och återhämtning för att minska databasavbrott från planerade och oplanerade avbrott, utan att du behöver konfigurera några ytterligare komponenter.

Komponenter i Azure Database for MySQL

Komponent Beskrivning
MySQL-databasserver Azure Database for MySQL tillhandahåller säkerhet, isolering, resursskydd och snabb omstart för databasservrar. Dessa funktioner underlättar åtgärder som skalning och återställning av databasserver efter ett avbrott på 60–120 sekunder beroende på transaktionsaktiviteten i databasen.
Dataändringar på databasservern sker vanligtvis i samband med en databastransaktion. Alla databasändringar registreras synkront i form av loggning i förväg (ib_log) i Azure Storage – som är ansluten till databasservern. Under databaskontrollpunktsprocessen töms även datasidor från databasserverminnet till lagringen.
Fjärrlagring Alla fysiska MySQL-datafiler och loggfiler lagras i Azure Storage, som är konstruerat för att lagra tre kopior av data i en region för att säkerställa dataredundans, tillgänglighet och tillförlitlighet. Lagringsskiktet är också oberoende av databasservern. Den kan kopplas från en misslyckad databasserver och kopplas tillbaka till en ny databasserver inom 60 sekunder. Dessutom övervakar Azure Storage kontinuerligt eventuella lagringsfel. Om en blockskada identifieras, åtgärdas den automatiskt genom instans av en ny lagringskopia.
Gateway Gatewayen fungerar som en databasproxy och dirigerar alla klientanslutningar till databasservern.

Planerad stilleståndstidsreducering

Azure Database for MySQL är konstruerat för att ge hög tillgänglighet under planerade driftstopp.

view of Elastic Scaling in Azure MySQL

Här följer några scenarier för planerat underhåll:

Scenario Beskrivning
Upp-/nedskalning av beräkning När användaren utför upp- och nedskalningsåtgärden etableras en ny databasserver med hjälp av den skalbara beräkningskonfigurationen. I den gamla databasservern tillåts aktiva kontrollpunkter att slutföras, klientanslutningar töms, eventuella icke-utelämnade transaktioner avbryts och stängs sedan av. Lagringen kopplas sedan från den gamla databasservern och kopplas till den nya databasservern. När klientprogrammet försöker upprätta en ny anslutning dirigerar gatewayen anslutningsbegäran till den nya databasservern.
Skala upp lagring Att skala upp lagringen är en onlineåtgärd och avbryter inte databasservern.
Ny programvarudistribution (Azure) Nya funktioner för distribution eller felkorrigeringar sker automatiskt som en del av tjänstens planerade underhåll. Mer information finns i dokumentationen och kontrollera även portalen.
Delversionsuppgraderingar Azure Database for MySQL korrigerar automatiskt databasservrar till den delversion som bestäms av Azure. Det sker som en del av tjänstens planerade underhåll. Under planerat underhåll kan databasservern startas om eller redundansväxlar, vilket kan leda till kort otillgänglighet för databasservrarna för slutanvändare. Azure Database for MySQL-servrar körs i containrar, så omstarter av databasservern går vanligtvis snabbt och förväntas slutföras vanligtvis inom 60–120 sekunder. Hela den planerade underhållshändelsen, inklusive varje omstart av servern, övervakas noggrant av teknikteamet. Serverns redundanstid är beroende av databasåterställningstiden, vilket kan göra att databasen blir online längre om du har en stor transaktionsaktivitet på servern vid tidpunkten för redundansväxlingen. För att undvika längre omstartstid rekommenderar vi att du undviker tidskrävande transaktioner (massinläsningar) under planerade underhållshändelser. Mer information finns i dokumentationen och kontrollera även portalen.

Åtgärder för oplanerade driftstopp

Oplanerade driftstopp kan uppstå till följd av oförutsedda fel, inklusive underliggande maskinvarufel, nätverksproblem och programvarubuggar. Om databasservern oväntat slutar fungera etableras en ny databasserver automatiskt om 60–120 sekunder. Fjärrlagringen ansluts automatiskt till den nya databasservern. MySQL-motorn utför återställningsåtgärden med hjälp av WAL- och databasfiler och öppnar databasservern så att klienter kan ansluta. Ogenomförda transaktioner går förlorade och de måste göras om av programmet. Det går inte att undvika en oplanerad stilleståndstid, men Azure Database for MySQL minskar stilleståndstiden genom att automatiskt utföra återställningsåtgärder på både databasservern och lagringsskikten utan mänsklig inblandning.

view of High Availability in Azure MySQL

Oplanerad stilleståndstid: felscenarier och tjänståterställning

Här följer några felscenarier och hur Azure Database for MySQL återställs automatiskt:

Scenario Automatisk återställning
Databasserverfel Om databasservern är nere på grund av ett underliggande maskinvarufel avbryts aktiva anslutningar och eventuella inflight-transaktioner avbryts. En ny databasserver distribueras automatiskt och fjärrdatalagringen kopplas till den nya databasservern. När databasåterställningen är klar kan klienterna ansluta till den nya databasservern via gatewayen.

Program som använder MySQL-databaserna måste byggas på ett sätt som gör att de identifierar och försöker avbryta anslutningar och misslyckade transaktioner igen. När programmet försöker igen omdirigerar gatewayen transparent anslutningen till den nyligen skapade databasservern.
Lagringsfel Program ser ingen inverkan på lagringsrelaterade problem, till exempel ett diskfel eller en fysisk blockskada. Eftersom data lagras i tre kopior hanteras kopian av data av den kvarvarande lagringen. Blockfel korrigeras automatiskt. Om en kopia av data går förlorad skapas automatiskt en ny kopia av data.

Här följer några felscenarier som kräver att användaråtgärden återställs:

Scenario Återhämtningsplan
Regionfel Fel i en region är en sällsynt händelse. Men om du behöver skydd mot ett regionfel kan du konfigurera en eller flera läsrepliker i andra regioner för haveriberedskap (DR). (Mer information finns i den här artikeln om hur du skapar och hanterar läsrepliker). I händelse av ett fel på regionnivå kan du manuellt höja upp den läsreplik som konfigurerats i den andra regionen så att den blir din produktionsdatabasserver.
Logiska/användarfel Återställning från användarfel, till exempel oavsiktligt borttagna tabeller eller felaktigt uppdaterade data, innebär att du utför en återställning till tidpunkt (PITR) genom att återställa och återställa data fram till den tid som precis innan felet inträffade.

Om du bara vill återställa en delmängd av databaser eller specifika tabeller i stället för alla databaser i databasservern kan du återställa databasservern i en ny instans, exportera tabellerna via mysqldump och sedan använda återställning för att återställa tabellerna till databasen.

Sammanfattning

Azure Database for MySQL ger snabb omstart av databasservrar, redundant lagring och effektiv routning från gatewayen. För ytterligare dataskydd kan du konfigurera att säkerhetskopior ska geo-replikeras och även distribuera en eller flera läsrepliker i andra regioner. Med funktioner med hög tillgänglighet skyddar Azure Database for MySQL dina databaser från de vanligaste avbrotten och erbjuder ett branschledande, ekonomibaserat serviceavtal på 99,99 % drifttid. Med alla dessa tillgänglighets- och tillförlitlighetsfunktioner kan Azure vara den perfekta plattformen för att köra verksamhetskritiska program.

Nästa steg