Btrfs

Hur man sparar diskutrymme med hjälp av Btrfs-deduplicering

Hur man sparar diskutrymme med hjälp av Btrfs-deduplicering
Deduplication är en mjukvarufunktion som används för att ta bort dubbletter (redundanta datablock) från ett filsystem för att spara diskutrymme. Btrfs-filsystemet är ett modernt CoW-filsystem som stöder deduplicering.

Om du behöver behålla mycket överflödig data (i.e., säkerhetskopior av filer, databas) på din dator, då kan Copy-on-Write (CoW) och dedupliceringsfunktionen i Btrfs-filsystemet spara en enorm mängd diskutrymme.

I den här artikeln kommer jag att visa dig hur du sparar diskutrymme med hjälp av Btrfs dedupliceringsfunktion. Så, låt oss komma igång.

Förutsättningar:

För att testa exemplen i den här artikeln,

Jag har en 20 GB hårddisk sdb på min Ubuntu-maskin. Jag har skapat två partitioner sdb1 och sdb2, på den här hårddisken. Jag kommer att använda partitionen sdb1 i den här artikeln.

$ sudo lsblk -e7

Din hårddisk eller SSD kan ha ett annat namn än mitt, så kommer partitionerna också att göra. Så se till att ersätta dem med din från och med nu.

Om du behöver hjälp med att installera Btrfs-filsystemet på Ubuntu, kolla in min artikel Installera och använd Btrfs på Ubuntu 20.04 LTS.

Om du behöver hjälp med att installera Btrfs-filsystemet på Fedora, kolla in min artikel Installera och använd Btrfs på Fedora 33.

Skapa ett Btrfs-filsystem:

För att experimentera med Btrfs-datakomprimering på filsystemnivå måste du skapa ett Btrfs-filsystem.

Att skapa ett Btrfs-filsystem med etiketten datasdb1 partition, kör följande kommando:

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

Montera ett Btrfs-filsystem:

Skapa en katalog /data med följande kommando:

$ sudo mkdir -v / data

För att montera Btrfs-filsystemet som skapats på sdb1 partition på /data katalog, kör följande kommando:

$ sudo mount / dev / sdb1 / data

Btrfs-filsystemet ska monteras, som du kan se på skärmdumpen nedan.

$ df -h / data

Installera dedupliceringsverktyg på Ubuntu 20.04 LTS:

För att deduplicera ett Btrfs-filsystem måste du installera duperemove programmet på din dator.

Om du använder Ubuntu 20.04 LTS, då kan du installera duperemove från det officiella paketförvaret för Ubuntu.

Uppdatera först APT-paketets förvarscache med följande kommando:

$ sudo apt uppdatering

Installera duperemove paket med följande kommando:

$ sudo apt installera duperemove -y

De duperemove paketet ska installeras.

Installera dedupliceringsverktyg på Fedora 33:

För att deduplicera ett Btrfs-filsystem måste du installera duperemove programmet på din dator.

Om du använder Fedora 33 kan du installera duperemove från det officiella paketförvaret för Fedora.

Uppdatera först DNF-paketförvarets cache med följande kommando:

$ sudo dnf makecache

Installera duperemove paket med följande kommando:

$ sudo dnf installera duperemove

För att bekräfta installationen, tryck på Y och tryck sedan på .

De duperemove paketet ska installeras.

Testa deduplicering på ett Btrfs-filsystem:

I det här avsnittet ska jag göra ett enkelt test för att visa dig hur dedupliceringsfunktionen i Btrfs-filsystemet tar bort överflödiga data från filsystemet och sparar diskutrymme.

Som du kan se,

  1. Jag har kopierat en fil QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.exe till /data katalog. Filen är 407 MB i storlek.
  2. Filen lagrad på /data katalogen är 407 MB stor.
  3. Endast filen konsumeras ungefär 412 MB diskutrymme från Btrfs - filsystemet monterat på /data katalog.

Som du kan se,

  1. Jag har kopierat samma fil till /data katalogen och döpte den till QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.exe.
  2. Filen lagrad på /data katalog är nu 814 MB i storlek.
  3. Filerna konsumeras ungefär 820 MB diskutrymme från Btrfs - filsystemet monterat på /data katalog.

För att utföra deduplicering på Btrfs-filsystemet monterat på /data katalog, kör följande kommando:

$ sudo duperemove -dr / data

De överflödiga datablocken från Btrfs-filsystemet monterade på /data katalogen ska tas bort.

Som du kan se,

  1. Jag har filerna QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.exe och QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.exe i /data katalog.
  2. Filen lagrad på /data katalog är nu 814 MB i storlek.
  3. Filerna konsumeras ungefär 412 MB diskutrymme från Btrfs - filsystemet monterat på /data katalog.

De duperemove programmet tog bort överflödiga (dubbletter) datablock från Btrfs-filsystemet monterat på /data katalogen och sparade en hel del diskutrymme.

Montera automatiskt ett Btrfs-filsystem vid start:

För att montera det Btrfs-filsystem du har skapat, måste du känna till UUID för Btrfs-filsystemet.

Du hittar UUID för Btrfs-filsystemet monterat på /data katalog med följande kommando:

$ sudo btrfs filsystemshow / data

Som du kan se är UUID för Btrfs-filsystemet som jag vill montera vid starttid e39ac376-90dd-4c39-84d2-e77abb5e3059. Det kommer att vara annorlunda för dig. Så se till att ersätta den med din från och med nu.

Öppna / etc / fstab fil med nano textredigerare enligt följande:

$ sudo nano / etc / fstab

Skriv in följande rad i slutet av / etc / fstab fil:

UUID = e39ac376-90dd-4c39-84d2-e77abb5e3059 / data btrfs standard 0 0

NOTERA: Byt ut UUID för Btrfs-filsystemet mot ditt. Ändra också monteringsalternativet och kompressionsalgoritmen som du vill.

När du är klar trycker du på + X följd av Y och för att spara / etc / fstab fil.

För att ändringarna ska träda i kraft startar du om datorn med följande kommando:

$ sudo omstart

När din dator startar bör Btrfs-filsystemet monteras i / datakatalog, som du kan se på skärmdumpen nedan.

$ df -h / data

Utför automatiskt deduplicering med Cron Job:

För att ta bort överflödig data från Btrfs-filsystemet måste du köra duperemove kommando då och då.

Du kan automatiskt köra duperemove kommando varje timme, dagligen, veckovis, månadsvis, årligen eller vid start med ett cron-jobb.

Först, hitta hela vägen för duperemove kommando med följande kommando:

$ som duperemove

Som du kan se, hela vägen för duperemove kommandot är / usr / bin / duperemove. Kom ihåg vägen eftersom du kommer att behöva den senare.

För att redigera crontab-filen, kör följande kommando:

$ sudo crontab -e

Välj en textredigerare du gillar och tryck på .

Jag kommer att använda nano textredigerare. Så jag skriver in 1 och tryck .

Crontab-filen ska öppnas.

Att köra duperemove kommando på /data katalog varje timme, lägg till följande rad i slutet av crontab-filen.

@hourly / usr / bin / duperemove -dr / data >> / var / log / duperemove.logga

Att köra duperemove kommando på /data katalog varje dag, lägg till följande rad i slutet av crontab-filen.

@daily / usr / bin / duperemove -dr / data >> / var / log / duperemove.logga

Att köra duperemove kommando på /data katalog varje vecka, lägg till följande rad i slutet av crontab-filen.

@weekly / usr / bin / duperemove -dr / data >> / var / log / duperemove.logga

Att köra duperemove kommando på /data katalog varje månad, lägg till följande rad i slutet av crontab-filen.

@monthly / usr / bin / duperemove -dr / data >> / var / log / duperemove.logga

Att köra duperemove kommando på /data katalog varje år, lägg till följande rad i slutet av crontab-filen.

@yearly / usr / bin / duperemove -dr / data >> / var / log / duperemove.logga

Att köra duperemove kommando på /data katalog vid starttid, lägg till följande rad i slutet av crontab-filen.

@reboot / usr / bin / duperemove -dr / data >> / var / log / duperemove.logga

NOTERA: Jag kommer att köra duperemove kommando vid starttid i den här artikeln.

När du är klar trycker du på + X följd av Y och för att spara crontab-filen.

Ett nytt cron-jobb ska installeras.

För att ändringarna ska träda i kraft startar du om datorn med följande kommando:

$ sudo omstart

Som den duperemove kommandot körs i bakgrunden, kommer kommandot att lagras i / var / log / duperemove.logga fil.

$ sudo ls -lh / var / log / duperemove *

Som du kan se / var / log / duperemove.logga filen innehåller duperemove logga data. Det betyder att cron-jobbet fungerar bra.

Slutsats:

I den här artikeln har jag visat dig hur du installerar duperemove Brtfs dedupliceringsverktyg på Ubuntu 20.04 LTS och Fedora 33. Jag har också visat dig hur du utför Btrfs-deduplicering med duperemove-verktyget och kör duperemove-verktyget automatiskt med ett cron-jobb.

Installera senaste Dolphin Emulator för Gamecube & Wii på Linux
Dolphin Emulator låter dig spela dina valda Gamecube & Wii-spel på Linux Personal Computers (PC). Eftersom Dolphin Emulator är en fritt tillgänglig o...
Hur man använder GameConqueror Cheat Engine i Linux
Artikeln täcker en guide om hur du använder GameConqueror-fuskmotorn i Linux. Många användare som spelar spel på Windows använder ofta applikationen "...
Bästa spelkonsolemulatorer för Linux
Den här artikeln listar populära spelkonsolemuleringsprogram som finns tillgängliga för Linux. Emulation är ett mjukvarukompatibilitetsskikt som emule...