Comment économiser l'espace disque à l'aide de la déduplication BTRFS

Comment économiser l'espace disque à l'aide de la déduplication BTRFS
Deduplication est une fonctionnalité logicielle utilisée pour supprimer les blocs de données en double (blocs de données redondants) à partir d'un système de fichiers pour enregistrer les espaces de disque. Le système de fichiers BTRFS est un système de fichiers moderne de copie-écriture (vache) qui prend en charge la déduplication.

Si vous devez conserver beaucoup de données redondantes (i.e., Sauvegardes de fichiers, base de données) sur votre ordinateur, puis la fonction de copie-écriture (vache) et la fonction de déduplication du système de fichiers BTRFS peut enregistrer une énorme quantité d'espaces disque.

Dans cet article, je vais vous montrer comment enregistrer les espaces de disque à l'aide de la fonction de déduplication BTRFS. Alors, commençons.

Conditions préalables:

Pour essayer les exemples de cet article,

  • Vous devez avoir le système de fichiers BTRFS installé sur votre ordinateur.
  • Vous devez avoir un disque dur ou un SSD avec au moins 1 partition gratuite (de toute taille).

J'ai un disque dur de 20 Go SDB Sur ma machine Ubuntu. J'ai créé 2 partitions sdb1 et sdb2, Sur ce disque dur. J'utiliserai la partition sdb1 dans cet article.

$ sudo lsblk -e7

Votre disque dur ou SSD peut avoir un nom différent de la mienne, les partitions aussi. Alors, assurez-vous de les remplacer par le vôtre à partir de maintenant.

Si vous avez besoin d'aide pour installer le système de fichiers BTRFS sur Ubuntu, consultez mon article Installez et utilisez des btrfs sur Ubuntu 20.04 LTS.

Si vous avez besoin d'aide pour installer le système de fichiers BTRFS sur Fedora, consultez mon article Installer et utiliser BTRFS sur Fedora 33.

Création d'un système de fichiers BTRFS:

Pour expérimenter la compression de données au niveau du système de fichiers BTRFS, vous devez créer un système de fichiers BTRFS.

Pour créer un système de fichiers BTRFS avec l'étiquette données sur le sdb1 partition, exécutez la commande suivante:

$ sudo mkfs.BTRFS -L DATA / DEV / SDB1

Monter un système de fichiers BTRFS:

Créer un répertoire /données avec la commande suivante:

$ sudo mkdir -v / data

Pour monter le système de fichiers BTRFS créé sur le sdb1 partition sur le /données répertoire, exécutez la commande suivante:

$ sudo mont / dev / sdb1 / data

Le système de fichiers BTRFS doit être monté, comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ df -h / données

Installation d'outils de déduplication sur Ubuntu 20.04 LTS:

Pour dédupliquer un système de fichiers BTRFS, vous devez installer le dueremove programme sur votre ordinateur.

Si vous utilisez Ubuntu 20.04 LTS, alors vous pouvez installer dueremove du référentiel officiel de package d'Ubuntu.

Tout d'abord, mettez à jour le cache du référentiel de package APT avec la commande suivante:

$ sudo apt mise à jour

Installer le dueremove Package avec la commande suivante:

$ sudo apt install duperemove -y

Le dueremove Le package doit être installé.

Installation d'outils de déduplication sur Fedora 33:

Pour dédupliquer un système de fichiers BTRFS, vous devez installer le dueremove programme sur votre ordinateur.

Si vous utilisez Fedora 33, alors vous pouvez installer dueremove à partir du référentiel officiel de Fedora.

Tout d'abord, mettez à jour le cache du référentiel de package DNF avec la commande suivante:

$ sudo dnf makecache

Installer le dueremove Package avec la commande suivante:

$ sudo dnf installer duperemove

Pour confirmer l'installation, appuyez sur Y Et puis appuyez sur .

Le dueremove Le package doit être installé.

Test de déduplication sur un système de fichiers BTRFS:

Dans cette section, je vais faire un test simple pour vous montrer comment la fonction de déduplication du système de fichiers BTRFS supprime les données redondantes du système de fichiers et enregistre l'espace disque.

Comme tu peux le voir,

  1. J'ai copié un fichier Qgis-OSGEO4W-3.14.0-1-setup-x86_64.exe au /données annuaire. Le fichier est 407 MB en taille.
  2. Le fichier stocké sur le /données Le répertoire mesure 407 Mo.
  3. Seul le fichier consommé 412 MB de l'espace disque du système de fichiers BTRFS monté sur le /données annuaire.

Comme tu peux le voir,

  1. J'ai copié le même fichier dans le /données répertoire et renommé Qgis-OSGEO4W-3.14.0-1-setup-x86_64.2.exe.
  2. Le fichier stocké sur le /données Le répertoire est maintenant 814 MB en taille.
  3. Les fichiers consommés 820 Mb de l'espace disque du système de fichiers BTRFS monté sur le /données annuaire.

Pour effectuer l'opération de déduplication sur le système de fichiers BTRFS monté sur le /données répertoire, exécutez la commande suivante:

$ sudo Duperemove -Dr / Data

Les données redondantes bloquent le système de fichiers BTRFS monté sur le /données Le répertoire doit être supprimé.

Comme tu peux le voir,

  1. J'ai les fichiers Qgis-OSGEO4W-3.14.0-1-setup-x86_64.exe et Qgis-OSGEO4W-3.14.0-1-setup-x86_64.2.exe dans /données annuaire.
  2. Le fichier stocké sur le /données Le répertoire est maintenant 814 MB en taille.
  3. Les fichiers consommés 412 MB de l'espace disque du système de fichiers BTRFS monté sur le /données annuaire.

Le dueremove Programme supprimé les blocs de données redondants (en double) du système de fichiers BTRFS monté sur le /données répertoire et enregistré beaucoup d'espaces disques.

Montant automatiquement un système de fichiers BTRFS sur le démarrage:

Pour monter le système de fichiers BTRFS que vous avez créé, vous devez connaître l'UUID du système de fichiers BTRFS.

Vous pouvez trouver l'UUID du système de fichiers BTRFS monté sur le /données Répertoire avec la commande suivante:

Système de fichiers $ sudo btrfs affiche / données

Comme vous pouvez le voir, le système de fichiers UUID du btrfs que je souhaite monter au démarrage est E39AC376-90DD-4C39-84D2-E77ABB5E3059. Ce sera différent pour vous. Alors, assurez-vous de le remplacer par le vôtre à partir de maintenant.

Ouvrir le / etc / fstab fichier avec le nano Éditeur de texte comme suit:

$ sudo nano / etc / fstab

Tapez la ligne suivante à la fin du / etc / fstab déposer:

Uuid = e39ac376-90dd-4c39-84d2-e77abb5e3059 / data btrfs par défaut 0 0

NOTE: Remplacez le système de fichiers UUID du BTRFS par le vôtre. Aussi, modifiez l'option de montage et l'algorithme de compression comme vous le souhaitez.

Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour sauver le / etc / fstab déposer.

Pour que les modifications prennent effet, redémarrez votre ordinateur avec la commande suivante:

$ sudo redémarrer

Une fois que votre ordinateur bottait, le système de fichiers BTRFS doit être monté dans le / Répertoire de données, Comme vous pouvez le voir dans la capture d'écran ci-dessous.

$ df -h / données

Effectuez automatiquement la déduplication à l'aide de Cron Job:

Pour supprimer les données redondantes du système de fichiers BTRFS, vous devez exécuter le dueremove commander de temps en temps.

Vous pouvez exécuter automatiquement le dueremove Command horaire, quotidien, hebdomadaire, mensuel, annuel ou au démarrage en utilisant un travail cron.

Tout d'abord, trouvez le chemin complet du dueremove commande avec la commande suivante:

$ quel duceremove

Comme vous pouvez le voir, le chemin complet du dueremove la commande est / usr / bin / duperemove. Rappelez-vous le chemin comme vous en aurez besoin plus tard.

Pour modifier le fichier crontab, exécutez la commande suivante:

$ sudo crontab -e

Sélectionnez un éditeur de texte que vous aimez et appuyez sur .

J'utiliserai le nano éditeur de texte. Alors, je vais taper 1 et presser .

Le fichier crontab doit être ouvert.

Pour exécuter le dueremove commande sur le /données Répertoire toutes les heures, ajoutez la ligne suivante à la fin du fichier Crontab.

@Hourly / USR / bin / DupereMove -Dr / Data >> / var / log / Duperemove.enregistrer

Pour exécuter le dueremove commande sur le /données Répertoire tous les jours, ajoutez la ligne suivante à la fin du fichier Crontab.

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

Pour exécuter le dueremove commande sur le /données Répertoire chaque semaine, ajoutez la ligne suivante à la fin du fichier Crontab.

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

Pour exécuter le dueremove commande sur le /données Répertoire chaque mois, ajoutez la ligne suivante à la fin du fichier crontab.

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

Pour exécuter le dueremove commande sur le /données Répertoire chaque année, ajoutez la ligne suivante à la fin du fichier crontab.

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

Pour exécuter le dueremove commande sur le /données Répertoire à l'heure du démarrage, ajoutez la ligne suivante à la fin du fichier crontab.

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

NOTE: Je vais exécuter le dueremove Commande à l'heure du démarrage dans cet article.

Une fois que vous avez terminé, appuyez sur + X suivie par Y et Pour enregistrer le fichier crontab.

Un nouveau travail cron doit être installé.

Pour que les modifications prennent effet, redémarrez votre ordinateur avec la commande suivante:

$ sudo redémarrer

Comme le dueremove la commande s'exécute en arrière-plan, la sortie de la commande sera stockée dans le / var / log / Duperemove.enregistrer déposer.

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

Comme vous pouvez le voir, le / var / log / Duperemove.enregistrer Le fichier contient le dueremove journaliser les données. Cela signifie que le travail cron fonctionne très bien.

Conclusion:

Dans cet article, je vous ai montré comment installer le dueremove Outil de déduplication BRTFS sur Ubuntu 20.04 LTS et Fedora 33. Je vous ai également montré comment effectuer une déduplication BTRFS à l'aide de l'outil Duperemove et exécuter l'outil Duperemove à l'aide d'un travail cron.