Btrfs

Hvordan bruke Btrfs-øyeblikksbilder

Hvordan bruke Btrfs-øyeblikksbilder
Btrfs-filsystemet har innebygd snapshot-støtte for filsystemnivå. Du kan opprette et undervolum i Btrfs-filsystemet 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.

Øyeblikksbildefunksjonen til 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 to typer øyeblikksbilder.

  1. Skrivbare øyeblikksbilder: Hvis du tar et skrivbart øyeblikksbilde, kan du endre øyeblikksbildets filer / kataloger senere. Dette er standard øyeblikksbildetype for Btrfs-filsystemet.
  2. Skrivebeskyttede øyeblikksbilder: Hvis du tar et skrivebeskyttet øyeblikksbilde, kan du ikke endre øyeblikksbildets filer / kataloger senere.

Denne artikkelen viser deg hvordan du tar skrivbare og skrivebeskyttede øyeblikksbilder av Btrfs-filsystemets undervolumer. Jeg vil også vise deg hvordan du oppdaterer et skrivbart øyeblikksbilde og gjenoppretter 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,

Jeg har en 20 GB harddisk sdb på min Ubuntu-maskin. Jeg har laget 2 partisjoner sdb1 og sdb2 på denne harddisken. Jeg vil bruke partisjonen sdb1 i denne artikkelen.

$ sudo lsblk -e7

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

Hvis du trenger hjelp med å installere Btrfs-filsystemet på Ubuntu, kan du sjekke artikkelen min Installer og bruk Btrfs på Ubuntu 20.04 LTS.

Hvis du trenger hjelp med å installere Btrfs-filsystemet på Fedora, kan du sjekke artikkelen min Installer og bruk Btrfs på Fedora 33.

Opprette et Btrfs-filsystem

For å eksperimentere med Btrfs-undervolumer, må du opprette et Btrfs-filsystem.

Å 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

For å montere Btrfs-filsystemet 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å skjermbildet nedenfor.

$ df -h / data

Forbereder Btrfs-filsystemet for øyeblikksbilder

I Btrfs kan du bare ta bilder av Btrfs-delvolumer. Hovedroten til et Btrfs-filsystem er også et undervolum. Så du kan ta sikkerhetskopi av hele Btrfs-filsystemet, så vel som spesifikke delvolumer.

Denne delen vil opprette et Btrfs-delvolum / data / prosjekter / web1 og opprett de nødvendige filene for de neste delene av denne artikkelen nedenfor. Jeg vil også opprette en katalog der du kan beholde øyeblikksbildene dine. I de neste avsnittene vil jeg vise deg hvordan du tar øyeblikksbilder (skrivbar og skrivebeskyttet), oppdaterer et skrivbart øyeblikksbilde og gjenoppretter filer fra øyeblikksbildet. Så la oss komme i gang.

Først oppretter du en ny katalog / data / prosjekter som følger:

$ sudo mkdir -v / data / projects

Lag et nytt delvolum web1 i / data / prosjekter katalog som følger:

$ sudo btrfs subvolume create / data / projects / web1

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

$ sudo nano / data / projects / web1 / index.html

Skriv inn følgende kodelinjer 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.

Opprett en ny fil stil.css i / data / prosjekter / web1 delvolum som følger:

$ sudo nano / data / projects / web1 / style.css

Skriv inn følgende kodelinjer 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 delvolum har indeks.html og stil.css fil.

$ ls -lh / data / projects / web1

Jeg vil ha alle øyeblikksbildene til dette Btrfs-filsystemet i /data/.øyeblikksbilder katalog.

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

$ sudo mkdir -v / data /.øyeblikksbilder

Ta stillbilder av et undervolum

Å ta et øyeblikksbilde av / data / prosjekter / web1 delvolum inn i /data/.øyeblikksbilder / web1-2020-12-25 katalog (blir 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 katalogen skal opprettes på /data/.øyeblikksbilder / web1-2020-12-25 katalog.

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

$ sudo btrfs undervolumeliste / 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, er alle filene i / data / prosjekter / web1 delvolum er i /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde.

$ tree -a / data

Gjenopprette filer fra stillbilder

I denne delen skal jeg vise deg hvordan du gjenoppretter filer fra Btrfs-øyeblikksbildene.

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

Åpne / data / prosjekter / web1 / indeks.html fil med nano-teksteditoren som følger:

$ sudo nano / data / projects / web1 / index.html

Gjør eventuelle endringer du ønsker.

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

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

$ cat / data / projects / web1 / index.html
$ katt / data /.øyeblikksbilder / web1-2020-12-25 / indeks.html

Vi har gjort hovedendringene indeks.html filen er uønsket, og vi vil gjenopprette indeks.html fil fra øyeblikksbildet.

Du kan gjenopprette indeks.html filen fra stillbildet som følger:

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

Som du kan se, er indeks.html filen gjenopprettes fra øyeblikksbildet.

$ cat / data / projects / web1 / index.html
$ katt / data /.øyeblikksbilder / web1-2020-12-25 / indeks.html

La oss nå se hvordan du gjenoppretter 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 /.øyeblikksbilder / web1-2020-12-25 / / data / prosjekter / web1 /

Som du kan se, blir filene / katalogene gjenopprettet fra øyeblikksbildet.

$ ls -lh / data / projects / web1

Til slutt, la oss se hvordan du gjenoppretter 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, blir de fjernet.

La oss lage en ny fil i undervolumet for å skille filtre fra øyeblikksbildet.

Lage en LES LES.tekst filen i / data / prosjekter / web1 delvolum som følger:

$ echo "hallo verden 5" | sudo tee / data / projects / web1 / README.tekst

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

$ tree -a / data

For å gjenopprette filene / katalogene fra /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde til / data / prosjekter / web1 delvolum i speilmodus, kjør følgende kommando:

$ sudo rsync -avz --delete / data /.øyeblikksbilder / web1-2020-12-25 / / data / prosjekter / web1 /

Alle filene / katalogene til / data / prosjekter / web1 undervolumet bør gjenopprettes (i speilmodus) fra /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde.

Filetreet til / data / prosjekter / web1 delvolum og /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde skal være det samme.

Som du kan se, indeksen.html-fil og stil.css filinnholdet er det samme i / data / prosjekter / web1 delvolum og /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde.

Innholdet i indeks.html og stil.css filen i / data / prosjekter / web1 delvolum.

$ cat / data / projects / web1 / index.html
$ cat / data / prosjekter / web1 / stil.css

Innholdet i indeks.html og stil.css filen i /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde.

$ cat / data / projects / web1 / index.html
$ cat / 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 skrivbart øyeblikksbilde.

La oss oppdatere indeks.html filen i / data / prosjekter / web1 delvolum.

Først åpner du indeks.html fil fra / data / prosjekter / web1 delvolum med nano tekstredigerer som følger:

$ sudo nano / data / projects / web1 / index.html

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

Som du kan se, indeksen.html-fil av / data / prosjekter / web1 delvolum er forskjellig fra /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde.

$ cat / data / projects / web1 / index.html
$ katt / data /.øyeblikksbilder / web1-2020-12-25 / indeks.html

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

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

$ sudo cp -v / data / projects / web1 / index.html / data /.øyeblikksbilder / web1-2020-12-25 / indeks.html

Som du kan se, er indeks.html fil av /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbildet er oppdatert.

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

Ta skrivebeskyttede stillbilder 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 skrivebeskyttede øyeblikksbilder.

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 øyeblikksbilde -r / data / prosjekter / web1 / data /.øyeblikksbilder / web1-2020-12-26

Som du kan se, et nytt undervolum .øyeblikksbilder / web1-2020-12-26 er skapt.

$ sudo btrfs undervolumeliste / 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 delvolum.

For å gjøre det, åpne indeks.html fil fra / data / prosjekter / web1 delvolum med nano tekstredigerer som følger:

$ sudo nano / data / projects / web1 / index.html

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

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

$ cat / data / projects / web1 / index.html
$ katt / data /.øyeblikksbilder / web1-2020-12-26 / indeks.html

La oss prøve å oppdatere indeks.html filen i /data/.øyeblikksbilder / web1-2020-12-26 øyeblikksbilde.

$ sudo cp -v / data / projects / web1 / index.html / data /.øyeblikksbilder / web1-2020-12-26 / indeks.html

Som du kan se, 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 katalog ser ut for øyeblikket.

$ tree -a / data

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

$ sudo btrfs undervolumeliste / data

For å fjerne /data/.øyeblikksbilder / web1-2020-12-25 øyeblikksbilde, kjør følgende kommando:

$ sudo btrfs delvolum slett / data /.øyeblikksbilder / web1-2020-12-25

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

$ sudo btrfs undervolumeliste / data

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

$ tree -a / data

Konklusjon

Denne artikkelen har vist deg hvordan du tar skrivbare og skrivebeskyttede øyeblikksbilder av Btrfs-filsystemets undervolumer. Jeg har også vist deg hvordan du oppdaterer et skrivbart øyeblikksbilde og gjenoppretter filer fra et øyeblikksbilde. Jeg har vist deg hvordan du også fjerner et Btrfs-øyeblikksbilde. Denne artikkelen skal hjelpe deg med å komme i gang med funksjonen Btrfs snapshot.

Mus Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Markøren hopper eller beveger seg tilfeldig mens du skriver inn Windows 10
Hvis du finner ut at musemarkøren hopper eller beveger seg alene, automatisk, tilfeldig mens du skriver inn Windows-bærbar PC eller datamaskin, kan no...
Mus Hvordan reversere rulle retning for mus og styreplater i Windows 10
Hvordan reversere rulle retning for mus og styreplater i Windows 10
Mus og Pekeplates gjør ikke bare databehandling enkelt, men mer effektivt og mindre tidkrevende. Vi kan ikke forestille oss et liv uten disse enhetene...
Mus Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Hvordan endre musepekeren og markørstørrelse, farge og skjema på Windows 10
Musepekeren og markøren i Windows 10 er veldig viktige aspekter ved operativsystemet. Dette kan sies også for andre operativsystemer, så i sannhet er ...