Btrfs

Schijfruimte besparen met Btrfs-deduplicatie

Schijfruimte besparen met Btrfs-deduplicatie
Deduplicatie is een softwarefunctie die wordt gebruikt om dubbele datablokken (redundante datablokken) uit een bestandssysteem te verwijderen om schijfruimte te besparen. Het Btrfs-bestandssysteem is een modern Copy-on-Write (CoW) bestandssysteem dat deduplicatie ondersteunt.

Als u veel overtollige gegevens moet bewaren (i.e., bestandsback-ups, database) op uw computer, dan kan de functie Copy-on-Write (CoW) en deduplicatie van het Btrfs-bestandssysteem een ​​enorme hoeveelheid schijfruimte besparen.

In dit artikel laat ik je zien hoe je schijfruimte kunt besparen met de Btrfs-deduplicatiefunctieplication. Dus laten we beginnen.

Vereisten:

Om de voorbeelden van dit artikel uit te proberen,

Ik heb een harde schijf van 20 GB sdb op mijn Ubuntu-machine. Ik heb 2 partities gemaakt sdb1 en sdb2, op deze harde schijf. Ik zal de partitie gebruiken sdb1 in dit artikel.

$ sudo lsblk -e7

Uw harde schijf of SSD heeft mogelijk een andere naam dan de mijne, net als de partities. Dus zorg ervoor dat je ze vanaf nu vervangt door die van jou.

Als je hulp nodig hebt bij het installeren van het Btrfs-bestandssysteem op Ubuntu, bekijk dan mijn artikel Installeer en gebruik Btrfs op Ubuntu 20.04 LTS.

Als je hulp nodig hebt bij het installeren van het Btrfs-bestandssysteem op Fedora, bekijk dan mijn artikel Installeer en gebruik Btrfs op Fedora 33.

Een Btrfs-bestandssysteem maken:

Om te experimenteren met gegevenscompressie op Btrfs-bestandssysteemniveau, moet u een Btrfs-bestandssysteem maken.

Een Btrfs-bestandssysteem maken met het label gegevens op de sdb1 partitie, voer de volgende opdracht uit:

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

Koppel een Btrfs-bestandssysteem:

Een map maken /gegevens met het volgende commando:

$ sudo mkdir -v /data

Om het Btrfs-bestandssysteem te koppelen dat is gemaakt op de sdb1 partitie op de /gegevens map, voer de volgende opdracht uit:

$ sudo mount /dev/sdb1 /data

Het Btrfs-bestandssysteem moet worden aangekoppeld, zoals je kunt zien in de onderstaande schermafbeelding.

$ df -h /gegevens

Deduplicatietools installeren op Ubuntu 20.04 LTS:

Om een ​​Btrfs-bestandssysteem te dedupliceren, moet u de duperverwijderen programma op uw computer.

Als u Ubuntu 20 . gebruikt.04 LTS, dan kun je installeren duperverwijderen uit de officiële pakketrepository van Ubuntu.

Werk eerst de cache van de APT-pakketrepository bij met de volgende opdracht:

$ sudo apt-update

Installeer de duperverwijderen pakket met het volgende commando:

$ sudo apt install duperemove -y

De duperverwijderen pakket moet worden geïnstalleerd.

Deduplicatietools installeren op Fedora 33:

Om een ​​Btrfs-bestandssysteem te dedupliceren, moet u de duperverwijderen programma op uw computer.

Als je Fedora 33 gebruikt, dan kun je duperverwijderen van de officiële pakketrepository van Fedora.

Werk eerst de cache van de DNF-pakketrepository bij met de volgende opdracht:

$ sudo dnf makecache

Installeer de duperverwijderen pakket met het volgende commando:

$ sudo dnf installeer duperemove

Om de installatie te bevestigen, drukt u op Y en druk vervolgens op .

De duperverwijderen pakket moet worden geïnstalleerd.

Deduplicatie testen op een Btrfs-bestandssysteem:

In deze sectie ga ik een eenvoudige test doen om u te laten zien hoe de deduplicatiefunctie van het Btrfs-bestandssysteem overtollige gegevens uit het bestandssysteem verwijdert en schijfruimte bespaart.

Zoals je kunt zien,

  1. Ik heb een bestand gekopieerd QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.exe naar de /gegevens map. Het bestand is 407 MB in grootte.
  2. Het bestand dat is opgeslagen op de /gegevens map is 407 MB groot.
  3. Alleen het bestand verbruikt ongeveer 412 MB schijfruimte van het Btrfs-bestandssysteem gemonteerd op de /gegevens map.

Zoals je kunt zien,

  1. Ik heb hetzelfde bestand gekopieerd naar de /gegevens map en hernoemde het naar QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.exe.
  2. Het bestand dat is opgeslagen op de /gegevens map is nu 814 MB in grootte.
  3. De bestanden verbruikt ongeveer 820 MB schijfruimte van het Btrfs-bestandssysteem gemonteerd op de /gegevens map.

Om de deduplicatiebewerking uit te voeren op het Btrfs-bestandssysteem dat is aangekoppeld op de /gegevens map, voer de volgende opdracht uit:

$ sudo duperemove -dr /data

De redundante datablokken van het Btrfs-bestandssysteem gemonteerd op de /gegevens map moet worden verwijderd.

Zoals je kunt zien,

  1. Ik heb de bestanden QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.exe en QGIS-OSGeo4W-3.14.0-1-Setup-x86_64.2.exe in /gegevens map.
  2. Het bestand dat is opgeslagen op de /gegevens map is nu 814 MB in grootte.
  3. De bestanden verbruikt ongeveer 412 MB schijfruimte van het Btrfs-bestandssysteem gemonteerd op de /gegevens map.

De duperverwijderen programma heeft overtollige (dubbele) datablokken verwijderd uit het Btrfs-bestandssysteem dat op de /gegevens map en bespaarde veel schijfruimte.

Automatisch een Btrfs-bestandssysteem koppelen bij opstarten:

Om het Btrfs-bestandssysteem dat u hebt gemaakt te mounten, moet u de UUID van het Btrfs-bestandssysteem kennen.

U kunt de UUID van het Btrfs-bestandssysteem vinden op de /gegevens map met het volgende commando:

$ sudo btrfs bestandssysteem show /data

Zoals je kunt zien, is de UUID van het Btrfs-bestandssysteem dat ik tijdens het opstarten wil koppelen: e39ac376-90dd-4c39-84d2-e77abb5e3059. Het zal voor jou anders zijn. Dus zorg ervoor dat je het vanaf nu vervangt door de jouwe.

Open de /etc/fstab bestand met de nano tekstverwerker als volgt:

$ sudo nano /etc/fstab

Typ de volgende regel aan het einde van de /etc/fstab het dossier:

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

OPMERKING: Vervang de UUID van het Btrfs-bestandssysteem door die van u. Wijzig ook de mount-optie en het compressie-algoritme zoals u wilt.

Als u klaar bent, drukt u op + X gevolgd door Y en om de te redden /etc/fstab het dossier.

Om de wijzigingen door te voeren, start u uw computer opnieuw op met de volgende opdracht:

$ sudo opnieuw opstarten

Zodra uw computer opstart, moet het Btrfs-bestandssysteem worden gemount in de /datamap, zoals je kunt zien in de onderstaande schermafbeelding.

$ df -h /gegevens

Automatisch deduplicatie uitvoeren met Cron Job:

Om overtollige gegevens uit het Btrfs-bestandssysteem te verwijderen, moet u de duperverwijderen commando af en toe.

U kunt automatisch de duperverwijderen commando per uur, dagelijks, wekelijks, maandelijks, jaarlijks of tijdens het opstarten met behulp van een cron-taak.

Zoek eerst het volledige pad van de duperverwijderen commando met het volgende commando:

$ die duperemove

Zoals je kunt zien, is het volledige pad van de duperverwijderen commando is /usr/bin/duperemove. Onthoud het pad, want je hebt het later nodig.

Voer de volgende opdracht uit om het crontab-bestand te bewerken:

$ sudo crontab -e

Selecteer een teksteditor die je leuk vindt en druk op .

ik zal de gebruiken nano tekstverwerker. Dus ik typ in 1 en druk op .

Het crontab-bestand moet worden geopend.

om de uit te voeren duperverwijderen commando op de /gegevens directory elk uur, voeg de volgende regel toe aan het einde van het crontab-bestand:.

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

om de . te runnen duperverwijderen commando op de /gegevens directory elke dag, voeg de volgende regel toe aan het einde van het crontab-bestand:.

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

om de . te runnen duperverwijderen commando op de /gegevens directory elke week, voeg de volgende regel toe aan het einde van het crontab-bestand:.

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

om de . te runnen duperverwijderen commando op de /gegevens directory elke maand, voeg de volgende regel toe aan het einde van het crontab-bestand:.

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

om de uit te voeren duperverwijderen commando op de /gegevens map elk jaar, voeg de volgende regel toe aan het einde van het crontab-bestand:.

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

om de . te runnen duperverwijderen commando op de /gegevens map tijdens het opstarten, voeg de volgende regel toe aan het einde van het crontab-bestand:.

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

OPMERKING: ik zal het runnen duperverwijderen commando tijdens het opstarten in dit artikel.

Als u klaar bent, drukt u op + X gevolgd door Y en om het crontab-bestand op te slaan.

Er moet een nieuwe cron-taak worden geïnstalleerd.

Om de wijzigingen door te voeren, start u uw computer opnieuw op met de volgende opdracht:

$ sudo opnieuw opstarten

als de duperverwijderen opdracht op de achtergrond wordt uitgevoerd, wordt de uitvoer van de opdracht opgeslagen in de /var/log/duperemove.log het dossier.

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

Zoals je kunt zien, is de /var/log/duperemove.log bestand bevat de duperverwijderen log gegevens. Het betekent dat de cron-job prima werkt.

Conclusie:

In dit artikel heb ik je laten zien hoe je de duperverwijderen Brtfs-deduplicatietool op Ubuntu 20.04 LTS en Fedora 33. Ik heb je ook laten zien hoe je Btrfs-deduplicatie uitvoert met behulp van de duperemove-tool en de duperemove-tool automatisch uitvoert met behulp van een cron-taak.

Top 5 ergonomische computermuisproducten voor Linux
Veroorzaakt langdurig computergebruik pijn in uw pols of vingers?? Heb je last van stijve gewrichten en moet je constant de hand schudden?? Voelt u ee...
Hoe de muis- en touchpad-instellingen te wijzigen met Xinput in Linux
De meeste Linux-distributies worden standaard geleverd met de bibliotheek "libinput" om invoergebeurtenissen op een systeem af te handelen. Het kan in...
Wijs uw muisknoppen anders toe voor verschillende software met X-Mouse Button Control
Misschien heeft u een tool nodig waarmee u de bediening van uw muis kunt veranderen bij elke applicatie die u gebruikt. Als dit het geval is, kunt u e...