Hvordan lagre diskplass ved hjelp av BTRFS Deduplication

Hvordan lagre diskplass ved hjelp av BTRFS Deduplication
Deduplication er en programvarefunksjon som brukes til å fjerne dupliserte datablokker (overflødige datablokker) fra et filsystem for å lagre diskplasser. BTRFS-filsystemet er et moderne copy-on-write (COW) filsystem som støtter deduplication.

Hvis du trenger å holde mye overflødige data (i.e., File sikkerhetskopier, database) på datamaskinen din, deretter kan kopien-på-skriv (ku) og deduplication-funksjonen i BTRFS-filsystemet lagre en enorm mengde diskplasser.

I denne artikkelen vil jeg vise deg hvordan du kan lagre diskplasser ved å bruke BTRFS Deduplication -funksjonen. 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-filsystem-datakomprimering, må du opprette et BTRFS-filsystem.

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

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

Monter et BTRFS -filsystem:

Lag en katalog /data med følgende kommando:

$ sudo mkdir -v /data

Å montere BTRFS -filsystemet som er opprettet på SDB1 partisjon på /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

Installere deduplikasjonsverktøy på Ubuntu 20.04 LTS:

For å deduplisere et BTRFS -filsystem, må du installere duperemove Program på datamaskinen din.

Hvis du bruker Ubuntu 20.04 LTS, så kan du installere duperemove fra det offisielle pakkelageret til Ubuntu.

Oppdater først Apt Package Repository Cache med følgende kommando:

$ sudo apt oppdatering

Installer duperemove Pakke med følgende kommando:

$ sudo apt install duperemove -y

De duperemove Pakken skal installeres.

Installere deduplikasjonsverktøy på Fedora 33:

For å deduplisere et BTRFS -filsystem, må du installere duperemove Program på datamaskinen din.

Hvis du bruker Fedora 33, kan du installere duperemove Fra det offisielle pakkelageret til Fedora.

Oppdater først DNF Package Repository Cache med følgende kommando:

$ sudo dnf makecache

Installer duperemove Pakke med følgende kommando:

$ sudo dnf installer duperemove

For å bekrefte installasjonen, trykk Y Og trykk deretter .

De duperemove Pakken skal installeres.

Testing deduplication på et BTRFS -filsystem:

I dette avsnittet skal jeg gjøre en enkel test for å vise deg hvordan deduplikasjonsfunksjonen i BTRFS -filsystemet fjerner overflødige data fra filsystemet og lagrer diskplass.

Som du kan se,

  1. Jeg har kopiert en fil QGIS-OSGEO4W-3.14.0-1-setup-x86_64.EXE til /data katalog. Filen er 407 MB i størrelse.
  2. Filen som er lagret på /data Katalogen er 407 MB i størrelse.
  3. Bare filen som konsumeres om 412 MB av diskplass fra BTRFS -filsystemet montert på /data katalog.

Som du kan se,

  1. Jeg har kopiert den samme filen til /data katalog og omdøpt den til QGIS-OSGEO4W-3.14.0-1-setup-x86_64.2.EXE.
  2. Filen som er lagret på /data Katalogen er nå 814 MB i størrelse.
  3. Filene konsumerte om 820 MB av diskplass fra BTRFS -filsystemet montert på /data katalog.

For å utføre deduplikasjonsoperasjonen på BTRFS -filsystemet montert på /data Katalog, kjør følgende kommando:

$ sudo duperemove -dr /data

De overflødige datablokkene fra BTRFS -filsystemet montert på /data Katalogen skal fjernes.

Som du kan se,

  1. Jeg har filene QGIS-OSGEO4W-3.14.0-1-setup-x86_64.EXE og QGIS-OSGEO4W-3.14.0-1-setup-x86_64.2.EXE i /data katalog.
  2. Filen som er lagret på /data Katalogen er nå 814 MB i størrelse.
  3. Filene konsumerte om 412 MB av diskplass fra BTRFS -filsystemet montert på /data katalog.

De duperemove Program fjernet overflødig (duplikat) datablokker fra BTRFS -filsystemet montert på /data katalog og lagret mange diskplasser.

Automatisk montering av et BTRFS -filsystem på oppstart:

For å montere BTRFS -filsystemet du har opprettet, må du kjenne UUID for BTRFS -filsystemet.

Du kan finne UUID av BTRFS -filsystemet montert på /data Katalog med følgende kommando:

$ sudo btrfs filesystem show /data

Som du kan se, er UUID av BTRFS -filsystemet som jeg vil montere ved oppstartstidspunktet E39AC376-90DD-4C39-84D2-E77ABB5E3059. Det vil være annerledes for deg. Så sørg for å erstatte den med din fra nå av.

Åpne /etc/fstab fil med Nano Text Editor som følger:

$ sudo nano /etc /fstab

Skriv inn følgende linje på slutten av /etc/fstab fil:

UUID = E39AC376-90DD-4C39-84D2-E77ABB5E3059 /DATA BTRFS Standards 0 0

MERK: Bytt ut UUID av BTRFS -filsystemet med ditt. Endre alternativet for monteringsalternativet og kompresjonsalgoritmen som du vil.

Når du er ferdig, trykk + X etterfulgt av Y og For å redde /etc/fstab fil.

For at endringene skal tre i kraft, start datamaskinen på nytt med følgende kommando:

$ sudo omstart

Når datamaskinen støvler, skal BTRFS -filsystemet monteres i /Datakatalog, Som du kan se på skjermbildet nedenfor.

$ df -h /data

Automatisk utføre deduplisering ved hjelp av CRON Job:

For å fjerne overflødige data fra BTRFS -filsystemet, må du kjøre duperemove kommando innimellom.

Du kan automatisk kjøre duperemove Kommando time, daglig, ukentlig, månedlig, årlig eller ved oppstartstid ved hjelp av en Cron -jobb.

Først, finn hele banen til duperemove Kommando med følgende kommando:

$ som duperemove

Som du kan se, hele veien til duperemove Kommando er /usr/bin/duperemove. Husk stien slik du trenger den senere.

For å redigere crontab -filen, kjør følgende kommando:

$ sudo crontab -e

Velg en tekstredigerer du liker og trykk .

Jeg vil bruke Nano Text Editor. Så jeg vil skrive inn 1 og trykk .

Crontab -filen skal åpnes.

Å kjøre duperemove kommando på /data Katalog hver time, legg til følgende linje på slutten av crontab -filen.

@Hourly/usr/bin/duperemove -dr/data >>/var/log/duperemove.Logg

Å kjøre duperemove kommando på /data Katalog hver dag, legg til følgende linje på slutten av crontab -filen.

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

Å kjøre duperemove kommando på /data Katalog hver uke, legg til følgende linje på slutten av crontab -filen.

@Weekly/usr/bin/duperemove -dr/data >>/var/log/duperemove.Logg

Å kjøre duperemove kommando på /data Katalog hver måned, legg til følgende linje på slutten av crontab -filen.

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

Å kjøre duperemove kommando på /data Katalog hvert år, legg til følgende linje på slutten av crontab -filen.

@årlig/usr/bin/duperemove -dr/data >>/var/log/duperemove.Logg

Å kjøre duperemove kommando på /data Katalog ved oppstartstid, legg til følgende linje på slutten av crontab -filen.

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

MERK: Jeg skal kjøre duperemove Kommando ved oppstartstid i denne artikkelen.

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

En ny Cron -jobb bør installeres.

For at endringene skal tre i kraft, start datamaskinen på nytt med følgende kommando:

$ sudo omstart

Som duperemove Kommandoen kjører i bakgrunnen, kommandoen vil bli lagret i /var/log/duperemove.Logg fil.

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

Som du kan se, /var/log/duperemove.Logg Filen inneholder duperemove loggdata. Det betyr at Cron -jobben fungerer helt fint.

Konklusjon:

I denne artikkelen har jeg vist deg hvordan du installerer duperemove BRTFS Deduplication Tool på Ubuntu 20.04 LTS og Fedora 33. Jeg har også vist deg hvordan du utfører BTRFS -deduplisering ved å bruke Duperemove -verktøyet og kjøre Duperemove -verktøyet automatisk ved hjelp av en Cron -jobb.