Hvordan ta sikkerhetskopi av BTRFS øyeblikksbilder til eksterne stasjoner

Hvordan ta sikkerhetskopi av BTRFS øyeblikksbilder til eksterne stasjoner

Som standard kan du lagre øyeblikksbilder du tar av BTRFS -undervolumene. Imidlertid gir BTRFS -filsystemet deg de nødvendige verktøyene for å sikkerhetskopiere øyeblikksbilder av ett BTRFS -filsystem til et annet BTRFS -filsystem. Denne artikkelen viser deg hvordan du kan sikkerhetskopiere BTRFS -øyeblikksbilder til et eksternt BTRFS -filsystem på en ekstern stasjon.

Forutsetninger

For å prøve eksemplene som er inkludert i denne artikkelen, må du oppfylle følgende forutsetninger:

  • Har BTRFS -filsystemet installert på datamaskinen din.
  • Ha en harddisk eller SSD med minst 2 gratis partisjoner (av hvilken som helst størrelse).

Jeg har 20 GB harddisken, SDB, på Ubuntu -maskinen min. Jeg har laget to partisjoner, SDB1 og SDB2, På denne harddisken.

$ sudo lsblk -e7

Merk: Din harddisk eller SSD vil ha et annet navn enn min, og det samme vil partisjonene. Så husk å erstatte disse navnene med dine fra nå av.


Jeg vil lage BTRFS -filsystemer på SDB1 og SDB2 partisjoner. Øyeblikksbildene som er opprettet på BTRFS -filsystemet (SDB1) vil bli sikkerhetskopiert til BTRFS -filsystemet opprettet på SDB2 skillevegg. BTRFS -filsystemet opprettet på SDB2 Partisjon vil fungere som den eksterne stasjonen. Du kan også bruke en USB -tommelstasjon eller en ekstern harddisk; Bare sørg for å formatere det med BTRFS -filsystemet.

For hjelp med å installere BTRFS -filsystemet i Ubuntu, sjekk ut min artikkelinstallasjon og bruk BTRFS på Ubuntu 20.04 LTS.

For hjelp med å installere BTRFS -filsystemet i Fedora, sjekk ut min artikkelinstallasjon og bruk BTRFS på Fedora 33.

Opprette nødvendige BTRFS -filsystemer

Jeg vil formatere begge SDB1 og SDB2 Partisjoner som BTRFS. Jeg vil bruke SDB1 Partisjon for lagring av data og BTRFS -øyeblikksbilder. Jeg vil bruke SDB2 Partisjon for å sikkerhetskopiere øyeblikksbildene til BTRFS -filsystemet opprettet på SDB1 skillevegg.

Å lage et BTRFS -filsystem på SDB1 Partisjon og gi dem filesystemetikettdataene, kjør følgende kommando:

$ sudo mkfs.btrfs -l data /dev /sdb1

Et BTRFS -filsystem skal nå opprettes på SDB1 skillevegg.

Å lage et BTRFS -filsystem på SDB2 Partisjon og gi den filsystemetiketten Snapshots, kjør følgende kommando:

$ sudo mkfs.Btrfs -l Snapshots /dev /sdb2

Et BTRFS -filsystem skal nå opprettes på SDB2 skillevegg.

Lag katalogene /data og /øyeblikksbilder for montering SDB1 og SDB2 henholdsvis partisjoner som følger:

$ sudo mkdir -v /data, snapshots

Monter BTRFS -filsystemet du har opprettet på SDB1 Partisjon på /Data -katalogen, som følger:

$ sudo mount /dev /sdb1 /data

På samme måte, monter BTRFS -filsystemet du har opprettet på SDB2 partisjon på /øyeblikksbilder Katalog, som følger:

$ sudo mount /dev /sdb2 /øyeblikksbilder

Som du kan se på skjermbildet nedenfor, både BTRFS -filsystemene (SDB1 og SDB2 partisjoner) er montert riktig.

$ df -h -t btrfs

Tar øyeblikksbilder av et BTRFS -filsystem

I denne delen vil vi opprette dummy -prosjektet Web1 /data/prosjekter/web1 btrfs subvolume. Vi vil ta et øyeblikksbilde av det undervolumet i denne delen, samt noen andre øyeblikksbilder i senere seksjoner av denne artikkelen.

Først må du lage den nye katalogen /data/prosjekter, følgende:

$ sudo mkdir -v /data /prosjekter

Neste, lage det nye Subvolume Web1 i /Data/Projects Directory, følgende:

$ sudo btrfs subvolume create/data/prosjekter/web1

Til slutt, opprette den nye filindeksen.html i /data/prosjekter/web1 Subvolume med Nano Text Editor, som følger:

$ sudo nano/data/prosjekter/web1/indeks.html

Skriv inn følgende kodelinjer i indeksen.HTML -fil:




Demo nettsted



Hei Verden




Når du er ferdig, trykk <Ctrl> + X etterfulgt av Y og <Tast inn> For å redde indeks.HTML -fil.

Lag den nye filen på samme måte stil.CSS i /data/prosjekter/web1 subvolume følgende:

$ sudo nano/data/prosjekter/web1/stil.CSS


Skriv inn følgende kodelinjer i stil.CSS fil:

H1
Farge: grønn;

Når du er ferdig, trykk <Ctrl> + X etterfulgt av Y og <Tast inn> For å redde stil.CSS fil.

Nå, den /data/prosjekter/web1 subvolume inneholder indeks.html og stil.CSS -fil.

$ ls -lh/data/prosjekter/web1

Vi vil beholde alle øyeblikksbildene av dette BTRFS -filsystemet i /data/.øyeblikksbilder katalog.

Først må du lage /data/.øyeblikksbilder Katalog med følgende kommando:

$ sudo mkdir -v /data /.øyeblikksbilder

Neste, lag det skrivebeskyttede øyeblikksbildet /data/.Øyeblikksbilder/Web1-2020-12-30 av /data/prosjekter/web1 subvolume med følgende kommando:

$ sudo btrfs subvolume snapshot -r/data/prosjekter/web1/data/.Øyeblikksbilder/Web1-2020-12-30

Som du kan se, det nye øyeblikksbildet /data/.Øyeblikksbilder/Web1-2020-12-30 har blitt skapt.

$ sudo btrfs subvolume liste /data

Sikkerhetskopiering av øyeblikksbilder til ekstern stasjon

Å sikkerhetskopiere øyeblikksbildet /data/.Øyeblikksbilder/Web1-2020-12-30 til et annet BTRFS -filsystem (ekstern stasjon SDB2, i dette tilfellet) montert på /øyeblikksbilder Katalog, kjør følgende kommando:

$ sudo btrfs send /data /.Snapshots/Web1-2020-12-30 | sudo btrfs mottar /øyeblikksbilder

Øyeblikksbildet /data/.Øyeblikksbilder/Web1-2020-12-30 bør støttes opp til det eksterne BTRFS -filsystemet (SDB2) montert på /øyeblikksbilder katalog.

Som du kan se, Nytt subvolume Web1-2020-12-30 er opprettet på det eksterne BTRFS -filsystemet.

$ sudo btrfs subvolume liste /øyeblikksbilder

De Snapshot Web1-2020-12-30 skal ha de samme filene/Kataloger som /data/.Øyeblikksbilder/Web1-2020-12-30 øyeblikksbilde.

$ tre -A /øyeblikksbilder

Du kan få mer informasjon om det sikkerhetskopierte øyeblikksbildet /Snapshosts/Web1-2020-12-30 følgende:

$ sudo btrfs subvolume show /øyeblikksbilder /web1-2020-12-30

Inkrementell sikkerhetskopi av øyeblikksbilder til ekstern stasjon

Hvis det er mange filer i øyeblikksbildene for å sikkerhetskopiere en ekstern stasjon, vil trinnvise sikkerhetskopier hjelpe deg med å få fart på sikkerhetskopieringen. I dette tilfellet vil BTRFS bare oppdatere filene som har endret seg siden det siste øyeblikksbildet og kopierer nye filer som ikke var tilgjengelige i det siste øyeblikksbildet.

I denne delen vil jeg vise deg hvordan du utfører trinnvise sikkerhetskopier av BTRFS-øyeblikksbilder til eksterne BTRFS-filsystemer.

Først, åpne indeks.HTML -fil fra /data/prosjekter/web1 subvolume, følgende:

$ sudo nano/data/prosjekter/web1/indeks.html

Gjøre eventuelle endringer du vil ha indeks.HTML -fil. Når du er ferdig, trykk <Ctrl> + X etterfulgt av Y og <Tast inn> For å redde indeks.html fil.

Ta et nytt skrivebeskyttet øyeblikksbilde av /data/prosjekter/web1 subvolume, følgende:

$ sudo btrfs subvolume snapshot -r/data/prosjekter/web1/data/.Øyeblikksbilder/Web1-2020-12-31

Som du kan se, det nye øyeblikksbildet /data/.Øyeblikksbilder/Web1-2020-12-31 av /data/prosjekter/web1 subvolume har blitt skapt.

$ sudo btrfs subvolume liste /data

Nå er vi klare til å ta en trinnvis sikkerhetskopi.

For å ta en trinnvis sikkerhetskopi, trenger du et vanlig øyeblikksbilde av både kilden og destinasjonen (ekstern stasjon) BTRFS Filsystems. Det vanlige øyeblikksbildet er vanligvis det siste øyeblikksbildet av et BTRFS -undervolum. Når du tar et nytt øyeblikksbilde på kilden BTRFS -filsystemet, sammenlignes det nye øyeblikksbildet med det siste øyeblikksbildet (tilgjengelig på både kilden og destinasjonen BTRFS -filsystemet) til kilden BTRFS -filsystem. BTRFer vil beregne forskjellen og bare sende de nødvendige dataene til destinasjonen BTRFS Filesystem (den eksterne stasjonen).

For eksempel å ta en trinnvis sikkerhetskopi av /data/.Øyeblikksbilder/Web1-2020-12-31 Snapshot, Du må spesifisere foreldre -øyeblikksbildet (det siste øyeblikksbildet som er tilgjengelig på både kilde og destinasjon BTRFS Filesystems), /data/.Øyeblikksbilder/Web1-2020-12-30, også.

En trinnvis sikkerhetskopi av /data/.Øyeblikksbilder/Web1-2020-12-31 Stillbilde kan tas til et eksternt BTRFS -filsystem, som følger:

$ sudo btrfs send -p /data /.øyeblikksbilder/web1-2020-12-30/data/.Øyeblikksbilder/Web1-2020-12-31 | sudo btrfs mottar /øyeblikksbilder

En trinnvis sikkerhetskopi av /data/.Øyeblikksbilder/Web1-2020-12-31 øyeblikksbilde skal tas.

Som du kan se, Web1-2020-12-31 øyeblikksbilde har blitt sikkerhetskopiert til det eksterne BTRFS -filsystemet montert på /øyeblikksbilder katalog.

$ sudo btrfs subvolume liste /øyeblikksbilder

Som du kan se på skjermbildet nedenfor, endringene du har gjort i indeks.HTML -fil er tilgjengelige i Web1-2020-12-31 øyeblikksbilde som har blitt støttet opp til det eksterne BTRFS -filsystemet.

$ katt/øyeblikksbilder/web1-2020-12-31/indeks.html

På samme måte kan du ta så mange trinnvise sikkerhetskopier av øyeblikksbildene dine som du vil.

Jeg vil vise deg hvordan du gjør en trinnvis sikkerhetskopi en gang til. Jeg vil ikke ta meg tid til å forklare det igjen. I stedet vil jeg bare vise deg prosessen for klarhet.

Åpne indeks.HTML -fil fra /data/prosjekter/web1 subvolume, følgende:

$ sudo nano/data/prosjekter/web1/indeks.html

Gjøre eventuelle endringer du vil ha indeks.HTML -fil. Når du er ferdig, trykk <Ctrl> + X etterfulgt av Y og <Tast inn> For å redde indeks.HTML -fil.

Ta et nytt skrivebeskyttet øyeblikksbilde av /data/prosjekter/web1 subvolume, følgende:

$ sudo btrfs subvolume snapshot -r/data/prosjekter/web1/data/.Øyeblikksbilder/Web1-2020-12-31_2

Ta en trinnvis sikkerhetskopi av /data/.Snapshots/Web1-2020-12-31_2 Snapshot til et eksternt BTRFS -filsystem, som følger:

$ sudo btrfs send -p /data /.øyeblikksbilder/web1-2020-12-31/data/.Snapshots/Web1-2020-12-31_2 | sudo btrfs mottar /øyeblikksbilder

Merk: Nå, foreldrenes øyeblikksbilde som /data/.Snapshots/Web1-2020-12-31_2 Snapshot vil bli sammenlignet er /data/.Øyeblikksbilder/Web1-2020-12-31.

Som du kan se, Web1-2020-12-31_2 Snapshot har blitt støttet opp til det eksterne BTRFS -filsystemet montert på /øyeblikksbilder katalog.

$ sudo btrfs subvolume liste /øyeblikksbilder

Som du kan se på skjermbildet nedenfor, de nylige endringene som er gjort i indeks.HTML -fil er tilgjengelig på Web1-2020-12-31_2 Snapshot sikkerhetskopiert til det eksterne BTRFS -filsystemet.

$ katt/øyeblikksbilder/web1-2020-12-31_2/indeks.html

Holde ting rent

Hvis du tar sikkerhetskopi av BTRFS -øyeblikksbilder ofte, vil du ende opp med mange øyeblikksbilder, og det kan bli vanskelig å administrere dem. Heldigvis kan du fjerne ethvert øyeblikksbilde fra BTRFS -filsystemet.

Hvis du bruker en stor nok ekstern stasjon for å holde sikkerhetskopier av BTRFS -øyeblikksbilder, kan du holde noen få øyeblikksbilder på BTRFS -filsystemet og sikkerhetskopiere alle øyeblikksbilder på din eksterne stasjon.

Hvis du bruker en mindre ekstern stasjon, kan du selektivt oppbevare de viktigste øyeblikksbilder som er sikkerhetskopiert på den eksterne stasjonen.

For å utføre sikkerhetskopier av BTRFS -øyeblikksbilder, må du holde minst det siste øyeblikksbildet på begge kilden (/data/.øyeblikksbilder) og destinasjonen (/øyeblikksbilder - ekstern stasjon) BTRFS Filesystems. Så, ta gjerne kontakt med andre øyeblikksbilder enn det siste øyeblikksbildet i begge ender.

For eksempel er det siste øyeblikksbildet i dette tilfellet Web1-2020-12-31_2. Så for å utføre trinnvise sikkerhetskopier, må dette øyeblikksbildet holdes på kilden og destinasjonen (ekstern stasjon) BTRFS Filsystems.

Anta at du vil fjerne /data/.Øyeblikksbilder/Web1-2020-12-30 Snapshot.

For å gjøre dette, kjør følgende kommando:

$ sudo btrfs subvolume slett /data /.Øyeblikksbilder/Web1-2020-12-30

BTRFS øyeblikksbilde /data/.Øyeblikksbilder/Web1-2020-12-30 skal nå fjernes.

På samme måte kan du fjerne /data/.Øyeblikksbilder/Web1-2020-12-31 Snapshot, følgende:

$ sudo btrfs subvolume slett /data /.Øyeblikksbilder/Web1-2020-12-31

Nå er det bare det siste øyeblikksbildet, /data/.Øyeblikksbilder/Web1-2020-12-31_2, er tilgjengelig på BTRFS -filsystemet, montert på /data katalog. De andre øyeblikksbildene er sikkerhetskopiert på den eksterne stasjonen, montert på /øyeblikksbilder katalog.

$ sudo btrfs subvolume liste /data
$ sudo btrfs subvolume liste /øyeblikksbilder

Gjenopprette øyeblikksbilder fra ekstern stasjon

Hvis du har sikkerhetskopiert øyeblikksbildene dine på den eksterne stasjonen, kan du når som helst gjenopprette dem fra den eksterne stasjonen.

For eksempel har jeg fjernet Web1-2020-12-30 øyeblikksbilde fra BTRFS -filsystemet mitt, montert på /data katalog. Men dette øyeblikksbildet er sikkerhetskopiert på den eksterne stasjonen, montert på /øyeblikksbilder katalog. La oss gjenopprette dette øyeblikksbildet.

$ sudo btrfs subvolume liste /øyeblikksbilder

Å gjenopprette Web1-2020-12-30 øyeblikksbilde Fra den eksterne stasjonen, kjør følgende kommando:

$ SUDO BTRFS Send /Snapshots /Web1-2020-12-30 | sudo btrfs mottar /data /.øyeblikksbilder

De Snapshot Web1-2020-12-30 skal gjenopprettes på BTRFS -filsystemet montert på /data katalog.

Som du kan se, Web1-2020-12-30 øyeblikksbilde er gjenopprettet på BTRFS -filsystemet montert på /data katalog.

$ sudo btrfs subvolume liste /data

Og som du kan se, innholdet i indeks.html fil fra Web1-2020-12-30 øyeblikksbilde. Dette er den første versjonen av indeks.html fil fra før.

$ katt /data /.Øyeblikksbilder/Web1-2020-12-30/indeks.html

Konklusjon

I denne artikkelen lærte du hvordan du kan sikkerhetskopiere øyeblikksbilder av BTRFS -filsystemet ditt til en ekstern stasjon. Du lærte også hvordan du tar inkrementelle sikkerhetskopier av BTRFS -øyeblikksbilder til en ekstern stasjon. Til slutt lærte du hvordan du fjerner eksisterende øyeblikksbilder fra et BRTFS -filsystem og gjenoppretter øyeblikksbilder fra den eksterne stasjonen.