Hvis du har brug for at beholde en masse overflødige data (i.e., filsikkerhedskopier, database) på din computer, så kan Copy-on-Write (CoW) og deduplikationsfunktionen i Btrfs-filsystemet spare en enorm mængde diskpladser.
I denne artikel vil jeg vise dig, hvordan du gemmer diskplads ved hjælp af Btrfs deduplikationsfunktionen. Så lad os komme i gang.
Forudsætninger:
For at prøve eksemplerne på denne artikel,
- Du skal have Btrfs-filsystemet installeret på din computer.
- Du skal have en harddisk eller SSD med mindst 1 gratis partition (af enhver størrelse).
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 datakomprimering på Btrfs-filsystemniveau 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
Monter et Btrfs-filsystem:
Opret en mappe /data med følgende kommando:
$ sudo mkdir -v / data
At montere Btrfs-filsystemet oprettet på sdb1 partition på /data bibliotek, kør følgende kommando:
$ sudo mount / dev / sdb1 / data
Btrfs-filsystemet skal monteres, som du kan se i skærmbilledet nedenfor.
$ df -h / data
Installation af dedupliceringsværktøjer på Ubuntu 20.04 LTS:
For at deduplicere et Btrfs-filsystem skal du installere duperemove program på din computer.
Hvis du bruger Ubuntu 20.04 LTS, så kan du installere duperemove fra den officielle pakkeopbevaring af Ubuntu.
Opdater først APT-pakkeopbevaringscachen med følgende kommando:
$ sudo apt opdatering
Installer duperemove pakke med følgende kommando:
$ sudo apt installere duperemove -y
Det duperemove pakken skal installeres.
Installation af dedupliceringsværktøjer på Fedora 33:
For at deduplicere et Btrfs-filsystem skal du installere duperemove program på din computer.
Hvis du bruger Fedora 33, kan du installere duperemove fra Fedoras officielle pakkelager.
Opdater først DNF-pakkeopbevaringscachen med følgende kommando:
$ sudo dnf makecache
Installer duperemove pakke med følgende kommando:
$ sudo dnf installerer duperemove
Tryk på for at bekræfte installationen Y og tryk derefter på
Det duperemove pakken skal installeres.
Test af deduplikering på et Btrfs-filsystem:
I dette afsnit vil jeg lave en simpel test for at vise dig, hvordan deduplikationsfunktionen i Btrfs-filsystemet fjerner overflødige data fra filsystemet og sparer diskplads.
Som du kan se,
- Jeg har kopieret en fil QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.exe til /data vejviser. Filen er 407 MB i størrelse.
- Filen gemt på /data bibliotek er 407 MB i størrelse.
- Kun filen forbruges ca 412 MB diskplads fra Btrfs - filsystemet monteret på /data vejviser.
Som du kan se,
- Jeg har kopieret den samme fil til /data mappe og omdøbt det til QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.exe.
- Filen er gemt på /data mappe er nu 814 MB i størrelse.
- Filerne forbruges ca 820 MB diskplads fra Btrfs - filsystemet monteret på /data vejviser.
For at udføre dedupliceringsoperationen på Btrfs-filsystemet monteret på /data bibliotek, kør følgende kommando:
$ sudo duperemove -dr / data
De overflødige datablokke fra Btrfs-filsystemet monteret på /data mappe skal fjernes.
Som du kan se,
- Jeg har filerne QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.exe og QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.exe i /data vejviser.
- Filen er gemt på /data mappe er nu 814 MB i størrelse.
- Filerne forbruges ca 412 MB diskplads fra Btrfs - filsystemet monteret på /data vejviser.
Det duperemove programmet fjernede overflødige (duplikat) datablokke fra Btrfs filsystemet monteret på /data bibliotek og gemt en masse diskpladser.
Montering automatisk af et Btrfs-filsystem ved opstart:
For at montere det Btrfs-filsystem, du har oprettet, skal du kende BTRfs-filsystemets UUID.
Du kan finde UUID for Btrfs-filsystemet monteret på /data bibliotek med følgende kommando:
$ sudo btrfs filsystem show / data
Som du kan se, er UUID for Btrfs-filsystemet, som jeg vil montere ved opstartstid e39ac376-90dd-4c39-84d2-e77abb5e3059. Det vil være anderledes for dig. Så sørg for at erstatte den med din fra nu af.
Åbn / etc / fstab fil med nano teksteditor som følger:
$ sudo nano / etc / fstab
Skriv følgende linje i slutningen af / etc / fstab fil:
UUID = e39ac376-90dd-4c39-84d2-e77abb5e3059 / data btrfs standard 0 0BEMÆRK: Udskift UUID for Btrfs-filsystemet med dit. Skift også monteringsindstillingen og komprimeringsalgoritmen, som du vil.
Når du er færdig, skal du trykke på
For at ændringerne skal træde i kraft, skal du genstarte din computer med følgende kommando:
$ sudo genstart
Når din computer er startet, skal Btrfs-filsystemet være monteret i / datakatalog, som du kan se på skærmbilledet nedenfor.
$ df -h / data
Udfør automatisk deduplicering ved hjælp af Cron Job:
For at fjerne overflødige data fra Btrfs-filsystemet skal du køre duperemove kommando en gang imellem.
Du kan automatisk køre duperemove kommando hver time, dagligt, ugentligt, månedligt, årligt eller ved opstartstid ved hjælp af et cron-job.
Find først hele stien til duperemove kommando med følgende kommando:
$ som duperemove
Som du kan se, er den fulde sti for duperemove kommando er / usr / bin / duperemove. Husk stien, da du får brug for den senere.
For at redigere crontab-filen skal du køre følgende kommando:
$ sudo crontab -e
Vælg en teksteditor, du kan lide, og tryk på
Jeg vil bruge nano teksteditor. Så jeg skriver 1 og tryk på
Crontab-filen skal åbnes.
At køre duperemove kommando på /data mappe hver time, tilføj følgende linje i slutningen af crontab-filen.
@hourly / usr / bin / duperemove -dr / data >> / var / log / duperemove.log
At køre duperemove kommando på /data katalog hver dag, tilføj følgende linje i slutningen af crontab-filen.
@daily / usr / bin / duperemove -dr / data >> / var / log / duperemove.log
At køre duperemove kommando på /data bibliotek hver uge, tilføj følgende linje i slutningen af crontab-filen.
@weekly / usr / bin / duperemove -dr / data >> / var / log / duperemove.log
At køre duperemove kommando på /data mappe hver måned, tilføj følgende linje i slutningen af crontab-filen.
@monthly / usr / bin / duperemove -dr / data >> / var / log / duperemove.log
At køre duperemove kommando på /data katalog hvert år, tilføj følgende linje i slutningen af crontab-filen.
@ årligt / usr / bin / duperemove -dr / data >> / var / log / duperemove.log
At køre duperemove kommando på /data katalog ved opstartstid, tilføj følgende linje i slutningen af crontab-filen.
@reboot / usr / bin / duperemove -dr / data >> / var / log / duperemove.log
BEMÆRK: Jeg kører duperemove kommando ved opstartstid i denne artikel.
Når du er færdig, skal du trykke på
Et nyt cron-job skal installeres.
For at ændringerne skal træde i kraft, skal du genstarte din computer med følgende kommando:
$ sudo genstart
Som den duperemove kommandoen kører i baggrunden, vil output fra kommandoen blive gemt i / var / log / duperemove.log fil.
$ sudo ls -lh / var / log / duperemove *
Som du kan se, er / var / log / duperemove.log filen indeholder duperemove log data. Det betyder, at cron-jobbet fungerer fint.
Konklusion:
I denne artikel har jeg vist dig, hvordan du installerer duperemove Brtfs dedupliseringsværktøj på Ubuntu 20.04 LTS og Fedora 33. Jeg har også vist dig, hvordan du udfører Btrfs-deduplicering ved hjælp af duperemove-værktøjet og kører duperemove-værktøjet automatisk ved hjælp af et cron-job.