Btrfs

Sådan bruges Btrfs Snapshots

Sådan bruges Btrfs Snapshots
Btrfs-filsystemet har indbygget snapshot-understøttelse på filsystemniveau. Du kan oprette et undervolumen i dit Btrfs-filsystem og tage snapshots af filerne / katalogerne i det undervolumen. Hvis du tager et øjebliksbillede af et undervolumen, gemmes tilstanden for filerne / mapperne i det undervolumen. Du kan gendanne alle filer / kataloger til undervolumen fra øjebliksbilledet, hvis du har brug for det.

Snapshot-funktionen i Btrfs-filsystemet bruger Copy-on-Write (CoW) -princippet. Så det tager ikke meget diskplads, og du kan tage øjebliksbilleder af et undervolumen med det samme.

Btrfs-filsystemet understøtter 2 typer snapshots.

  1. Skrivelige snapshots: Hvis du tager et skrivbart øjebliksbillede, kan du ændre det snapshots filer / mapper senere. Dette er standard snapshot-typen af ​​Btrfs-filsystemet.
  2. Skrivebeskyttede snapshots: Hvis du tager et skrivebeskyttet snapshot, kan du ikke ændre snapshots filer / mapper senere.

Denne artikel viser dig, hvordan du tager skrivbare og skrivebeskyttede snapshots af dine Btrfs-filsystems undervolumener. Jeg vil også vise dig, hvordan du opdaterer et skrivbart øjebliksbillede og gendanner filer fra et øjebliksbillede. Jeg viser dig også, hvordan du fjerner et øjebliksbillede. Så lad os komme i gang.

Forudsætninger

For at prøve eksemplerne på denne artikel,

Jeg har en 20 GB harddisk sdb på min Ubuntu-maskine. Jeg har oprettet 2 partitioner sdb1 og sdb2 på denne harddisk. Jeg bruger partitionen sdb1 i denne artikel.

$ sudo lsblk -e7

Din harddisk eller SSD kan have et andet navn end min, så vil partitionerne også. Så sørg for at erstatte dem med din fra nu af.

Hvis du har brug for hjælp til installation af Btrfs-filsystemet på Ubuntu, skal du tjekke min artikel Installer og brug Btrfs på Ubuntu 20.04 LTS.

Hvis du har brug for hjælp til installation af Btrfs-filsystemet på Fedora, skal du tjekke min artikel Installer og brug Btrfs på Fedora 33.

Oprettelse af et Btrfs-filsystem

For at eksperimentere med Btrfs-undervolumener skal du oprette et Btrfs-filsystem.

At oprette et Btrfs-filsystem med etiketten data på den sdb1 partition, kør følgende kommando:

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

Der skal oprettes et Btrfs-filsystem.

Opret en mappe /data med følgende kommando:

$ sudo mkdir -v / data

At montere Btrfs-filsystemet oprettet på sdb1 partition i /data bibliotek, kør følgende kommando:

$ sudo mount / dev / sdb1 / data

Btrfs-filsystemet skal monteres som du kan se på skærmbilledet nedenfor.

$ df -h / data

Forberedelse af Btrfs-filsystemet til snapshots

I Btrfs kan du kun tage snapshots af Btrfs-undervolumener. Hovedroten til et Btrfs-filsystem er også et undervolumen. Så du kan tage sikkerhedskopien af ​​hele Btrfs-filsystemet såvel som specifikke undervolumener.

Dette afsnit opretter et Btrfs-undervolumen / data / projekter / web1 og opret de nødvendige filer til de næste sektioner i denne artikel nedenfor. Jeg opretter også et bibliotek, hvor du kan gemme dine snapshots. I de næste sektioner vil jeg vise dig, hvordan du tager snapshots (skrivbar og skrivebeskyttet), opdaterer et skrivbart snapshot og gendanner filer fra snapshotet. Så lad os komme i gang.

Opret først en ny mappe / data / projekter som følger:

$ sudo mkdir -v / data / projekter

Opret et nyt undervolumen web1 i / data / projekter katalog som følger:

$ sudo btrfs subvolume create / data / projects / web1

Opret en ny fil indeks.html i / data / projekter / web1 undervolumen som følger:

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

Indtast de følgende linjer med koder i indeks.html fil.




Demo-websted



Hej verden 4



Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde indeks.html fil.

Opret en ny fil stil.css i / data / projekter / web1 undervolumen som følger:

$ sudo nano / data / projekter / web1 / stil.css

Indtast de følgende linjer med koder i stil.css fil.

h1
farve: grøn;

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde stil.css fil.

Nu, den / data / projekter / web1 undervolumen har indeks.html og stil.css fil.

$ ls -lh / data / projekter / web1

Jeg vil beholde alle snapshots af dette Btrfs-filsystem i /data/.snapshots vejviser.

Opret /data/.snapshots bibliotek med følgende kommando:

$ sudo mkdir -v / data /.snapshots

Optagelse af snapshots af et undervolumen

At tage et øjebliksbillede af / data / projekter / web1 delvolumen ind i /data/.snapshots / web1-2020-12-25 bibliotek (oprettes automatisk), kør følgende kommando:

$ sudo btrfs subvolume snapshot / data / projekter / web1 / data /.snapshots / web1-2020-12-25

Et øjebliksbillede af / data / projekter / web1 mappe skal oprettes på /data/.snapshots / web1-2020-12-25 vejviser.

Som du kan se på skærmbilledet nedenfor, et nyt undervolumen .snapshots / web1-2020-12-25 er oprettet. Et øjebliksbillede er faktisk et undervolumen.

$ sudo btrfs undervolumenliste / data

Du kan se flere oplysninger om det øjebliksbillede, du har oprettet i /data/.snapshots / web1-2020-12-25 katalog som følger:

$ sudo btrfs subvolume show / data /.snapshots / web1-2020-12-25

Som du kan se, er alle filerne i / data / projekter / web1 undervolumen er i /data/.snapshots / web1-2020-12-25 øjebliksbillede.

$ træ -a / data

Gendannelse af filer fra snapshots

I dette afsnit vil jeg vise dig, hvordan du gendanner filer fra Btrfs-snapshots.

Først skal jeg vise dig, hvordan du gendanner en enkelt fil fra øjebliksbillede.

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

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

Foretag de ønskede ændringer.

Når du er færdig, skal du trykke på + x efterfulgt af Y og for at gemme filen.

Som du kan se, er det vigtigste indeks.html filen er forskellig fra indeks.html fil i snapshotet.

$ kat / data / projekter / web1 / indeks.html
$ kat / data /.snapshots / web1-2020-12-25 / index.html

Vi har foretaget de vigtigste ændringer indeks.html filen er uønsket, og vi vil gendanne indeks.html fil fra øjebliksbillede.

Du kan gendanne indeks.html fil fra øjebliksbillede som følger:

$ sudo cp -v / data /.snapshots / web1-2020-12-25 / index.html / data / projekter / web1 / indeks.html

Som du kan se, er indeks.html filen gendannes fra øjebliksbillede.

$ kat / data / projekter / web1 / indeks.html
$ kat / data /.snapshots / web1-2020-12-25 / index.html

Lad os nu se, hvordan du gendanner alle filer / mapper fra øjebliksbillede.

Fjern alle filerne fra / data / projekter / web1 øjebliksbillede som følger:

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

For at gendanne alle filer / mapper fra øjebliksbillede skal du køre følgende kommando:

$ sudo rsync -avz / data /.snapshots / web1-2020-12-25 / / data / projekter / web1 /

Som du kan se, gendannes filerne / mapperne fra øjebliksbillede.

$ ls -lh / data / projekter / web1

Lad os endelig se, hvordan du gendanner filer / mapper fra øjebliksbillede i spejletilstand. I spejltilstand er undervolumenets filer / mapper de samme som i øjebliksbillede. Hvis der er filer / mapper i undervolumen, der ikke er tilgængelige i øjebliksbillede, fjernes de.

Lad os oprette en ny fil i undervolumen for at differentiere filtræet fra øjebliksbillede.

Lave en LÆS MERE.txt fil i / data / projekter / web1 undervolumen som følger:

$ echo "hej verden 5" | sudo tee / data / projekter / web1 / README.txt

Som du kan se, er filtræet for / data / projekter / web1 undervolumen er forskelligt fra /data/.snapshots / web1-2020-12-25 øjebliksbillede.

$ træ -a / data

For at gendanne filerne / mapperne fra /data/.snapshots / web1-2020-12-25 øjebliksbillede til / data / projekter / web1 undervolumen i spejltilstand, kør følgende kommando:

$ sudo rsync -avz --delete / data /.snapshots / web1-2020-12-25 / / data / projekter / web1 /

Alle filer / mapper i / data / projekter / web1 undervolumen skal gendannes (i spejltilstand) fra /data/.snapshots / web1-2020-12-25 øjebliksbillede.

Filtræet til / data / projekter / web1 undervolumen og /data/.snapshots / web1-2020-12-25 øjebliksbillede skal være det samme.

Som du kan se, indekset.html-fil og stil.css-filindholdet er det samme i / data / projekter / web1 undervolumen og /data/.snapshots / web1-2020-12-25 øjebliksbillede.

Indholdet af indeks.html og stil.css fil i / data / projekter / web1 undervolumen.

$ kat / data / projekter / web1 / indeks.html
$ kat / data / projekter / web1 / stil.css

Indholdet af indeks.html og stil.css fil i /data/.snapshots / web1-2020-12-25 øjebliksbillede.

$ kat / data / projekter / web1 / indeks.html
$ kat / data / projekter / web1 / stil.css

Opdatering af et øjebliksbillede

Som standard tager Btrfs-filsystemet skrivbare snapshots. Et Btrfs-øjebliksbillede er ligesom et undervolumen. Så du kan ændre / opdatere filerne / mapperne til et skrivbart øjebliksbillede.

Lad os opdatere indeks.html fil i / data / projekter / web1 undervolumen.

Først skal du åbne indeks.html fil fra / data / projekter / web1 delvolumen med nano teksteditor som følger:

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

Foretag de ændringer, du ønsker. Når du er færdig, skal du trykke på + x efterfulgt af Y og for at redde indeks.html fil.

Som du kan se, indekset.html-fil af / data / projekter / web1 undervolumen er forskelligt fra /data/.snapshots / web1-2020-12-25 øjebliksbillede.

$ kat / data / projekter / web1 / indeks.html
$ kat / data /.snapshots / web1-2020-12-25 / index.html

Du vil beholde indeks.html fil af / data / projekter / web1 undervolumen.

For at opdatere indeks.html fil i /data/.snapshots / web1-2020-12-25 snapshot, kør følgende kommando:

$ sudo cp -v / data / projekter / web1 / indeks.html / data /.snapshots / web1-2020-12-25 / index.html

Som du kan se, er indeks.html fil af /data/.snapshots / web1-2020-12-25 øjebliksbillede er opdateret.

Opdatering af et øjebliksbillede er lige så let som at kopiere nye filer til øjebliksbillede.

Optagelse af skrivebeskyttede snapshots af et undervolumen

Til tider vil du ikke have, at de snapshots, du har taget, skal opdateres på nogen måde. I så fald kan du oprette skrivebeskyttede snapshots.

For eksempel at oprette et skrivebeskyttet øjebliksbillede /data/.snapshots / web1-2020-12-26 af / data / projekter / web1 subvolume, kør følgende kommando:

$ sudo btrfs subvolume snapshot -r / data / projekter / web1 / data /.snapshots / web1-2020-12-26

Som du kan se, et nyt undervolumen .snapshots / web1-2020-12-26 er oprettet.

$ sudo btrfs undervolumenliste / data

Som du kan se, øjebliksbillede /data/.snapshots / web1-2020-12-26 er skrivebeskyttet.

$ sudo btrfs subvolume show / data /.snapshots / web1-2020-12-26

Lad os opdatere indeks.html fil fra / data / projekter / web1 undervolumen.

For at gøre det skal du åbne indeks.html fil fra / data / projekter / web1 delvolumen med nano teksteditor som følger:

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

Foretag de ændringer, du ønsker. Når du er færdig, skal du trykke på + x efterfulgt af Y og for at gemme ændringerne.

Som du kan se, er indeks.html i / data / projekter / web1 undervolumen er forskellig fra /data/.snapshots / web1-2020-12-26 øjebliksbillede.

$ kat / data / projekter / web1 / indeks.html
$ kat / data /.snapshots / web1-2020-12-26 / indeks.html

Lad os prøve at opdatere indeks.html fil i /data/.snapshots / web1-2020-12-26 øjebliksbillede.

$ sudo cp -v / data / projekter / web1 / indeks.html / data /.snapshots / web1-2020-12-26 / indeks.html

Som du kan se, kan du ikke opdatere indeks.html fil af /data/.snapshots / web1-2020-12-26 snapshot, fordi snapshotet er skrivebeskyttet.

Fjernelse af et øjebliksbillede

Jeg har fortalt dig tidligere, at et Btrfs-øjebliksbillede er som et undervolumen. Så du kan fjerne et Btrfs-øjebliksbillede, ligesom du fjerner et Btrfs-undervolumen. Samme kommando.

Sådan monteres filtræet til Btrfs-filsystemet på /data katalog ser ud i øjeblikket.

$ træ -a / data

Lad os fjerne .snapshots / web1-2020-12-25 øjebliksbillede.

$ sudo btrfs undervolumenliste / data

For at fjerne /data/.snapshots / web1-2020-12-25 snapshot, kør følgende kommando:

$ sudo btrfs subvolume sletning / data /.snapshots / web1-2020-12-25

Som du kan se, øjebliksbillede .snapshots / web1-2020-12-25 er ikke mere.

$ sudo btrfs undervolumenliste / data

Som du kan se, filerne / katalogerne til /data/.snapshots / web1-2020-12-25 snapshot fjernes også.

$ træ -a / data

Konklusion

Denne artikel har vist dig, hvordan du tager skrivbare og skrivebeskyttede snapshots af dine Btrfs-filsystemundervolumen. Jeg har også vist dig, hvordan du opdaterer et skrivbart øjebliksbillede og gendanner filer fra et øjebliksbillede. Jeg har vist dig, hvordan du også fjerner et Btrfs-øjebliksbillede. Denne artikel skal hjælpe dig med at komme i gang med funktionen Btrfs snapshot.

Mus Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Markøren hopper eller bevæger sig tilfældigt, mens han skriver i Windows 10
Hvis du finder ud af, at din musemarkør hopper eller bevæger sig alene, automatisk tilfældigt, mens du skriver Windows-bærbar computer eller computer,...
Mus Sådan vender du musens og touchpadsens rulle retning i Windows 10
Sådan vender du musens og touchpadsens rulle retning i Windows 10
Mus og Touchpads gør ikke kun computing let, men mere effektiv og mindre tidskrævende. Vi kan ikke forestille os et liv uden disse enheder, men det er...
Mus Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Sådan ændres musemarkør og markørstørrelse, farve og skema på Windows 10
Musemarkøren og markøren i Windows 10 er meget vigtige aspekter af operativsystemet. Dette kan også siges om andre operativsystemer, så i sandhed er d...