Förbättrade förinställda skript för databaskonsekvent ögonblicksbild

Azure Backup-tjänsten tillhandahåller redan ett förinställt skriptramverk för att uppnå programkonsekvens i virtuella Linux-datorer med hjälp av Azure Backup. Detta innebär att anropa ett förskript (för att kvitta programmen) innan du tar en ögonblicksbild av diskar och anropar efterskriptet (kommandon för att avfrysa programmen) när ögonblicksbilden har slutförts för att återgå till det normala läget.

Det kan vara svårt att redigera, felsöka och underhålla e-skript före/efter. För att ta bort den här komplexiteten ger Azure Backup förenklad pre/post-script-upplevelse för markeringsdatabaser för att få programkonsekvent ögonblicksbild med minst omkostnader.

Diagram som visar programkonsekvent ögonblicksbild av Linux efter Azure Backup.

Det nya förbättrade ramverket för förinställda skript har följande viktiga fördelar:

  • Dessa förinställda skript installeras direkt på virtuella Azure-datorer tillsammans med säkerhetskopieringstillägget. Detta hjälper till att eliminera redigering och ladda ned dem från en extern plats.
  • Du kan visa definitionen och innehållet i förinställda skript i GitHub, till och med skicka förslag och ändringar. Du kan till och med skicka förslag och ändringar via GitHub, som kommer att triageras och läggas till för att gynna den bredare communityn.
  • Du kan till och med lägga till nya förinställda skript för andra databaser via GitHub, som kommer att triageras och adresseras för att gynna den bredare communityn.
  • Det robusta ramverket är effektivt för att hantera scenarier, till exempel körningsfel före skript eller krascher. I vilket fall som helst körs efterskriptet automatiskt för att återställa alla ändringar som gjorts i förskriptet.
  • Ramverket tillhandahåller också en meddelandekanal för externa verktyg för att hämta uppdateringar och förbereda en egen handlingsplan för alla meddelanden/händelser.

Lösningsflöde

Diagram som visar lösningsflödet.

Stödmatris

Följande lista över databaser omfattas av det förbättrade ramverket:

Förutsättningar

Du behöver bara ändra en konfigurationsfil, workload.conf i /etc/azure, för att ange anslutningsinformation. På så sätt kan Azure Backup ansluta till det relevanta programmet och köra pre- och post-scripts. Konfigurationsfilen har följande parametrar.

[workload]
# valid values are mysql, oracle
workload_name =
command_path = 
linux_user =
credString = 
ipc_folder = 
timeout =

I följande tabell beskrivs parametrarna:

Parameter Obligatorisk Förklaring
workload_name Yes Detta innehåller namnet på databasen som du behöver program konsekvent säkerhetskopiering för. De aktuella värdena som stöds är oracle eller mysql.
command_path/configuration_path Detta innehåller sökvägen till binär arbetsbelastningen. Det här är inte ett obligatoriskt fält om binärfilen för arbetsbelastningen anges som sökvägsvariabel.
linux_user Yes Detta innehåller användarnamnet för Linux-användaren med åtkomst till databasanvändarinloggningen. Om det här värdet inte har angetts betraktas roten som standardanvändare.
credString Detta står för autentiseringssträng för att ansluta till databasen. Detta innehåller hela inloggningssträngen.
ipc_folder Arbetsbelastningen kan bara skriva till vissa filsystemsökvägar. Du måste ange den här mappsökvägen så att förskriptet kan skriva tillstånden till den här mappsökvägen.
timeout Yes Det här är den maximala tidsgränsen för vilken databasen kommer att vara i quiesce-tillstånd. Standardvärdet är 90 sekunder. Vi rekommenderar inte att du anger ett värde som är mindre än 60 sekunder.

Anteckning

JSON-definitionen är en mall som Azure Backup-tjänsten kan ändra för att passa en viss databas. Information om konfigurationsfilen för varje databas finns i varje databashandbok.

Den övergripande upplevelsen för att använda det förbättrade ramverket för förinställda skript är följande:

  • Förbereda databasmiljön
  • Redigera konfigurationsfilen
  • Utlös säkerhetskopieringen av den virtuella datorn
  • Återställ virtuella datorer eller diskar/filer från programkonsekvent återställningspunkt efter behov.

Skapa en strategi för databassäkerhetskopiering

Använda ögonblicksbilder i stället för direktuppspelning

Vanligtvis används strömmande säkerhetskopieringar (till exempel fullständiga, differentiella eller inkrementella) och loggar av databasadministratörer i deras säkerhetskopieringsstrategi. Följande är några av de viktigaste pivoterna i designen.

  • Prestanda och kostnad: En daglig fullständig + loggar skulle vara den snabbaste under återställningen men innebär betydande kostnader. Att inkludera den differentiella/inkrementella säkerhetskopieringstypen för direktuppspelning minskar kostnaden men kan påverka återställningsprestandan. Men ögonblicksbilder ger den bästa kombinationen av prestanda och kostnad. Eftersom ögonblicksbilder i sig är inkrementella har de minst inverkan på prestanda under säkerhetskopieringen, återställs snabbt och sparar även kostnader.
  • Påverkan på databas/infrastruktur: Prestandan för en direktuppspelningssäkerhetskopia beror på den underliggande lagrings-IOPS och den tillgängliga nätverksbandbredden när strömmen riktas mot en fjärrplats. Ögonblicksbilder har inte det här beroendet och efterfrågan på IOPS och nätverksbandbredden minskar avsevärt.
  • Återanvändbarhet: Kommandona för att utlösa olika typer av strömmande säkerhetskopiering är olika för varje databas. Därför kan skript inte enkelt återanvändas. Om du använder olika säkerhetskopieringstyper bör du också utvärdera beroendekedjan för att upprätthålla livscykeln. För ögonblicksbilder är det enkelt att skriva skript eftersom det inte finns någon beroendekedja.
  • Långsiktig kvarhållning: Fullständiga säkerhetskopior är alltid bra för långsiktig kvarhållning0 eftersom de kan flyttas och återställas oberoende av varandra. Men för driftsäkerhetskopior med kortsiktig kvarhållning är ögonblicksbilder gynnsamma.

Därför är en daglig ögonblicksbild + loggar med tillfällig fullständig säkerhetskopiering för långsiktig kvarhållning den bästa säkerhetskopieringsprincipen för databaser.

Strategi för loggsäkerhetskopiering

Det förbättrade ramverket för förinställda skript bygger på säkerhetskopiering av virtuella Azure-datorer som schemalägger säkerhetskopiering en gång per dag. Dataförlustfönstret med RPO som 24 timmar är därför inte lämpligt för produktionsdatabaser. Den här lösningen kompletteras med en strategi för loggsäkerhetskopiering där loggsäkerhetskopior strömmas uttryckligen.

NFS på blob ochNFS på AFS (förhandsversion) hjälper till att enkelt montera volymer direkt på virtuella databasdatorer och använda databasklienter för att överföra loggsäkerhetskopior. Dataförlustfönstret, som är RPO, faller på frekvensen för loggsäkerhetskopior. NFS-målen behöver inte heller vara mycket högpresterande eftersom du kanske inte behöver utlösa regelbunden direktuppspelning (fullständig och inkrementell) för driftsäkerhetskopior när du har en databas konsekventa ögonblicksbilder.

Anteckning

Det förbättrade förskriptet är vanligtvis noga med att tömma alla loggtransaktioner under överföring till målet för loggsäkerhetskopiering innan databasen skickas för att ta en ögonblicksbild. Ögonblicksbilderna är därför databas konsekventa och tillförlitliga under återställningen.

Återställningsstrategi

När databaskonsekventa ögonblicksbilder har tagits och loggsäkerhetskopiorna strömmas till en NFS-volym kan återställningsstrategin för databasen använda återställningsfunktionen för säkerhetskopieringar av virtuella Azure-datorer. Möjligheten för loggsäkerhetskopior tillämpas dessutom på den med hjälp av databasklienten. Följande är några alternativ för återställningsstrategi:

  • Skapa nya virtuella datorer från en databas konsekvent återställningspunkt. Den virtuella datorn bör redan ha loggmonteringspunkten ansluten. Använd databasklienter för att köra återställningskommandon för återställning till tidpunkt.
  • Skapa diskar från en databas konsekvent återställningspunkt och koppla den till en annan virtuell måldator. Montera sedan loggmålet och använd databasklienter för att köra återställningskommandon för återställning till tidpunkt
  • Använd alternativet filåterställning och generera ett skript. Kör skriptet på den virtuella måldatorn och koppla återställningspunkten som iSCSI-diskar. Använd sedan databasklienter för att köra databasspecifika valideringsfunktioner på de anslutna diskarna och verifiera säkerhetskopierade data. Använd även databasklienter för att exportera/återställa några tabeller/filer i stället för att återställa hela databasen.
  • Använd funktionen För återställning mellan regioner för att utföra ovanstående åtgärder från den sekundära parkopplade regionen under en regional katastrof.

Sammanfattning

Med hjälp av databaskonsekventa ögonblicksbilder + loggar som säkerhetskopieras med en anpassad lösning kan du skapa en högpresterande och kostnadseffektiv lösning för säkerhetskopiering av databaser med hjälp av fördelarna med säkerhetskopiering av virtuella Azure-datorer och även återanvända funktionerna för databasklienter.