sql >> Databasteknik >  >> RDS >> PostgreSQL

ClusterControl - Advanced Backup Management - PostgreSQL

Information är en av de mest värdefulla tillgångarna i ett företag, så du behöver en bra Disaster Recovery Plan (DRP) för att förhindra dataförlust i händelse av en olycka eller maskinvarufel. Säkerhetskopiering är ett grundläggande steg i alla DR-planer, men hantering och övervakning av dem kan vara en svår uppgift om du har en komplex miljö.

ClusterControl har många avancerade funktioner för säkerhetskopiering (bland annat viktiga funktioner som automatisk failover, övervakning, etc.), som gör att du inte bara kan ta olika typer av säkerhetskopior, på olika sätt, utan även komprimera, kryptera, verifiera och ännu mer.

I den här bloggen kommer vi att se hur du kan använda ClusterControl för att hantera dina säkerhetskopior på ett avancerat sätt för ditt PostgreSQL-databaskluster.

Säkerhetskopieringstyper

Låt oss först nämna vilka typer av säkerhetskopior du kan använda för att skydda dina data.

  • Logiskt:Säkerhetskopieringen lagras i ett läsbart format som SQL.

  • Fysisk:Säkerhetskopieringen innehåller binär data.

  • Fullständig/Inkrementell/Differentiell:Definitionen av dessa tre typer av säkerhetskopior är implicit i namnet. Den fullständiga säkerhetskopian är en fullständig kopia av alla dina data. Inkrementell säkerhetskopiering säkerhetskopierar endast de data som har ändrats sedan föregående säkerhetskopiering och den differentiella säkerhetskopieringen innehåller endast de data som har ändrats sedan den senaste fullständiga säkerhetskopieringen utfördes. De inkrementella och differentiella säkerhetskopieringarna introducerades som ett sätt att minska mängden tid och diskutrymmesanvändning som det tar att utföra en fullständig säkerhetskopiering.

  • Point In Time Recovery-kompatibel:PITR Innebär att databasen återställs när som helst i det förflutna. För att kunna göra detta måste du återställa en fullständig säkerhetskopia och sedan tillämpa alla ändringar som hände efter säkerhetskopieringen tills precis innan felet.

Genom att använda ClusterControl kan du ta alla dessa typer av säkerhetskopior för din PostgreSQL-databas eller till och med kombinera dem för att förbättra din säkerhetskopieringsstrategi.

ClusterControl Backup Management-funktioner

Nu ska vi se hur ClusterControl kan hjälpa dig att hantera alla olika typer av säkerhetskopior från samma användarvänliga gränssnitt och system.

Vi antar att du har din ClusterControl-server installerad och att den hanterar ditt PostgreSQL-kluster. Annars kan du följa vår officiella dokumentation för att installera ClusterControl och distribuera eller importera ditt PostgreSQL-kluster med det.

Skapa en säkerhetskopia

För detta, gå till ClusterControl -> Välj ditt PostgreSQL-kluster -> Säkerhetskopiering -> Skapa säkerhetskopia.

Du kan skapa en ny säkerhetskopia eller konfigurera en schemalagd. För vårt exempel kommer vi att skapa en enda säkerhetskopia direkt.

Här har du en metod för varje typ av säkerhetskopiering som vi nämnde tidigare.

Säkerhetskopieringstyp

Verktyg

Definition

Logiskt

pg_dumpall

Det är ett verktyg för att skriva ut alla PostgreSQL-databaser i ett kluster till en skriptfil. Skriptfilen innehåller SQL-kommandon som kan användas för att återställa databaserna.

Fysisk

pg_basebackup

Den används för att göra en binär kopia av databasklusterfilerna samtidigt som man ser till att systemet automatiskt sätts i och ur säkerhetskopieringsläge. Säkerhetskopiering tas alltid av hela databasklustret i ett körande PostgreSQL-databaskluster. Dessa tas utan att andra klienter till databasen påverkas.

Full/Incr/Diff

pgbackrest

Det är en enkel, pålitlig lösning för säkerhetskopiering och återställning som sömlöst kan skalas upp till de största databaserna och arbetsbelastningarna genom att använda algoritmer som är optimerade för databasspecifika krav. En av de viktigaste funktionerna är stödet för fullständiga, inkrementella och differentiella säkerhetskopior.

PITR

pg_basebackup + WALs

För att skapa en PITR-kompatibel säkerhetskopia kommer ClusterControl att använda pg_basebackup och WAL-filerna för att kunna återställa databasen när som helst i det förflutna.

Du måste välja en metod, servern som säkerhetskopieringen ska tas från och var du vill lagra säkerhetskopian. Du kan också ladda upp din säkerhetskopia till molnet (AWS, Google Cloud eller Azure) i samma säkerhetskopieringsjobb genom att aktivera motsvarande alternativ.

Sedan kan du ange komprimering, kryptering och lagringsperioden för din säkerhetskopior.

På avsnittet för säkerhetskopiering kan du se förloppet för säkerhetskopieringen och information som metod, storlek, plats och mer.

Återställa en säkerhetskopia

När säkerhetskopieringen är klar kan du återställa den genom att använda ClusterControl. För detta, i din säkerhetskopieringssektion (ClusterControl -> Välj PostgreSQL Cluster -> Säkerhetskopiering), kan du välja Återställ säkerhetskopia, eller direkt Återställ på säkerhetskopian som du vill återställa.

Du har tre alternativ för att återställa säkerhetskopian. Du kan återställa den i en befintlig databasnod, återställa och verifiera säkerhetskopian på en fristående värd eller skapa ett nytt kluster från säkerhetskopian.

Om du försöker återställa en PITR-kompatibel säkerhetskopia måste du också ange tiden.

Datan kommer att återställas som den var vid den angivna tiden. Tänk på att UTC-tidszonen används och att din PostgreSQL-tjänst kommer att startas om i destinationsnoden.

Du kan övervaka förloppet för din återställning från aktivitetsavsnittet på din ClusterControl-server.

Automatisk säkerhetskopiering

En säkerhetskopia är inte en säkerhetskopia om den inte går att återställa. Att verifiera säkerhetskopior är något som vanligtvis försummas av många. Låt oss se hur ClusterControl kan automatisera verifieringen av PostgreSQL-säkerhetskopior och undvika överraskningar om du behöver återställa den.

I ClusterControl, välj ditt kluster och gå till avsnittet Säkerhetskopiering och välj sedan Skapa säkerhetskopia.

Funktionen för automatisk säkerhetskopiering är tillgänglig för schemalagda säkerhetskopieringar. Så låt oss välja alternativet Schemalägg säkerhetskopiering.

När du schemalägger en säkerhetskopia måste du, förutom att välja de vanliga alternativen som metod eller lagring, även ange schema/frekvens.

I nästa steg kan du komprimera och kryptera din säkerhetskopia och ange lagringsperioden. Här har du också funktionen Verifiera säkerhetskopiering.

För att använda den här funktionen behöver du en dedikerad värd (eller virtuell dator) som är inte en del av klustret.

ClusterControl kommer att installera programvaran och återställa säkerhetskopian i denna värd. Du kan hålla den här noden igång för testning eller rapportering, eller stänga av noden tills nästa verifieringsjobb.

Efter återställningen kan du se verifieringsikonen i avsnittet ClusterControl Backup.

Slutsats

Säkerhetskopiering är obligatoriskt i alla miljöer eftersom de hjälper dig att skydda dina data. För att hantera dem är det viktigt att ha ett bra verktyg med avancerade säkerhetskopieringsfunktioner, för att göra det så enkelt som möjligt.

ClusterControl har många funktioner som hjälper dig i den här uppgiften, som schemaläggning av säkerhetskopiering, övervakning, säkerhetskopieringsverifiering och ännu mer. Den stöder också olika säkerhetskopieringsmetoder och du kan kombinera dem för att få en bra DRP på plats.


  1. Hur får man skript av SQL Server-data?

  2. T-SQL datumtid avrundad till närmaste minut och närmaste timmar med hjälp av funktioner

  3. Enkla SQL Server-funktioner för att lösa verkliga problem

  4. Vad är nytt i MariaDB Cluster 10.4