Förbättrade förpostskript för databas konsekvent ögonblicksbild
Azure Backup-tjänsten tillhandahåller redan ett förinställt skriptramverk för att uppnå programkonsekvens i virtuella Linux-datorer med Azure Backup. Den här processen innebär att anropa ett förskript (för att quiesce 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 en förenklad pre/post-script-upplevelse för markeringsramdatabaser för att få programkonsekvent ögonblicksbild med minst omkostnader.
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, vilket 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 sorteras 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 sorteras 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 åtgärdsplan för alla meddelanden/händelser.
Lösningsflöde
Supportmatris
Följande lista över databaser omfattas av det förbättrade ramverket:
- Oracle (allmänt tillgängligt) - Länk till stödmatris
- MySQL (förhandsversion)
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 för- och efterskript. 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 | Ja | Detta innehåller namnet på databasen som du behöver program konsekvent säkerhetskopiering för. De aktuella värden 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 | Ja | 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 | Ja | 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. |
Kommentar
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 säkerhetskopiering av direktuppspelning (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 full + loggar skulle vara den snabbaste under återställningen men innebär betydande kostnader. Att inkludera säkerhetskopieringstypen differentiell/inkrementell direktuppspelning minskar kostnaden men kan påverka återställningsprestandan. Ögonblicksbilder ger dock den bästa kombinationen av prestanda och kostnader. 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 säkerhetskopiering av direktuppspelning beror på den underliggande lagrings-IOPS och nätverksbandbredden som är tillgänglig 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 säkerhetskopiering av direktuppspelning är olika för varje databas. Därför kan skript inte enkelt återanvändas. Om du använder olika typer av säkerhetskopiering ska du också se till att utvärdera beroendekedjan för att underhå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 separat. Men för driftsäkerhetskopior med kortsiktig kvarhållning är ögonblicksbilder gynnsamma.
Därför är en daglig ögonblicksbild + loggar med enstaka fullständiga säkerhetskopior 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 Mål för återställningspunkt (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 ut explicit.
NFS på blob och NFS på AFS (förhandsversion) hjälper till med enkel montering av volymer direkt på virtuella databasdatorer och använder databasklienter för att överföra loggsäkerhetskopior. Dataförlustfönstret som är RPO faller på frekvensen för loggsäkerhetskopior. NFS-mål behöver inte heller vara mycket högpresterande eftersom du kanske inte behöver utlösa vanlig direktuppspelning (fullständig och inkrementell) för driftsäkerhetskopior när du har en databas konsekvent ögonblicksbilder.
Kommentar
Det förbättrade förskriptet är vanligtvis noga med att rensa 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 databasens konsekventa ögonblicksbilder har tagits och loggsäkerhetskopiorna strömmas till en NFS-volym kan återställningsstrategin för databasen använda återställningsfunktionerna för säkerhetskopiering 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äkerhetskopieringsdata. 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 som utnyttjar fördelarna med säkerhetskopiering av virtuella Azure-datorer och även återanvända funktionerna för databasklienter.