Alle virksomheder har i dag (eller burde have) en Disaster Recovery Plan (DRP) for at forhindre tab af data i tilfælde af fejl; bygget i henhold til et acceptabelt Recovery Point Objective (RPO) for virksomheden.
En sikkerhedskopiering er en grundlæggende start i enhver DRP, men for at garantere backup-brugbarheden er en enkelt sikkerhedskopiering bare ikke nok. Den bedste praksis er at gemme sikkerhedskopieringsfilerne tre forskellige steder, en gemt lokalt på databaseserveren (for hurtigere gendannelse), en anden på en centraliseret backupserver og den sidste i skyen. Til dette sidste trin bør du vælge en stabil og robust cloud-udbyder for at sikre, at dine data opbevares korrekt og er tilgængelige til enhver tid.
I denne blog vil vi tage et kig på en af de mest berømte cloud-udbydere, Google Cloud Platform (GCP), og hvordan du bruger den til at gemme dine PostgreSQL-sikkerhedskopier i skyen.
Om Google Cloud
Google Cloud tilbyder en bred vifte af produkter til din arbejdsbyrde. Lad os se på nogle af dem, og hvordan de er relateret til lagring af PostgreSQL-sikkerhedskopier i skyen.
- Cloud Storage:Det giver mulighed for verdensomspændende lagring og hentning af enhver mængde data til enhver tid. Du kan bruge Cloud Storage til en række scenarier, herunder visning af webstedsindhold, lagring af data til arkivering og gendannelse af katastrofer eller distribution af store dataobjekter til brugere via direkte download.
- Cloud SQL:Det er en fuldt administreret databasetjeneste, der gør det nemt at opsætte, vedligeholde, administrere og administrere dine relationelle PostgreSQL-, MySQL- og SQL Server-databaser i skyen.
- Compute Engine:Den leverer virtuelle maskiner, der kører i Google Cloud med understøttelse af skalering fra enkelte forekomster til global, belastningsbalanceret cloud computing. Compute Engines VM'er starter hurtigt, kommer med højtydende vedvarende og lokale diskmuligheder og leverer ensartet ydeevne.
Lagring af sikkerhedskopier i Google Cloud
Hvis du kører din PostgreSQL-database på Google Cloud med Cloud SQL, kan du sikkerhedskopiere den direkte fra Google Cloud Platform, men det er ikke nødvendigt at køre den her for at gemme dine PostgreSQL-sikkerhedskopier.
Google Cloud Storage
I lighed med det velkendte Amazon S3-produkt, hvis du ikke kører din PostgreSQL-database med Cloud SQL, er dette den mest brugte mulighed for at gemme sikkerhedskopier eller filer i Google Cloud. Det er tilgængeligt fra Google Cloud Platform, i sektionen Kom godt i gang eller under menuen Lager til venstre. Med Cloud Storage kan du endda nemt overføre dit S3-indhold her ved hjælp af Transfer-funktionen.
Sådan bruger du Google Cloud Storage
Først skal du oprette en ny Bucket for at gemme dine data, så gå til Google Cloud Platform -> Storage -> Create Bucket
I det første trin skal du blot tilføje et nyt spandnavn.
I næste trin kan du angive placeringstypen (multi-region som standard) og placeringsstedet.
Derefter kan du ændre lagerklassen fra standard (standardindstilling) til nearline eller coldline.
Og så kan du ændre kontroladgangen.
Endelig har du nogle valgfrie indstillinger såsom kryptering eller opbevaringspolitik.
Nu har du oprettet din nye spand, vi vil se, hvordan du bruger den.
Brug af GSutil-værktøjet
GSutil er et Python-program, der giver dig adgang til Cloud Storage fra kommandolinjen. Det giver dig mulighed for at udføre forskellige spand- og objektstyringsopgaver. Lad os se, hvordan du installerer det på CentOS 7, og hvordan du uploader en sikkerhedskopi ved hjælp af det.
Download Cloud SDK:
$ curl https://sdk.cloud.google.com | bash
Genstart din shell:
$ exec -l $SHELL
Kør gcloud init og konfigurer værktøjet:
$ gcloud init
Denne kommando vil bede dig om at logge ind på din Google Cloud-konto ved at få adgang til en URL og tilføje en godkendelseskode.
Nu har du værktøjet installeret og konfigureret, lad os uploade en sikkerhedskopi til bøtten.
Først, lad os tjekke vores buckets oprettet:
[[email protected] ~]# gsutil ls
gs://pgbackups1/
Og for at kopiere din PostgreSQL-sikkerhedskopi (eller en anden fil), skal du køre:
[[email protected] ~]# gsutil cp /root/backups/BACKUP-3/base.tar.gz gs://pgbackups1/new_backup/
Copying file:///root/backups/BACKUP-3/base.tar.gz [Content-Type=application/x-tar]...
| [1 files][ 4.9 MiB/ 4.9 MiB]
Operation completed over 1 objects/4.9 MiB.
Destinationsindsamlingen skal eksistere.
Og så kan du liste indholdet af new_backup-mappen for at kontrollere den uploadede fil:
[[email protected] ~]# gsutil ls -r gs://pgbackups1/new_backup/*
gs://pgbackups1/new_backup/
gs://pgbackups1/new_backup/base.tar.gz
For mere information om GSutil-brugen kan du tjekke den officielle dokumentation.
Google Cloud SQL
Hvis du ønsker at centralisere hele miljøet (database + sikkerhedskopier) til Google Cloud, har du dette Cloud SQL-produkt til rådighed. På denne måde vil du have din PostgreSQL-database kørende på Google Cloud, og du kan også administrere sikkerhedskopierne fra den samme platform. Det er tilgængeligt fra Google Cloud Platform, i sektionen Kom godt i gang eller under menuen Lager til venstre.
Sådan bruger du Google Cloud SQL
For at oprette en ny PostgreSQL-instans skal du gå til Google Cloud Platform -> SQL -> Opret forekomst
Her kan du vælge mellem MySQL og PostgreSQL som databasemotor. Lad os oprette en PostgreSQL-instans til denne blog.
Nu skal du tilføje et instans-id, adgangskode, placering og PostgreSQL version (9.6 eller 11).
Du har også nogle konfigurationsmuligheder, såsom aktiver offentlig IP-adresse, Maskintype og lagring og sikkerhedskopier osv.
Når Cloud SQL-forekomsten er oprettet, kan du vælge den, og du vil se en oversigt over denne nye forekomst.
Og du kan gå til sektionen Sikkerhedskopier for at administrere dine PostgreSQL-sikkerhedskopier.
For at reducere lageromkostningerne arbejder sikkerhedskopier trinvist. Hver sikkerhedskopi gemmer kun ændringerne af dine data siden den forrige sikkerhedskopiering.
Google Cloud Compute Engine
I lighed med Amazon EC2 er denne måde at gemme information i skyen dyrere og tidskrævende end Cloud Storage, men du vil have fuld kontrol over backup-lagringsmiljøet. Den er også tilgængelig fra Google Cloud Platform, i sektionen Kom godt i gang eller under menuen Beregn til venstre.
Sådan bruger du en Google Cloud Compute Engine
For at oprette en ny virtuel maskine skal du gå til Google Cloud Platform -> Compute Engine -> Opret forekomst
Her skal du tilføje et forekomstnavn, en region og en zone, hvor du kan skabe det. Du skal også specificere maskinkonfigurationen i henhold til dine hardware- og brugskrav og diskstørrelsen og operativsystemet, der skal bruges til den nye virtuelle maskine.
Når instansen er klar, kan du f.eks. gemme sikkerhedskopierne her , sende den via SSH eller FTP ved hjælp af den eksterne IP-adresse. Lad os se på et eksempel med Rsync og et andet med SCP Linux-kommando.
For at oprette forbindelse via SSH til den nye virtuelle maskine, skal du sørge for, at du har tilføjet din SSH-nøgle i den virtuelle maskine-konfiguration.
[[email protected] ~]# rsync -avzP -e "ssh -i /home/sinsausti/.ssh/id_rsa" /root/backups/BACKUP-3/base.tar.gz [email protected]:/home/sinsausti/pgbackups/
sending incremental file list
base.tar.gz
5,155,420 100% 1.86MB/s 0:00:02 (xfr#1, to-chk=0/1)
sent 4,719,597 bytes received 35 bytes 629,284.27 bytes/sec
total size is 5,155,420 speedup is 1.09
[[email protected] ~]#
[[email protected] ~]# scp -i /home/sinsausti/.ssh/id_rsa /root/backups/BACKUP-5/base.tar.gz [email protected]:/home/sinsausti/pgbackups/
base.tar.gz 100% 2905KB 968.2KB/s 00:03
[[email protected] ~]#
Du kan nemt integrere dette i et script for at udføre en automatisk sikkerhedskopieringsproces eller bruge dette produkt med et eksternt system som ClusterControl til at administrere dine sikkerhedskopier.
Administration af dine sikkerhedskopier med ClusterControl
På samme måde som du kan centralisere administrationen af både database og backup fra den samme platform ved at bruge Cloud SQL, kan du bruge ClusterControl til adskillige administrationsopgaver relateret til din PostgreSQL-database.
ClusterControl er et omfattende administrationssystem til open source-databaser, der automatiserer implementerings- og administrationsfunktioner samt sundheds- og ydeevneovervågning. ClusterControl understøtter implementering, styring, overvågning og skalering for forskellige databaseteknologier og -miljøer. Så du kan for eksempel oprette vores Virtual Machine-instans på Google Cloud og implementere/importere vores databasetjeneste med ClusterControl.
Oprettelse af en sikkerhedskopi
For denne opgave skal du gå til ClusterControl -> Vælg Cluster -> Backup -> Create Backup.
Du kan oprette en ny sikkerhedskopi eller konfigurere en planlagt. For vores eksempel vil vi oprette en enkelt sikkerhedskopi med det samme.
Du skal vælge én metode, den server, hvorfra sikkerhedskopieringen tages , og hvor du vil gemme sikkerhedskopien. Du kan også uploade vores backup til skyen (AWS, Google eller Azure) ved at aktivere den tilsvarende knap.
Angiv derefter brugen af komprimering, komprimeringsniveauet, kryptering og opbevaringsperiode til din backup.
Hvis du aktiverede muligheden for upload backup til skyen, vil du se en sektion for at angive cloud-udbyderen (i dette tilfælde Google Cloud) og legitimationsoplysningerne (ClusterControl -> Integrationer -> Cloud-udbydere). Til Google Cloud bruger den Cloud Storage, så du skal vælge en Bucket eller endda oprette en ny for at gemme dine sikkerhedskopier.
På sikkerhedskopieringssektionen kan du se sikkerhedskopieringens fremskridt, og oplysninger som metode, størrelse, placering og mere.
Konklusion
Google Cloud kan være en god mulighed for at gemme dine PostgreSQL-sikkerhedskopier, og den tilbyder forskellige produkter til at gøre dette. Det er dog ikke nødvendigt at have dine PostgreSQL-databaser kørende der, da du kun kan bruge det som en lagerplacering.
GSutil-værktøjet er et godt produkt til at administrere dine Cloud Storage-data fra kommandolinjen, nemt at bruge og hurtigt.
Du kan også kombinere Google Cloud og ClusterControl for at forbedre dit PostgreSQL-miljø med høj tilgængelighed og overvågningssystem. Hvis du vil vide mere om PostgreSQL på Google Cloud, kan du tjekke vores blogindlæg om dyb dyk.