Btrfs

Hur säkerhetskopierar du Btrfs-ögonblicksbilder till externa enheter

Hur säkerhetskopierar du Btrfs-ögonblicksbilder till externa enheter

Som standard kan du lagra de ögonblicksbilder du tar av dina Btrfs-delvolymer i samma Btrfs-filsystem, men det är inte möjligt att lagra ögonblicksbilderna för ett Btrfs-filsystem direkt till ett annat Btrfs-filsystem. Btrfs-filsystemet ger dig dock de nödvändiga verktygen för att säkerhetskopiera ögonblicksbilder av ett Btrfs-filsystem till ett annat Btrfs-filsystem. Den här artikeln visar hur du säkerhetskopierar Btrfs-ögonblicksbilder till ett externt Btrfs-filsystem på en extern enhet.

Förutsättningar

För att prova exemplen i den här artikeln måste du uppfylla följande förutsättningar:

Jag har 20 GB hårddisk, sdb, på min Ubuntu-maskin. Jag har skapat två partitioner, sdb1 och sdb2, på den här hårddisken.

$ sudo lsblk -e7

Notera: Din hårddisk eller SSD kommer att ha ett annat namn än mitt, och så kommer partitionerna att göra. Så var noga med att ersätta dessa namn med ditt från och med nu.


Jag kommer att skapa Btrfs-filsystem på sdb1 och den sdb2 partitioner. Ögonblicksbilderna skapade i Btrfs-filsystemet (sdb1) kommer att säkerhetskopieras till Btrfs-filsystemet som skapats på sdb2 dela. Btrfs-filsystemet skapat på sdb2 partitionen fungerar som den externa enheten. Du kan också använda en USB-minne eller en extern hårddisk. var noga med att formatera den med Btrfs-filsystemet.

För hjälp med att installera Btrfs-filsystemet i Ubuntu, kolla in min artikel Installera och använd Btrfs på Ubuntu 20.04 LTS.

För hjälp med att installera Btrfs-filsystemet i Fedora, kolla in min artikel Installera och använd Btrfs på Fedora 33.

Skapa nödvändiga Btrfs-filsystem

Jag kommer att formatera både sdb1 och sdb2 partitioner som Btrfs. Jag kommer att använda sdb1 partition för lagring av data och Btrfs-ögonblicksbilder. Jag kommer att använda sdb2 partition för att säkerhetskopiera ögonblicksbilderna av Btrfs-filsystemet som skapats på sdb1 dela.

För att skapa ett Btrfs-filsystem på sdb1 partition och ge den filsystemets etikettdata, kör följande kommando:

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

Ett Btrfs-filsystem ska nu skapas på sdb1 dela.

För att skapa ett Btrfs-filsystem på sdb2 partition och ge den snapshots för filsystemetiketten, kör följande kommando:

$ sudo mkfs.btrfs -L snapshots / dev / sdb2

Ett Btrfs-filsystem ska nu skapas på sdb2 dela.

Skapa kataloger /data och / ögonblicksbilder för montering av sdb1 och sdb2 partitioner, enligt följande:

$ sudo mkdir -v / data, snapshots

Montera Btrfs-filsystemet du har skapat på sdb1 partition i / datakatalogen enligt följande:

$ sudo mount / dev / sdb1 / data

På samma sätt monterar du Btrfs-filsystemet du har skapat på sdb2 partition på / ögonblicksbilder katalog, enligt följande:

$ sudo mount / dev / sdb2 / snapshots

Som du kan se på skärmdumpen nedan är båda Btrfs-filsystemen (sdb1 och sdb2 partitioner) har monterats korrekt.

$ df -h -t btrfs

Ta ögonblicksbilder av ett Btrfs-filsystem

I det här avsnittet skapar vi dummy-projektet webb1 / data / projects / web1 Btrfs subvolume. Vi tar en ögonblicksbild av den delvolymen i detta avsnitt, liksom några andra ögonblicksbilder i senare avsnitt av den här artikeln.

Skapa först den nya katalogen / data / projekt, som följer:

$ sudo mkdir -v / data / projects

Skapa sedan det nya delvolym web1 i / data / projekt katalog, som följer:

$ sudo btrfs subvolume create / data / projects / web1

Slutligen skapa det nya filindexet.html i / data / projekt / webb1 delvolym med nano-textredigeraren enligt följande:

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

Skriv in följande kodrader i indexet.html-fil:




Demo-webbplats



Hej världen




När du är klar trycker du på <Ctrl> + X följd av Y och <Stiga på> för att spara index.html-fil.

På samma sätt skapar du den nya filen stil.css i / data / projekt / delvolym web1 som följer:

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


Skriv följande kodrader i stil.css fil:

h1
färg: grön;

När du är klar trycker du på <Ctrl> + X följd av Y och <Stiga på> för att spara stil.css fil.

Nu den / data / projekt / delvolym web1 innehåller index.html och stil.css-fil.

$ ls -lh / data / projects / web1

Vi kommer att behålla alla ögonblicksbilder av detta Btrfs-filsystem i /data/.ögonblicksbilder katalog.

Skapa först /data/.ögonblicksbilder katalog med följande kommando:

$ sudo mkdir -v / data /.ögonblicksbilder

Skapa sedan den skrivskyddade ögonblicksbilden /data/.snapshots / web1-2020-12-30 av / data / projekt / delvolym web1 med följande kommando:

$ sudo btrfs subvolume snapshot -r / data / projects / web1 / data /.snapshots / web1-2020-12-30

Som du kan se den nya ögonblicksbilden /data/.snapshots / web1-2020-12-30 Har skapats.

$ sudo btrfs subvolume list / data

Säkerhetskopiera ögonblicksbilder till extern enhet

För att säkerhetskopiera ögonblicksbilden /data/.snapshots / web1-2020-12-30 till ett annat Btrfs-filsystem (extern enhet sdb2, i det här fallet) monterad på / ögonblicksbilder katalog, kör följande kommando:

$ sudo btrfs skicka / data /.snapshots / web1-2020-12-30 | sudo btrfs mottag / snapshots

Ögonblicksbilden /data/.snapshots / web1-2020-12-30 ska säkerhetskopieras till det externa Btrfs-filsystemet (sdb2) monterad på / ögonblicksbilder katalog.

Som du kan se ny delvolym web1-2020-12-30 har skapats på det externa Btrfs-filsystemet.

$ sudo btrfs subvolume list / snapshots

De ögonblicksbild web1-2020-12-30 ska ha samma filer/ kataloger som den /data/.snapshots / web1-2020-12-30 ögonblicksbild.

$ tree -a / snapshots

Du kan få mer information om den säkerhetskopierade ögonblicksbilden / snapshosts / web1-2020-12-30 som följer:

$ sudo btrfs subvolume show / snapshots / web1-2020-12-30

Inkrementell säkerhetskopiering av ögonblicksbilder till extern enhet

Om det finns många filer i ögonblicksbilderna för att säkerhetskopiera till en extern enhet, hjälper inkrementella säkerhetskopior dig att snabba upp säkerhetskopieringen. I det här fallet kommer Btrfs endast att uppdatera de filer som har ändrats sedan den senaste ögonblicksbilden och kopiera nya filer som inte var tillgängliga i den senaste ögonblicksbilden.

I det här avsnittet visar jag dig hur du utför stegvisa säkerhetskopior av Btrfs-ögonblicksbilder till externa Btrfs-filsystem.

Öppna först index.html-fil från / data / projekt / delvolym web1, som följer:

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

Gör eventuella ändringar du vill ha i index.html-fil. När du är klar trycker du på <Ctrl> + X följd av Y och <Stiga på> för att spara index.html fil.

Ta en ny skrivskyddad ögonblicksbild av / data / projekt / web1 delvolym, som följer:

$ sudo btrfs subvolume snapshot -r / data / projects / web1 / data /.ögonblicksbilder / web1-2020-12-31

Som du kan se den nya ögonblicksbilden /data/.ögonblicksbilder / web1-2020-12-31 av / data / projekt / delvolym web1 Har skapats.

$ sudo btrfs subvolume list / data

Nu är vi redo att ta en stegvis säkerhetskopia.

För att ta en inkrementell säkerhetskopia behöver du en gemensam ögonblicksbild av både källan och destinationen (extern enhet) Btrfs-filsystem. Den vanliga ögonblicksbilden är vanligtvis den senaste ögonblicksbilden av en Btrfs-delvolym. När du tar en ny ögonblicksbild på Btrfs-källfilssystemet jämförs den nya ögonblicksbilden med den senaste ögonblicksbilden (tillgänglig på både källkods- och destinations Btrfs-filsystemet) för källan Btrfs-filsystem. Btrfs beräknar skillnaden och skickar endast nödvändiga data till destinations Btrfs-filsystemet (den externa enheten).

Till exempel för att ta en inkrementell säkerhetskopia av /data/.snapshots / web1-2020-12-31 snapshot, du måste ange den överordnade ögonblicksbilden (den senaste ögonblicksbilden som finns tillgänglig på både käll- och destinations Btrfs-filsystem), /data/.snapshots / web1-2020-12-30, också.

En inkrementell säkerhetskopia av /data/.ögonblicksbilder / web1-2020-12-31 ögonblicksbild kan tas till ett externt Btrfs-filsystem enligt följande:

$ sudo btrfs skicka -p / data /.snapshots / web1-2020-12-30 / data /.snapshots / web1-2020-12-31 | sudo btrfs mottag / snapshots

En inkrementell säkerhetskopia av /data/.ögonblicksbilder / web1-2020-12-31 ögonblicksbild ska tas.

Som du kan se webb1-2020-12-31 ögonblicksbild har säkerhetskopierats till det externa Btrfs-filsystemet som är monterat på / ögonblicksbilder katalog.

$ sudo btrfs subvolume list / snapshots

Som du kan se på skärmdumpen nedan, ändringarna du har gjort i index.html-fil finns i webb1-2020-12-31 ögonblicksbild som har säkerhetskopierats till det externa Btrfs-filsystemet.

$ cat / snapshots / web1-2020-12-31 / index.html

På samma sätt kan du ta så många inkrementella säkerhetskopior av dina ögonblicksbilder som du vill.

Jag visar dig hur du gör en stegvis säkerhetskopiering en gång till. Jag tar inte tid att förklara det igen. Istället visar jag bara processen för tydlighetens skull.

Öppna index.html-fil från / data / projekt / web1 delvolym, som följer:

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

Gör eventuella ändringar du vill ha i index.html-fil. När du är klar trycker du på <Ctrl> + X följd av Y och <Stiga på> för att spara index.html-fil.

Ta en ny skrivskyddad ögonblicksbild av / data / projekt / delvolym web1, som följer:

$ sudo btrfs subvolume snapshot -r / data / projects / web1 / data /.snapshots / web1-2020-12-31_2

Ta en stegvis säkerhetskopia av /data/.snapshots / web1-2020-12-31_2 snapshot till ett externt Btrfs-filsystem, enligt följande:

$ sudo btrfs skicka -p / data /.snapshots / web1-2020-12-31 / data /.ögonblicksbilder / web1-2020-12-31_2 | sudo btrfs mottag / snapshots

Notera: Nu, den överordnade ögonblicksbilden till vilken /data/.snapshots / web1-2020-12-31_2 snapshot kommer att jämföras är /data/.ögonblicksbilder / web1-2020-12-31.

Som du kan se webb1-2020-12-31_2 snapshot har säkerhetskopierats till det externa Btrfs-filsystemet som är monterat på / ögonblicksbilder katalog.

$ sudo btrfs subvolume list / snapshots

Som du kan se på skärmdumpen nedan har de senaste ändringarna gjorts i index.html-fil finns på webb1-2020-12-31_2 ögonblicksbild säkerhetskopieras till det externa Btrfs-filsystemet.

$ cat / snapshots / web1-2020-12-31_2 / index.html

Håll saker rena

Om du säkerhetskopierar dina Btrfs-ögonblicksbilder ofta kommer du att få många ögonblicksbilder och det kan bli svårt att hantera dem. Lyckligtvis kan du ta bort alla ögonblicksbilder från Btrfs-filsystemet.

Om du använder en tillräckligt stor extern enhet för att säkerhetskopiera Btrfs-ögonblicksbilderna kan du behålla några ögonblicksbilder på ditt Btrfs-filsystem och säkerhetskopiera alla ögonblicksbilder på din externa enhet.

Om du använder en mindre extern enhet kan du selektivt behålla endast de viktigaste ögonblicksbilderna säkerhetskopierade på den externa enheten.

För att säkerhetskopiera dina Btrfs-ögonblicksbilder måste du behålla åtminstone den senaste ögonblicksbilden på båda källorna (/data/.ögonblicksbilder) och destinationen (/ snapshots - extern enhet) Btrfs-filsystem. Ta gärna bort andra ögonblicksbilder än den senaste ögonblicksbilden i båda ändarna.

I det här fallet är till exempel den senaste ögonblicksbilden webb1-2020-12-31_2. Så, för att utföra stegvisa säkerhetskopior måste denna ögonblicksbild sparas på källan och destinationen (extern enhet) Btrfs-filsystem.

Anta att du vill ta bort /data/.snapshots / web1-2020-12-30 snapshot.

För att göra detta, kör följande kommando:

$ sudo btrfs subvolume delete / data /.snapshots / web1-2020-12-30

Btrfs-ögonblicksbilden /data/.snapshots / web1-2020-12-30 bör nu tas bort.

På samma sätt kan du ta bort /data/.snapshots / web1-2020-12-31 snapshot, som följer:

$ sudo btrfs subvolume delete / data /.ögonblicksbilder / web1-2020-12-31

Nu är det bara den senaste ögonblicksbilden, /data/.snapshots / web1-2020-12-31_2, är tillgänglig på Btrfs-filsystemet, monterat på /data katalog. De andra ögonblicksbilderna säkerhetskopieras på den externa enheten, monterad på / ögonblicksbilder katalog.

$ sudo btrfs subvolume list / data
$ sudo btrfs subvolume list / snapshots

Återställa ögonblicksbilder från extern enhet

Om du har säkerhetskopierat dina ögonblicksbilder på den externa enheten kan du när som helst återställa dem från den externa enheten.

Till exempel har jag tagit bort webb1-2020-12-30 ögonblicksbild från mitt Btrfs-filsystem, monterat på /data katalog. Men den här ögonblicksbilden säkerhetskopieras på den externa enheten, monterad på / ögonblicksbilder katalog. Låt oss återställa denna ögonblicksbild.

$ sudo btrfs subvolume list / snapshots

För att återställa webb1-2020-12-30 ögonblicksbild kör följande kommando från den externa enheten:

$ sudo btrfs skicka / snapshots / web1-2020-12-30 | sudo btrfs motta / data /.ögonblicksbilder

De ögonblicksbild web1-2020-12-30 bör återställas på Btrfs-filsystemet monterat på /data katalog.

Som du kan se webb1-2020-12-30 ögonblicksbild återställs på Btrfs-filsystemet monterat på /data katalog.

$ sudo btrfs subvolume list / data

Och som du kan se innehållet i index.html fil från webb1-2020-12-30 ögonblicksbild. Detta är den första versionen av index.html fil från tidigare.

$ cat / data /.ögonblicksbilder / web1-2020-12-30 / index.html

Slutsats

I den här artikeln lärde du dig att säkerhetskopiera ögonblicksbilder av ditt Btrfs-filsystem till en extern enhet. Du lärde dig också hur du tar stegvisa säkerhetskopior av dina Btrfs-ögonblicksbilder till en extern enhet. Slutligen lärde du dig hur du tar bort befintliga ögonblicksbilder från ett Brtfs-filsystem och återställer ögonblicksbilder från den externa enheten också.

Hur man förbättrar FPS i Linux?
FPS står för Bildrutor per sekund. FPS: s uppgift är att mäta bildfrekvensen i videouppspelningar eller spelprestanda. Med enkla ord betecknas antalet...
De bästa Oculus App Lab-spelen
Om du är Oculus-headsetägare måste du vara förtjust i sidoladdning. Sideladdning är processen för att installera icke-butiksinnehåll på ditt headset. ...
Topp 10 spel att spela på Ubuntu
Windows-plattformen har varit en av de dominerande plattformarna för spel på grund av den enorma andelen spel som utvecklas idag för att stödja Window...