Hvordan du bruker btrfs øyeblikksbilder

Hvordan du bruker btrfs øyeblikksbilder
BTRFS-filsystemet har innebygd støttestøtte på filsystemnivå på nivå. Du kan opprette et undervolum i BTRFS -filsystemet ditt og ta øyeblikksbilder av filene/katalogene i det undervolumet. Å ta et øyeblikksbilde av et undervolum vil lagre tilstanden til filene/katalogene i det undervolumet. Du kan gjenopprette alle filer/kataloger av undervolumet fra øyeblikksbildet i tilfelle du trenger det.

Stillbildefunksjonen i BTRFS-filsystemet bruker Copy-on-Write (COW) -prinsippet. Så det tar ikke mye diskplass, og du kan ta øyeblikksbilder av et undervolum umiddelbart.

BTRFS -filsystemet støtter 2 typer øyeblikksbilder.

  1. Writable øyeblikksbilder: Hvis du tar et skrivbar øyeblikksbilde, kan du endre at Snapshots filer/kataloger senere. Dette er standard stillbilde av BTRFS -filsystemet.
  2. Lesbeskyttet øyeblikksbilder: Hvis du tar et skrivebeskyttet øyeblikksbilde, kan du ikke endre det Snapshots filer/kataloger senere.

Denne artikkelen vil vise deg hvordan du kan ta skrivbare og skrivebeskyttede øyeblikksbilder av BTRFS-filsystemet Subvolumer. Jeg vil også vise deg hvordan du kan oppdatere et skrivbar øyeblikksbilde og gjenopprette filer fra et øyeblikksbilde. Jeg vil vise deg hvordan du fjerner et øyeblikksbilde også. Så la oss komme i gang.

Forutsetninger

For å prøve eksemplene på denne artikkelen,

  • Du må ha BTRFS -filsystemet installert på datamaskinen din.
  • Du må ha en harddisk eller SSD med minst 1 gratis partisjon (av hvilken som helst størrelse).

Jeg har en harddisk på 20 GB SDB på Ubuntu -maskinen min. Jeg har laget to partisjoner SDB1 og SDB2 På denne harddisken. Jeg vil bruke partisjonen SDB1 i denne artikkelen.

$ sudo lsblk -e7

Harddisken din eller SSD kan ha et annet navn enn min, det vil også partisjonene. Så sørg for å erstatte dem med dine fra nå av.

Hvis du trenger hjelp til å installere BTRFS -filsystemet på Ubuntu, sjekk artikkelen min Installer og bruk BTRF -er på Ubuntu 20.04 LTS.

Hvis du trenger hjelp til å installere BTRFS -filsystemet på Fedora, sjekk artikkelen min Installer og bruk BTRF -er på Fedora 33.

Opprette et BTRFS -filsystem

For å eksperimentere med BTRFS -subvolumer, må du lage et BTRFS -filsystem.

For å lage et BTRFS -filsystem med etiketten dataSDB1 Partisjon, kjør følgende kommando:

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

Et BTRFS -filsystem bør opprettes.

Lag en katalog /data med følgende kommando:

$ sudo mkdir -v /data

Å montere BTRFS -filsystemet som er opprettet på SDB1 partisjon i /data Katalog, kjør følgende kommando:

$ sudo mount /dev /sdb1 /data

BTRFS -filsystemet skal monteres som du kan se på skjermdumpen nedenfor.

$ df -h /data

Forbereder BTRFS -filsystemet for øyeblikksbilder

I BTRF -er kan du bare ta øyeblikksbilder av BTRFS -undervolumer. Hovedroten til et BTRFS -filsystem er også et undervolum. Så du kan ta sikkerhetskopi av hele BTRFS -filsystemet, så vel som spesifikke undervolumer.

Denne delen vil opprette et BTRFS -undervolum /data/prosjekter/web1 og lag de nødvendige filene for de neste delene av denne artikkelen nedenfor. Jeg vil også lage en katalog der du kan oppbevare øyeblikksbilder. I de neste seksjonene vil jeg vise deg hvordan du tar øyeblikksbilder (skrivbar og skrivebeskyttet), oppdater et skrivbar øyeblikksbilde og gjenopprette filer fra øyeblikksbildet. Så la oss komme i gang.

Først må du lage en ny katalog /data/prosjekter følgende:

$ sudo mkdir -v /data /prosjekter

Lag et nytt undervolum Web1 i /data/prosjekter Katalog som følger:

$ sudo btrfs subvolume create/data/prosjekter/web1

Lag en ny fil indeks.html i /data/prosjekter/web1 Subvolume som følger:

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

Skriv inn følgende koder i indeks.html fil.




Demo nettsted



Hei verden 4



Når du er ferdig, trykk + X etterfulgt av Y og For å redde indeks.html fil.

Lag en ny fil stil.CSS i /data/prosjekter/web1 Subvolume som følger:

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

Skriv inn følgende koder i stil.CSS fil.

H1
Farge: grønn;

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

Nå, den /data/prosjekter/web1 Subvolume har indeks.html og stil.CSS fil.

$ ls -lh/data/prosjekter/web1

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

Opprett /data/.øyeblikksbilder Katalog med følgende kommando:

$ sudo mkdir -v /data /.øyeblikksbilder

Tar øyeblikksbilder av et undervolum

Å ta et øyeblikksbilde av /data/prosjekter/web1 undervolume inn i /data/.Øyeblikksbilder/Web1-2020-12-25 Katalog (vil bli opprettet automatisk), kjør følgende kommando:

$ sudo btrfs subvolume øyeblikksbilde/data/prosjekter/web1/data/.Øyeblikksbilder/Web1-2020-12-25

Et øyeblikksbilde av /data/prosjekter/web1 Katalog skal opprettes på /data/.Øyeblikksbilder/Web1-2020-12-25 katalog.

Som du kan se på skjermbildet nedenfor, et nytt undervolum .Øyeblikksbilder/Web1-2020-12-25 er skapt. Et øyeblikksbilde er faktisk et undervolum.

$ sudo btrfs subvolume liste /data

Du kan se mer informasjon om øyeblikksbildet du har opprettet i /data/.Øyeblikksbilder/Web1-2020-12-25 Katalog som følger:

$ sudo btrfs subvolume show /data /.Øyeblikksbilder/Web1-2020-12-25

Som du kan se, alle filene som er i /data/prosjekter/web1 Subvolume er i /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde.

$ tre -A /data

Gjenopprette filer fra øyeblikksbilder

I denne delen skal jeg vise deg hvordan du gjenoppretter filer fra BTRFS -øyeblikksbilder.

Først skal jeg vise deg hvordan du gjenoppretter en enkelt fil fra øyeblikksbildet.

Åpne /data/prosjekter/web1/indeks.html Fil med Nano Text Editor som følger:

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

Gjør noen endringer du ønsker.

Når du er ferdig, trykk + X etterfulgt av Y og For å lagre filen.

Som du kan se, det viktigste indeks.html filen er forskjellig fra indeks.html fil i øyeblikksbildet.

$ katt/data/prosjekter/web1/indeks.html
$ katt /data /.Øyeblikksbilder/Web1-2020-12-25/indeks.html

Vi har gjort endringene i hoved indeks.html filen er uønsket, og vi ønsker å gjenopprette indeks.html fil fra øyeblikksbildet.

Du kan gjenopprette indeks.html Fil fra øyeblikksbildet som følger:

$ sudo cp -v /data /.Øyeblikksbilder/Web1-2020-12-25/indeks.HTML/Data/Projects/Web1/Index.html

Som du kan se, indeks.html Filen er gjenopprettet fra øyeblikksbildet.

$ katt/data/prosjekter/web1/indeks.html
$ katt /data /.Øyeblikksbilder/Web1-2020-12-25/indeks.html

La oss nå se hvordan du kan gjenopprette alle filene/katalogene fra øyeblikksbildet.

Fjern alle filene fra /data/prosjekter/web1 øyeblikksbilde som følger:

$ sudo rm -rv/data/prosjekter/web1/*

For å gjenopprette alle filene/katalogene fra øyeblikksbildet, kjør følgende kommando:

$ sudo rsync -avz /data /.Snapshots/Web1-2020-12-25//data/prosjekter/Web1/

Som du ser blir filene/katalogene gjenopprettet fra øyeblikksbildet.

$ ls -lh/data/prosjekter/web1

Til slutt, la oss se hvordan du kan gjenopprette filer/kataloger fra øyeblikksbildet i speilmodus. I speilmodus vil undervolumets filer/kataloger være de samme som i øyeblikksbildet. Hvis det er noen filer/kataloger i undervolumet som ikke er tilgjengelige i øyeblikksbildet, vil de bli fjernet.

La oss opprette en ny fil i undervolumet for å skille filtreet fra øyeblikksbildet.

Lage en Readme.tekst fil i /data/prosjekter/web1 Subvolume som følger:

$ ekko "Hello World 5" | sudo tee/data/prosjekter/web1/readme.tekst

Som du kan se, filtreet til /data/prosjekter/web1 Subvolume er forskjellig fra /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde.

$ tre -A /data

Å gjenopprette filene/katalogene fra /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde til /data/prosjekter/web1 Subvolume i speilmodus, kjør følgende kommando:

$ sudo rsync -avz -delete /data /.Snapshots/Web1-2020-12-25//data/prosjekter/Web1/

Alle filene/katalogene til /data/prosjekter/web1 Subvolume skal gjenopprettes (i speilmodus) fra /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde.

Filtreet til /data/prosjekter/web1 Subvolume og /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde skal være det samme.

Som du ser, indeksen.HTML -fil og stil.CSS -filinnhold er det samme i /data/prosjekter/web1 Subvolume og /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde.

Innholdet i indeks.html og stil.CSS fil i /data/prosjekter/web1 Subvolume.

$ katt/data/prosjekter/web1/indeks.html
$ katt/data/prosjekter/web1/stil.CSS

Innholdet i indeks.html og stil.CSS fil i /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde.

$ katt/data/prosjekter/web1/indeks.html
$ katt/data/prosjekter/web1/stil.CSS

Oppdaterer et øyeblikksbilde

Som standard tar BTRFS -filsystemet skrivbare øyeblikksbilder. Et BTRFS -øyeblikksbilde er akkurat som et undervolum. Så du kan endre/oppdatere filene/katalogene til et skrivbar øyeblikksbilde.

La oss oppdatere indeks.html fil i /data/prosjekter/web1 Subvolume.

Først, åpne indeks.html fil fra /data/prosjekter/web1 undervolum med Nano Text Editor som følger:

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

Gjør noen endringer du ønsker. Når du er ferdig, trykk + X etterfulgt av Y og For å redde indeks.html fil.

Som du ser, indeksen.HTML -fil av /data/prosjekter/web1 Subvolume er forskjellig fra /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde.

$ katt/data/prosjekter/web1/indeks.html
$ katt /data /.Øyeblikksbilder/Web1-2020-12-25/indeks.html

Du vil beholde indeks.html fil av /data/prosjekter/web1 Subvolume.

For å oppdatere indeks.html fil i /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde, kjør følgende kommando:

$ sudo cp -v/data/prosjekter/web1/indeks.html /data /.Øyeblikksbilder/Web1-2020-12-25/indeks.html

Som du kan se, indeks.html fil av /data/.Øyeblikksbilder/Web1-2020-12-25 Snapshot er oppdatert.

Å oppdatere et øyeblikksbilde er like enkelt som å kopiere nye filer til øyeblikksbildet.

Tar du skrivebeskyttet øyeblikksbilder av et undervolum

Noen ganger vil du ikke at øyeblikksbildene du har tatt, skal oppdateres på noen måte. I så fall kan du opprette stille stillbilder.

For eksempel for å lage et skrivebeskyttet øyeblikksbilde /data/.Øyeblikksbilder/Web1-2020-12-26 av /data/prosjekter/web1 Subvolume, kjør følgende kommando:

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

Som du ser, et nytt undervolum .Øyeblikksbilder/Web1-2020-12-26 er skapt.

$ sudo btrfs subvolume liste /data

Som du kan se, øyeblikksbildet /data/.Øyeblikksbilder/Web1-2020-12-26 er skrivebeskyttet.

$ sudo btrfs subvolume show /data /.Øyeblikksbilder/Web1-2020-12-26

La oss oppdatere indeks.html fil fra /data/prosjekter/web1 Subvolume.

For å gjøre det, åpne indeks.html fil fra /data/prosjekter/web1 undervolum med Nano Text Editor som følger:

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

Gjør noen endringer du ønsker. Når du er ferdig, trykk + X etterfulgt av Y og For å lagre endringene.

Som du kan se, indeks.html i /data/prosjekter/web1 Subvolume er forskjellig fra /data/.Øyeblikksbilder/Web1-2020-12-26 øyeblikksbilde.

$ katt/data/prosjekter/web1/indeks.html
$ katt /data /.Øyeblikksbilder/Web1-2020-12-26/indeks.html

La oss prøve å oppdatere indeks.html fil i /data/.Øyeblikksbilder/Web1-2020-12-26 øyeblikksbilde.

$ sudo cp -v/data/prosjekter/web1/indeks.html /data /.Øyeblikksbilder/Web1-2020-12-26/indeks.html

Som du ser, kan du ikke oppdatere indeks.html fil av /data/.Øyeblikksbilder/Web1-2020-12-26 øyeblikksbilde fordi øyeblikksbildet er skrivebeskyttet.

Fjerne et øyeblikksbilde

Jeg har fortalt deg tidligere at et BTRFS -øyeblikksbilde er som et undervolum. Så du kan fjerne et BTRFS -øyeblikksbilde akkurat som du fjerner et BTRFS -undervolum. Samme kommando.

Slik er filtreet til BTRFS -filsystemet montert på /data Katalogen ser ut for øyeblikket.

$ tre -A /data

La oss fjerne .Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde.

$ sudo btrfs subvolume liste /data

Å fjerne /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde, kjør følgende kommando:

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

Som du kan se, øyeblikksbildet .Øyeblikksbilder/Web1-2020-12-25 er ikke mer.

$ sudo btrfs subvolume liste /data

Som du kan se, filene/katalogene til /data/.Øyeblikksbilder/Web1-2020-12-25 øyeblikksbilde fjernes også.

$ tre -A /data

Konklusjon

Denne artikkelen har vist deg hvordan du kan ta skrivbare og skrivebeskyttede øyeblikksbilder av BTRFS-filsystemet Subvolumer. Jeg har også vist deg hvordan du kan oppdatere et skrivbar øyeblikksbilde og gjenopprette filer fra et øyeblikksbilde. Jeg har vist deg hvordan du også fjerner et BTRFS -øyeblikksbilde. Denne artikkelen skal hjelpe deg i gang med BTRFS -øyeblikksbildefunksjonen.